[インデックス 16411] ファイルの概要
このコミットは、Goプロジェクトのコントリビューターリストに新しい個人を追加するものです。具体的には、AUTHORS
ファイルとCONTRIBUTORS
ファイルにBrian G. Merrell
氏のエントリが追加されています。これは、彼がGoプロジェクトへの貢献を開始するにあたり、個人貢献者ライセンス契約(Individual CLA)を締結したことを示しています。
コミット
- コミットハッシュ:
1276e507bb9299b0abcf8b94bd8dec291938907d
- 作者:
David Symonds <dsymonds@golang.org>
- コミット日時:
2013年5月27日 月曜日 10:59:34 +1000
GitHub上でのコミットページへのリンク
https://github.com/golang/go/commit/1276e507bb9299b0abcf8b94bd8dec291938907d
元コミット内容
A+C: Brian G. Merrell (individual CLA)
Generated by addca.
R=gobot
CC=golang-dev
https://golang.org/cl/9797044
変更の背景
オープンソースプロジェクト、特にGoogleが関与するプロジェクトでは、貢献者がコードを提出する前に貢献者ライセンス契約(Contributor License Agreement, CLA)に署名することが一般的です。これは、プロジェクトの知的財産権を保護し、将来的なライセンス変更や法的な問題を回避するために行われます。
このコミットは、Brian G. Merrell
氏がGoプロジェクトに貢献するためのIndividual CLAを締結したことを反映しています。CLAが締結されると、その貢献者の名前がプロジェクトのAUTHORS
およびCONTRIBUTORS
ファイルに追加され、正式にプロジェクトの貢献者として認識されるようになります。このプロセスは通常、自動化されたツール(この場合はaddca
)によって行われます。
前提知識の解説
貢献者ライセンス契約 (CLA)
CLAは、個人または企業がオープンソースプロジェクトに貢献する際に、その貢献物の著作権をプロジェクトの所有者(または指定された団体)に譲渡するか、または特定のライセンスの下で使用することを許可する法的な合意書です。これにより、プロジェクトの所有者は、貢献されたコードをプロジェクトのライセンス条件に従って自由に利用、配布、変更する権利を得ます。
Goプロジェクトのような大規模なオープンソースプロジェクトでは、CLAは以下の目的で重要です。
- 知的財産権の明確化: 誰がコードの著作権を所有しているかを明確にし、将来的な紛争を防ぎます。
- ライセンスの柔軟性: プロジェクトのライセンスを変更する必要が生じた場合でも、すべての貢献者から許可を得る手間を省きます。
- 法的な保護: 悪意のあるコードや著作権侵害のコードがプロジェクトに混入するリスクを軽減します。
Goプロジェクトでは、GoogleがCLAを管理しており、貢献者はGoogle Developersのウェブサイトを通じてCLAに署名します。
AUTHORSファイルとCONTRIBUTORSファイル
多くのオープンソースプロジェクトでは、プロジェクトに貢献した人々の名前を記録するために、AUTHORS
やCONTRIBUTORS
といったテキストファイルが使用されます。
AUTHORS
ファイル: 通常、プロジェクトの主要な作者や、特に重要な貢献をした人々の名前が記載されます。CONTRIBUTORS
ファイル: より広範な貢献者、例えばバグ修正、ドキュメントの改善、テストの追加など、様々な形でプロジェクトに貢献したすべての人々の名前が記載されます。
これらのファイルは、貢献者への感謝を示すとともに、プロジェクトの歴史とコミュニティの成長を記録する役割も果たします。
addca
ツール
コミットメッセージに「Generated by addca」とあるように、この変更はaddca
というツールによって生成されたものです。addca
は「add contributor agreement」の略であり、Google内部で使用されるツールで、CLAが締結された際に、自動的にGoリポジトリのAUTHORS
およびCONTRIBUTORS
ファイルに該当する貢献者の情報を追加するために使用されます。これにより、手動での更新ミスを防ぎ、プロセスを効率化します。
技術的詳細
このコミットは、Goプロジェクトのソースコード自体に機能的な変更を加えるものではなく、プロジェクトのメタデータ、具体的には貢献者リストを更新するものです。
変更は以下の2つのファイルに対して行われています。
AUTHORS
: プロジェクトの主要な作者リスト。CONTRIBUTORS
: プロジェクトに貢献したすべての個人のリスト。
これらのファイルは、単なるテキストファイルであり、特定のフォーマットに従って貢献者の名前とメールアドレスが記述されています。addca
ツールは、CLAの締結が確認されると、これらのファイルに新しいエントリを追記します。
コミットメッセージの各行の意味は以下の通りです。
A+C: Brian G. Merrell (individual CLA)
:AUTHORS
とCONTRIBUTORS
ファイルにBrian G. Merrell
氏を追加したことを示し、彼が個人CLAを締結したことを明記しています。Generated by addca.
: この変更がaddca
ツールによって自動生成されたものであることを示します。R=gobot
: レビュー担当者がgobot
であることを示します。gobot
はGoプロジェクトにおける自動化されたレビューボットである可能性があります。CC=golang-dev
: この変更がgolang-dev
メーリングリストにCC(カーボンコピー)されたことを示します。これは、Go開発コミュニティ全体にこの変更が通知されたことを意味します。https://golang.org/cl/9797044
: この変更に対応するGerrit Code Reviewのチェンジリスト(CL)へのリンクです。Goプロジェクトでは、コードレビューにGerritを使用しています。
コアとなるコードの変更箇所
diff --git a/AUTHORS b/AUTHORS
index 822d6f356d..62d8355b42 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -50,6 +50,7 @@ Bjorn Tipling <bjorn.tipling@gmail.com>
Blake Mizerany <blake.mizerany@gmail.com>
Bobby Powers <bobbypowers@gmail.com>
Brian Dellisanti <briandellisanti@gmail.com>
+Brian G. Merrell <bgmerrell@gmail.com>
Brian Ketelsen <bketelsen@gmail.com>
Caine Tighe <arctanofyourface@gmail.com>
Caleb Spare <cespare@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 324a62f380..80b01d8a97 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -90,6 +90,7 @@ Bobby Powers <bobbypowers@gmail.com>
Brad Fitzpatrick <bradfitz@golang.org> <bradfitz@gmail.com>
Brendan O'Dea <bod@golang.org>
Brian Dellisanti <briandellisanti@gmail.com>
+Brian G. Merrell <bgmerrell@gmail.com>
Brian Ketelsen <bketelsen@gmail.com>
Brian Slesinsky <skybrian@google.com>
Caine Tighe <arctanofyourface@gmail.com>
コアとなるコードの解説
上記のdiff
出力は、AUTHORS
ファイルとCONTRIBUTORS
ファイルに対する変更を示しています。
-
AUTHORS
ファイルへの変更:@@ -50,6 +50,7 @@
は、元のファイルでは50行目から6行が変更され、新しいファイルでは50行目から7行に変更されたことを示します。+Brian G. Merrell <bgmerrell@gmail.com>
の行が追加されています。これは、Brian Dellisanti
氏のエントリの直後にBrian G. Merrell
氏の名前とメールアドレスが挿入されたことを意味します。
-
CONTRIBUTORS
ファイルへの変更:@@ -90,6 +90,7 @@
は、元のファイルでは90行目から6行が変更され、新しいファイルでは90行目から7行に変更されたことを示します。+Brian G. Merrell <bgmerrell@gmail.com>
の行が追加されています。これは、Brian Dellisanti
氏のエントリの直後にBrian G. Merrell
氏の名前とメールアドレスが挿入されたことを意味します。
これらの変更は、Brian G. Merrell
氏がGoプロジェクトの正式な貢献者として認識され、その名前がプロジェクトの公式な貢献者リストに記録されたことを明確に示しています。
関連リンク
- Gerrit Code Review チェンジリスト: https://golang.org/cl/9797044
参考にした情報源リンク
- Google Developers - Contributor License Agreement (CLA): https://cla.developers.google.com/
- Go Contribution Guidelines (一般的な情報源として): https://go.dev/doc/contribute (このコミット当時の正確なURLではない可能性がありますが、Goの貢献に関する一般的な情報を提供します)
- Git diffの読み方: https://git-scm.com/docs/git-diff (一般的なGitの知識として)