Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

[インデックス 17329] ファイルの概要

このコミットは、GoプロジェクトのAUTHORSファイルとCONTRIBUTORSファイルに、Aaron France氏の情報を追加するものです。これは、同氏がGoプロジェクトへの貢献を始めるにあたり、個人Contributor License Agreement (CLA) を締結したことを示すものです。

コミット

commit 7481037707211818a78c546f2d05dd46805d8142
Author: Brad Fitzpatrick <bradfitz@golang.org>
Date:   Mon Aug 19 13:30:31 2013 -0700

    A+C: Aaron France (individual CLA)
    
    Generated by addca.
    
    R=gobot
    CC=golang-dev
    https://golang.org/cl/13073044

GitHub上でのコミットページへのリンク

https://github.com/golang/go/commit/7481037707211818a78c546f2d05dd46805d8142

元コミット内容

AUTHORS      | 1 +
CONTRIBUTORS | 1 +
2 files changed, 2 insertions(+)

diff --git a/AUTHORS b/AUTHORS
index ca89e0066b..6982a4e420 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -8,6 +8,7 @@
 
 # Please keep the list sorted.
 
+Aaron France <aaron.l.france@gmail.com>
 Abhinav Gupta <abhinav.g90@gmail.com>
 Adrian Nos <nos.adrian@gmail.com>
 Adrian O'Grady <elpollouk@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index f8f923b055..d5d85ecc60 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -31,6 +31,7 @@
 
 # Please keep the list sorted.
 
+Aaron France <aaron.l.france@gmail.com>
 Aaron Kemp <kemp.aaron@gmail.com>
 Abhinav Gupta <abhinav.g90@gmail.com>
 Adam Langley <agl@golang.org>

変更の背景

このコミットの背景には、オープンソースプロジェクトにおける貢献者の管理と、知的財産権の明確化という重要な側面があります。Goプロジェクトのような大規模なオープンソースプロジェクトでは、多数の個人や企業がコードベースに貢献します。これらの貢献が法的に適切に扱われるためには、Contributor License Agreement (CLA) の締結が一般的です。

CLAは、貢献者が自身の貢献に対する著作権をプロジェクトの所有者(この場合はGoogleおよびGoプロジェクト)に許諾し、プロジェクトがその貢献を自由に利用、配布、変更できるようにするための法的文書です。これにより、プロジェクトは将来的なライセンス問題や著作権侵害のリスクを回避し、安定した開発を継続できます。

Aaron France氏がGoプロジェクトに貢献を開始するにあたり、個人CLAを締結したため、その事実をプロジェクトの公式な記録であるAUTHORSおよびCONTRIBUTORSファイルに反映させる必要がありました。このコミットは、その記録作業の一環として行われたものです。コミットメッセージにある "Generated by addca." は、おそらくCLAの追加を自動化するツールまたはスクリプトによってこの変更が生成されたことを示唆しています。

前提知識の解説

Contributor License Agreement (CLA)

CLAは、オープンソースプロジェクトにおいて、貢献者がその貢献に対する著作権をプロジェクトの受領者(通常はプロジェクトをホストする財団や企業)に付与するための法的合意です。CLAには主に以下の目的があります。

  1. 著作権の明確化: 貢献されたコードの著作権が誰に帰属し、どのように利用されるかを明確にします。これにより、将来的な著作権紛争のリスクを低減します。
  2. ライセンスの統一性: プロジェクト全体で一貫したライセンス(例: BSDライセンス、MITライセンスなど)の下でコードが提供されることを保証します。貢献者が個別に異なるライセンスを主張することを防ぎます。
  3. 再ライセンスの可能性: プロジェクトの所有者が、将来的にプロジェクトのライセンスを変更する(例: より寛容なライセンスへ移行する)必要がある場合に、貢献されたコードを再ライセンスする権限を持つことを保証します。これは、特に企業がプロジェクトを支援する場合に重要となることがあります。

CLAには「個人CLA」と「企業CLA」の2種類があります。個人CLAは個人が自身の貢献に対して締結するもので、企業CLAは企業が従業員の貢献に対して締結するものです。

AUTHORSファイルとCONTRIBUTORSファイル

多くのオープンソースプロジェクトでは、プロジェクトに貢献した人々を記録するためのテキストファイルが慣習的に存在します。

  • AUTHORSファイル: 主にプロジェクトの主要な作者や、初期からの貢献者、あるいは特に大きな影響を与えた人々をリストアップするために使用されます。このファイルは、プロジェクトの歴史的な記録としての意味合いが強いです。
  • CONTRIBUTORSファイル: プロジェクトに何らかの形で貢献したすべての個人や組織をリストアップするために使用されます。これには、コードのコミットだけでなく、ドキュメントの改善、バグ報告、テストの作成、翻訳など、幅広い貢献が含まれることがあります。このファイルは、コミュニティの広がりと多様性を示す役割も果たします。

これらのファイルは、法的な拘束力を持つものではありませんが、プロジェクトの透明性を高め、貢献者への感謝を示す重要な役割を担っています。また、CLAの締結状況を間接的に示す情報源となることもあります。

技術的詳細

このコミット自体は、Go言語のランタイムやコンパイラ、標準ライブラリといった核心部分のコード変更を伴うものではありません。純粋にプロジェクトのメタデータファイルであるAUTHORSCONTRIBUTORSへのテキスト追加です。

変更内容は以下の通りです。

  • AUTHORSファイルに Aaron France <aaron.l.france@gmail.com> の行を追加。
  • CONTRIBUTORSファイルに Aaron France <aaron.l.france@gmail.com> の行を追加。

これらのファイルは、慣例としてアルファベット順にソートされていることが多く、このコミットでも既存のエントリの間に新しい行が挿入されています。コミットメッセージの "Generated by addca." は、CLAの管理システムが自動的にこれらのファイルを更新したことを示唆しており、手動での編集ミスを防ぐための自動化されたプロセスが存在することを示しています。

このような自動化は、大規模プロジェクトにおいて、多数の貢献者の情報を正確かつ効率的に管理するために不可欠です。

コアとなるコードの変更箇所

このコミットにおける「コアとなるコードの変更箇所」は、Go言語のランタイムやライブラリのソースコードではなく、プロジェクトのメタデータファイルである以下の2つのテキストファイルです。

  • AUTHORS
  • CONTRIBUTORS

具体的には、それぞれのファイルにAaron France氏のメールアドレスを含む一行が追加されています。

コアとなるコードの解説

このコミットには、Go言語の機能や振る舞いを変更するような「コアとなるコード」は含まれていません。変更されたのは、プロジェクトの管理情報の一部であるテキストファイルです。

  • AUTHORSファイル: このファイルは、Goプロジェクトの主要な作者や、プロジェクトの歴史において重要な役割を果たした人々を列挙しています。Aaron France氏がこのリストに追加されたことは、彼がGoプロジェクトに対して重要な貢献を行う意図があり、そのための法的準備(CLAの締結)が完了したことを示しています。
  • CONTRIBUTORSファイル: このファイルは、Goプロジェクトに貢献したすべての個人を列挙しています。コードのコミットだけでなく、バグ報告、ドキュメントの改善、テストの作成など、様々な形の貢献者が含まれます。Aaron France氏がこのリストに追加されたことは、彼がGoプロジェクトの貢献者コミュニティの一員となったことを意味します。

これらのファイルへの追加は、プロジェクトの透明性と、貢献者への適切なクレジット付与という観点から重要です。技術的な機能変更とは異なり、プロジェクトのガバナンスとコミュニティ管理の側面に関わる変更です。

関連リンク

  • GoプロジェクトのCLAに関する情報(一般的なオープンソースプロジェクトのCLAの概念を理解する上で参考になります):
  • Goプロジェクトの公式リポジトリ:

参考にした情報源リンク

  • GitHubコミットページ (コミット内容の直接的な情報源)
  • オープンソースプロジェクトにおけるCLAの一般的な知識 (Web検索による一般的な情報)
  • オープンソースプロジェクトにおけるAUTHORSおよびCONTRIBUTORSファイルの一般的な慣習 (Web検索による一般的な情報)