[インデックス 14547] ファイルの概要
このコミットは、GoプロジェクトのAUTHORS
ファイルとCONTRIBUTORS
ファイルに、新たな貢献者であるEgon Elbre氏の情報を追加するものです。これは、Egon Elbre氏が個人の貢献者ライセンス契約(Individual CLA)に署名したことを示すものです。
コミット
commit 936a6d26851dec01fdd83df376221a5c8751c8e6
Author: Andrew Gerrand <adg@golang.org>
Date: Tue Dec 4 10:14:21 2012 +1100
A+C: Egon Elbre (individual CLA)
R=golang-dev, remyoudompheng, iant
CC=golang-dev
https://golang.org/cl/6863055
GitHub上でのコミットページへのリンク
https://github.com/golang/go/commit/936a6d26851dec01fdd83df376221a5c8751c8e6
元コミット内容
このコミットは、GoプロジェクトのAUTHORS
ファイルとCONTRIBUTORS
ファイルに、Egon Elbre氏の名前とメールアドレスを追加しています。コミットメッセージの "A+C: Egon Elbre (individual CLA)" は、Egon Elbre氏が個人の貢献者ライセンス契約(Individual CLA)に署名したことを示しており、その結果としてこれらのファイルに情報が追加されたことを意味します。
変更の背景
オープンソースプロジェクトにおいて、特に大規模なプロジェクトや企業が主導するプロジェクトでは、貢献者からの知的財産権の帰属を明確にするために、貢献者ライセンス契約(CLA: Contributor License Agreement)の署名を求めることが一般的です。GoプロジェクトもGoogleが主導しているため、このポリシーに従っています。
このコミットの背景には、Egon Elbre氏がGoプロジェクトにコードを貢献する準備が整い、その前提条件として個人のCLAに署名が完了したという事実があります。CLAに署名することで、貢献者は自身の貢献がプロジェクトのライセンスの下で利用されることを許可し、プロジェクト側は将来的な法的な問題を回避できるようになります。
AUTHORS
ファイルとCONTRIBUTORS
ファイルは、プロジェクトに貢献した人々を記録するためのものです。CLAの署名が完了した貢献者をこれらのファイルに追加することは、プロジェクトの透明性を保ち、貢献者への感謝を示す標準的なプラクティスです。
前提知識の解説
貢献者ライセンス契約 (CLA: Contributor License Agreement)
CLAは、個人または企業がオープンソースプロジェクトにコードやドキュメントなどの貢献を行う際に、プロジェクトの所有者(通常はプロジェクトをホストする組織や財団)と貢献者の間で締結される法的な合意書です。CLAの主な目的は以下の通りです。
- 知的財産権の明確化: 貢献されたコードの著作権が誰に帰属するかを明確にします。多くの場合、貢献者はプロジェクト所有者に著作権を譲渡するか、またはプロジェクト所有者が貢献されたコードをプロジェクトのライセンスの下で利用することを許可する非独占的なライセンスを付与します。
- ライセンスの統一性: プロジェクト全体で一貫したライセンスモデルを維持することを保証します。これにより、プロジェクトの利用者がライセンスに関する不確実性なくコードを利用できるようになります。
- 法的リスクの軽減: 将来的に貢献されたコードに関する著作権侵害や特許侵害などの法的紛争が発生した場合に、プロジェクト所有者を保護します。
CLAには「Individual CLA(個人CLA)」と「Corporate CLA(企業CLA)」の2種類があります。個人CLAは個人が自身の名義で貢献する場合に署名し、企業CLAは企業が従業員の貢献を代表して署名する場合に用いられます。
AUTHORS
ファイルとCONTRIBUTORS
ファイル
多くのオープンソースプロジェクトでは、プロジェクトに貢献した人々をリストアップするために、AUTHORS
やCONTRIBUTORS
といった名前のテキストファイルをリポジトリのルートに配置しています。
AUTHORS
: 通常、プロジェクトの主要な作者や、プロジェクトの初期段階から深く関わっている人々をリストアップします。CONTRIBUTORS
: プロジェクトに何らかの形で貢献したすべての人々(コードのコミット、バグ報告、ドキュメントの改善、翻訳など)をより広範にリストアップします。
これらのファイルは、プロジェクトの歴史とコミュニティを可視化する役割を果たします。また、CLAの署名が完了したことを示す公式な記録の一部としても機能することがあります。
技術的詳細
このコミット自体は、Go言語のコードベースに対する技術的な変更ではなく、プロジェクトのメタデータに関する変更です。具体的には、Gitリポジトリ内の2つのプレーンテキストファイル(AUTHORS
とCONTRIBUTORS
)に新しい行を追加しています。
Gitの差分(diff)を見ると、以下の変更が行われたことがわかります。
AUTHORS
ファイルに+Egon Elbre <egonelbre@gmail.com>
という行が追加されました。CONTRIBUTORS
ファイルに+Egon Elbre <egonelbre@gmail.com>
という行が追加されました。
これらのファイルは、プロジェクトのビルドプロセスや実行には直接影響しませんが、プロジェクトの管理と法的な側面において重要な役割を果たします。Gitのバージョン管理システムは、これらのテキストファイルの変更を他のコード変更と同様に追跡し、履歴として保存します。
コミットメッセージに含まれる R=golang-dev, remyoudompheng, iant
と CC=golang-dev
は、コードレビューのプロセスを示しています。R=
はレビュー担当者(Reviewers)を、CC=
はカーボンコピー(Carbon Copy)の対象を示します。これは、GoプロジェクトがGerritというコードレビューシステムを使用していることの典型的な痕跡です。https://golang.org/cl/6863055
は、この変更に対応するGerritの変更リスト(Change-List)へのリンクです。
コアとなるコードの変更箇所
このコミットにおける「コアとなるコード」は、Go言語のソースコードそのものではなく、プロジェクトのメタデータファイルであるAUTHORS
とCONTRIBUTORS
です。
diff --git a/AUTHORS b/AUTHORS
index e251e09f5f..bb81a7221e 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -79,6 +79,7 @@ Dean Prichard <dean.prichard@gmail.com>
Devon H. O'Dell <devon.odell@gmail.com>
Dmitry Chestnykh <dchest@gmail.com>
Eden Li <eden.li@gmail.com>
+Egon Elbre <egonelbre@gmail.com>
Eivind Uggedal <eivind@uggedal.com>
Emil Hessman <c.emil.hessman@gmail.com>
Eoghan Sherry <ejsherry@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index a7f21df760..0d43576683 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -132,6 +132,7 @@ Devon H. O'Dell <devon.odell@gmail.com>
Dmitriy Vyukov <dvyukov@google.com>
Dmitry Chestnykh <dchest@gmail.com>
Eden Li <eden.li@gmail.com>
+Egon Elbre <egonelbre@gmail.com>
Eivind Uggedal <eivind@uggedal.com>
Emil Hessman <c.emil.hessman@gmail.com>
Eoghan Sherry <ejsherry@gmail.com>
コアとなるコードの解説
上記の差分が示すように、変更は非常にシンプルです。
AUTHORS
ファイル: 79行目の後に新しい行が挿入され、Egon Elbre <egonelbre@gmail.com>
というエントリが追加されました。これは、Egon Elbre氏がGoプロジェクトの公式な作者の一人として認識されたことを意味します。CONTRIBUTORS
ファイル: 132行目の後に新しい行が挿入され、同様にEgon Elbre <egonelbre@gmail.com>
というエントリが追加されました。これは、Egon Elbre氏がGoプロジェクトに貢献した人々の一員として記録されたことを意味します。
これらの変更は、Goプロジェクトの管理プロセスの一部であり、新しい貢献者がプロジェクトの法的な要件(CLA署名)を満たし、その貢献が公式に認められたことを示すものです。これにより、プロジェクトの透明性が高まり、貢献者の努力が適切に評価されることになります。
関連リンク
- Goプロジェクトの公式ウェブサイト: https://go.dev/
- Goプロジェクトの貢献ガイドライン(CLAに関する情報が含まれる場合があります): https://go.dev/doc/contribute (一般的なGoの貢献ガイドラインへのリンクであり、CLAの詳細が直接記載されているかは確認が必要です)
- Gerrit Code Review: https://www.gerritcodereview.com/
参考にした情報源リンク
- Contributor License Agreement (CLA) の説明:
- https://cla.developers.google.com/ (GoogleのCLAに関する情報)
- https://en.wikipedia.org/wiki/Contributor_License_Agreement (WikipediaのCLAに関する記事)
- Gitの差分表示に関する情報:
- https://git-scm.com/docs/git-diff (Git公式ドキュメント)