[インデックス 13883] ファイルの概要
このコミットは、Goプロジェクトの貢献者リストに新しい個人、Andrew Harding氏を追加するものです。具体的には、AUTHORS
ファイルとCONTRIBUTORS
ファイルにAndrew Harding氏の名前とメールアドレスが追記されています。これは、Andrew Harding氏がGoプロジェクトへの貢献を開始するにあたり、個人貢献者ライセンス契約(Individual CLA)を締結したことを示しています。
コミット
- コミットハッシュ:
036640fab79903273ca0f8b24bb5ac3f539f1bfc
- 作者: Adam Langley agl@golang.org
- 日付: 2012年9月20日 木曜日 12:24:36 -0400
- コミットメッセージの要約: A+C: Add Andrew Harding (Individual CLA)
GitHub上でのコミットページへのリンク
https://github.com/golang/go/commit/036640fab79903273ca0f8b24bb5ac3f539f1bfc
元コミット内容
A+C: Add Andrew Harding (Individual CLA)
R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/6544044
変更の背景
このコミットの背景には、オープンソースプロジェクト、特にGoogleが管理するGoプロジェクトにおける貢献者ライセンス契約(CLA: Contributor License Agreement)の要件があります。Goプロジェクトでは、外部の貢献者からのコードを受け入れる前に、その貢献者がCLAに署名することが義務付けられています。これにより、プロジェクトは貢献されたコードを安全に利用・配布する法的権利を確保しつつ、貢献者自身は自身のコードの著作権を保持することができます。
Andrew Harding氏がGoプロジェクトに貢献を開始するにあたり、個人CLAを締結したため、その事実をプロジェクトの公式な貢献者リストに反映させる必要がありました。このコミットは、その手続きの一環として、Andrew Harding氏の名前をAUTHORS
ファイルとCONTRIBUTORS
ファイルに追加することで、彼の正式な貢献者としての地位を記録しています。
前提知識の解説
貢献者ライセンス契約 (CLA: Contributor License Agreement)
CLAは、オープンソースプロジェクトにおいて、外部の貢献者からコードを受け入れる際に使用される法的な合意書です。その主な目的は以下の通りです。
- 知的財産権の明確化: 貢献されたコードの著作権や特許権に関する権利関係を明確にします。これにより、プロジェクトの管理団体(この場合はGoogle)は、貢献されたコードをプロジェクトのライセンスの下で自由に利用、配布、変更する権利を得ます。
- 法的リスクの軽減: プロジェクトが将来的に著作権侵害や特許侵害の訴訟に巻き込まれるリスクを軽減します。CLAがあることで、プロジェクトはすべての貢献されたコードが正当な権利を持つ者によって提供されたことを保証できます。
- プロジェクトの持続可能性: プロジェクトが将来的にライセンスを変更したり、商業的な利用を検討したりする際に、すべての貢献者からの同意を個別に得る必要がなくなります。
Goプロジェクトでは、貢献者は最初に個人CLA(Individual CLA)または企業CLA(Corporate CLA)に署名する必要があります。個人CLAは、貢献者が自身の著作権を持つコードを寄贈する場合に適用され、企業CLAは、組織が著作権を持つコードを従業員が寄贈する場合に適用されます。一度CLAに署名すれば、その後のすべての貢献に適用されます。
AUTHORS
ファイルとCONTRIBUTORS
ファイル
多くのオープンソースプロジェクトでは、プロジェクトに貢献した人々を記録するために特定のファイルを使用します。GoプロジェクトにおけるAUTHORS
とCONTRIBUTORS
ファイルもその一例です。
AUTHORS
: 通常、プロジェクトの主要な作者や、コードベースに大きな影響を与えた人々をリストアップします。CONTRIBUTORS
: より広範な貢献者、例えばバグ修正、ドキュメントの改善、テストの追加など、様々な形でプロジェクトに貢献した人々をリストアップします。
これらのファイルは、プロジェクトの透明性を高め、貢献者への感謝を示す役割も果たします。新しい貢献者がCLAに署名し、その貢献が受け入れられると、通常これらのファイルに名前が追加されます。
技術的詳細
このコミットは、Goプロジェクトのソースコードリポジトリ内の2つのテキストファイル、AUTHORS
とCONTRIBUTORS
を修正しています。これらのファイルは、プロジェクトの歴史と貢献者を追跡するためのメタデータとして機能します。
変更内容は非常にシンプルで、両ファイルにAndrew Harding氏の名前とメールアドレス(Andrew Harding <andrew@spacemonkey.com>
)を新しい行として追加しています。これは、テキストファイルへの単純な追記操作であり、既存のコードロジックや機能には一切影響を与えません。
Gitの差分表示では、index
行に続くハッシュ値は、変更前と変更後のファイルのオブジェクトハッシュを示しています。--- a/AUTHORS
と+++ b/AUTHORS
は、それぞれ変更前のファイルと変更後のファイルを示し、@@ -21,6 +21,7 @@
は、変更がファイルの21行目から始まり、変更前は6行、変更後は7行になることを示しています。これは、既存の行に1行追加されたことを意味します。
この変更は、Goプロジェクトのガバナンスと法務プロセスの一部であり、技術的な実装というよりは、プロジェクト運営上の記録管理の一環として行われています。
コアとなるコードの変更箇所
diff --git a/AUTHORS b/AUTHORS
index 8783b03d9a..656923eb24 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -21,6 +21,7 @@ Amir Mohammad Saied <amir@gluegadget.com>
Amrut Joshi <amrut.joshi@gmail.com>
Andrei Vieru <euvieru@gmail.com>
Andrew Balholm <andybalholm@gmail.com>
+Andrew Harding <andrew@spacemonkey.com>
Andrew Lutomirski <andy@luto.us>
Andrew Pritchard <awpritchard@gmail.com>
Andrew Skiba <skibaa@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index af0e6ee817..6823eeb06c 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -51,6 +51,7 @@ Andreas Jellinghaus <andreas@ionisiert.de> <anj@google.com>
Andrei Vieru <euvieru@gmail.com>
Andrew Balholm <andybalholm@gmail.com>
Andrew Gerrand <adg@golang.org>
+Andrew Harding <andrew@spacemonkey.com>
Andrew Lutomirski <andy@luto.us>
Andrew Pritchard <awpritchard@gmail.com>
Andrew Skiba <skibaa@gmail.com>
コアとなるコードの解説
上記の差分は、AUTHORS
ファイルとCONTRIBUTORS
ファイルに対する変更を示しています。
-
AUTHORS
ファイルへの変更:+Andrew Harding <andrew@spacemonkey.com>
: この行がAUTHORS
ファイルに追加されました。これは、Andrew Harding氏がGoプロジェクトの正式な作者の一員として認識されたことを意味します。既存の作者リストのアルファベット順に挿入されています。
-
CONTRIBUTORS
ファイルへの変更:+Andrew Harding <andrew@spacemonkey.com>
: 同様に、この行がCONTRIBUTORS
ファイルに追加されました。これは、Andrew Harding氏がGoプロジェクトに貢献した人々の一員として記録されたことを意味します。こちらも既存の貢献者リストのアルファベット順に挿入されています。
これらの変更は、Andrew Harding氏がGoプロジェクトへの貢献を開始するための前提条件である個人CLAを締結したことを、プロジェクトの公式記録に反映させるためのものです。コードの機能的な変更ではなく、プロジェクトのメタデータ管理の一環として行われています。
関連リンク
- Go Gerrit Code Review: https://golang.org/cl/6544044
参考にした情報源リンク
- Go project CLA information: https://go.dev/doc/contribute#cla
- Google Open Source Contributor License Agreements: https://opensource.google/docs/cla/
- Wikipedia - Contributor License Agreement: https://en.wikipedia.org/wiki/Contributor_License_Agreement