[インデックス 12804] ファイルの概要
このコミットは、Go言語プロジェクトのCONTRIBUTORS
ファイルに新しい貢献者を追加するものです。具体的には、Aaron Kemp氏がCorporate CLA(企業貢献者ライセンス契約)を締結したため、その記録としてファイルに氏名とメールアドレスが追記されました。
コミット
- コミットハッシュ:
d3a7e5f82d6892c76cf367debc56689273e9325f
- 作者: Robert Griesemer gri@golang.org
- 日付: 2012年3月30日 金曜日 17:51:07 -0700
- コミットメッセージ:
A+C: added Aaron Kemp (Corporate CLA) R=golang-dev, dsymonds CC=golang-dev https://golang.org/cl/5966054
GitHub上でのコミットページへのリンク
https://github.com/golang/go/commit/d3a7e5f82d6892c76cf367debc56689273e9325f
元コミット内容
このコミットは、Go言語プロジェクトの貢献者リストにAaron Kemp氏を追加したことを示しています。コミットメッセージのA+C
は「Added Contributor」を意味し、括弧内の(Corporate CLA)
は、Aaron Kemp氏が個人ではなく企業として貢献者ライセンス契約(CLA)を締結したことを示唆しています。
R=golang-dev, dsymonds
はレビュー担当者を示し、CC=golang-dev
はカーボンコピー(情報共有先)を示しています。https://golang.org/cl/5966054
は、この変更に対応するGerrit Code Reviewシステム上のチェンジリスト(CL)へのリンクです。
変更の背景
オープンソースプロジェクト、特にGoogleが主導するGo言語のような大規模プロジェクトでは、知的財産権の管理が非常に重要です。貢献者がコードを提出する際には、そのコードがプロジェクトのライセンスの下で利用可能であることを保証するために、貢献者ライセンス契約(CLA)への同意が求められます。
このコミットは、Aaron Kemp氏がGoプロジェクトへの貢献を開始するにあたり、Corporate CLAを締結したことを反映しています。Corporate CLAは、個人ではなく企業がその従業員を通じてプロジェクトに貢献する際に使用される契約で、企業が従業員の貢献に対する権利をプロジェクトに付与することを明確にします。これにより、プロジェクトは将来的なライセンス問題や著作権紛争のリスクを軽減できます。
前提知識の解説
CONTRIBUTORSファイル
CONTRIBUTORS
ファイルは、多くのオープンソースプロジェクトで見られる慣習的なファイルで、プロジェクトに貢献した個人の名前や連絡先(通常はメールアドレス)をリストアップしています。このファイルは、プロジェクトの歴史と、誰がその成功に貢献したかを記録する役割を果たします。法的な拘束力を持つものではありませんが、コミュニティへの感謝と透明性を示す重要なドキュメントです。Go言語プロジェクトでは、このファイルは貢献者の氏名をアルファベット順にソートして管理されています。
貢献者ライセンス契約 (Contributor License Agreement, CLA)
CLAは、個人または法人がオープンソースプロジェクトにコードやドキュメントなどの貢献を行う際に、プロジェクトの所有者(または管理団体)との間で締結する法的な契約です。CLAの主な目的は以下の通りです。
- ライセンスの明確化: 貢献されたコードがプロジェクトのライセンス(例: BSDライセンス、MITライセンスなど)の下で再配布、変更、利用されることを許可します。
- 著作権の保証: 貢献者が提出するコードの著作権を所有していること、またはそのコードをプロジェクトに提供する権利を持っていることを保証します。
- 法的リスクの軽減: プロジェクトが将来的に著作権侵害の訴訟に巻き込まれるリスクを軽減します。特に、企業が関与する大規模プロジェクトでは、従業員が業務時間中に作成したコードの著作権が企業に帰属する場合があるため、Corporate CLAが重要になります。
Corporate CLA (企業貢献者ライセンス契約)
Corporate CLAは、個人ではなく企業が署名するCLAの一種です。企業がCorporate CLAに署名することで、その企業の従業員がプロジェクトに貢献したコードは、企業の承認の下でプロジェクトのライセンスに従って利用されることが保証されます。これにより、個々の従業員がそれぞれCLAに署名する手間が省け、企業としての貢献が法的に明確になります。Googleが主導するプロジェクトでは、このようなCLAの運用が一般的です。
技術的詳細
このコミットは、Go言語リポジトリのルートディレクトリにあるCONTRIBUTORS
ファイルに対して行われた、非常に単純なテキスト変更です。Gitの差分(diff)を見ると、ファイルの特定の行に新しいエントリが追加されたことがわかります。
変更の目的は、Aaron Kemp氏をGoプロジェクトの公式な貢献者リストに加えることです。CONTRIBUTORS
ファイルはアルファベット順にソートされているため、新しいエントリは適切な位置に挿入されます。
コアとなるコードの変更箇所
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 9b9e93a467..0da3466e81 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -31,6 +31,7 @@
# Please keep the list sorted.
+Aaron Kemp <kemp.aaron@gmail.com>
Abhinav Gupta <abhinav.g90@gmail.com>
Adam Langley <agl@golang.org>
Adrian O'Grady <elpollouk@gmail.com>
コアとなるコードの解説
上記の差分は、CONTRIBUTORS
ファイルに対する変更を示しています。
--- a/CONTRIBUTORS
と+++ b/CONTRIBUTORS
は、それぞれ変更前のファイルと変更後のファイルを示します。@@ -31,6 +31,7 @@
は、変更がファイルの31行目から始まり、変更前は6行、変更後は7行になったことを示しています。+Aaron Kemp <kemp.aaron@gmail.com>
の行が追加されたことを示しています。この行は、既存の貢献者リストのアルファベット順に従って、Abhinav Gupta
の前に挿入されています。
この変更により、Goプロジェクトの公式な貢献者リストにAaron Kemp氏の名前とメールアドレスが追加され、Corporate CLAの締結が反映されました。
関連リンク
- Go言語のチェンジリスト: https://golang.org/cl/5966054
- Go言語の貢献ガイドライン (CLAに関する情報が含まれる場合があります): https://go.dev/doc/contribute (現在の最新情報)
参考にした情報源リンク
- Contributor License Agreement (CLA) について:
- https://cla.developers.google.com/ (GoogleのCLAページ)
- https://en.wikipedia.org/wiki/Contributor_License_Agreement (Wikipedia)
- Go言語のCONTRIBUTORSファイル:
- https://github.com/golang/go/blob/master/CONTRIBUTORS (GitHub上の現在のファイル)
- Git Diffの読み方:
- https://git-scm.com/docs/git-diff (Git公式ドキュメント)
- Robert Griesemer氏について:
- https://en.wikipedia.org/wiki/Robert_Griesemer (Wikipedia)
- Go言語の共同開発者の一人。
- Gerrit Code Reviewについて:
- https://www.gerritcodereview.com/
- GoogleがGoプロジェクトのコードレビューに利用しているシステム。