[インデックス 18043] ファイルの概要
このコミットは、GoプロジェクトのAUTHORS
ファイルとCONTRIBUTORS
ファイルに新しい貢献者であるAnfernee Yongkun Gui氏を追加するものです。これは、Goプロジェクトへの貢献者が増えるたびに定期的に行われるメンテナンス作業の一環であり、個別のCLA(Contributor License Agreement)が締結されたことを示しています。
コミット
commit 5334b73d5d57aee6948897fa4b1bfafe5bb70c6f
Author: Brad Fitzpatrick <bradfitz@golang.org>
Date: Wed Dec 18 04:06:56 2013 -0800
A+C: Anfernee Yongkun Gui (individual CLA)
Generated by addca.
R=gobot
CC=golang-dev
https://golang.org/cl/43760046
GitHub上でのコミットページへのリンク
https://github.com/golang/go/commit/5334b73d5d57aee6948897fa4b1bfafe5bb70c6f
元コミット内容
このコミットの元の内容は、Goプロジェクトの貢献者リストにAnfernee Yongkun Gui氏を追加することです。コミットメッセージには「A+C: Anfernee Yongkun Gui (individual CLA)」とあり、これは「Author and Contributor: Anfernee Yongkun Gui (個人CLA)」を意味します。また、「Generated by addca.」とあり、これはaddca
というツールによって生成されたコミットであることを示しています。R=gobot
とCC=golang-dev
は、コードレビュー担当者とメーリングリストを示しています。
変更の背景
Goプロジェクトのような大規模なオープンソースプロジェクトでは、多くの開発者がコードベースに貢献します。これらの貢献者が知的財産権に関する問題をクリアし、プロジェクトに安心して貢献できるようにするため、通常、CLA(Contributor License Agreement)の締結が求められます。CLAは、貢献者が提出するコードの著作権をプロジェクトが適切に管理し、ライセンスを付与できるようにするための法的な合意です。
このコミットは、Anfernee Yongkun Gui氏がGoプロジェクトへの貢献を開始するにあたり、個人のCLAを締結したことを反映しています。CLAが締結されると、その貢献者の名前がAUTHORS
ファイルとCONTRIBUTORS
ファイルに追加され、公式にプロジェクトの貢献者として認識されるようになります。これは、プロジェクトの透明性と法的な健全性を保つ上で重要なプロセスです。
前提知識の解説
Contributor License Agreement (CLA)
CLA(Contributor License Agreement)は、オープンソースプロジェクトにおいて、貢献者がそのプロジェクトに提出するコードの著作権に関する権利をプロジェクトの所有者(または管理団体)に付与するための法的な文書です。これにより、プロジェクトは貢献されたコードを再配布、変更、ライセンス供与する権利を得て、将来的なライセンス変更や法的な紛争からプロジェクトを保護することができます。
Goプロジェクトの場合、Googleがプロジェクトを管理しており、貢献者はGoogleとの間でCLAを締結する必要があります。CLAには「Individual CLA」と「Corporate CLA」の2種類があり、個人として貢献する場合はIndividual CLAを、企業として貢献する場合はCorporate CLAを締結します。このコミットでは「individual CLA」と明記されているため、Anfernee Yongkun Gui氏が個人としてCLAを締結したことを示しています。
AUTHORS
ファイルとCONTRIBUTORS
ファイル
多くのオープンソースプロジェクトでは、プロジェクトに貢献した人々の名前を記録するためのファイルが存在します。Goプロジェクトでは、主に以下の2つのファイルが使われます。
AUTHORS
: このファイルは、プロジェクトの主要な作者や、特に重要な貢献をした人々の名前をリストアップするために使用されます。通常、CLAを締結した個人や団体がここに記載されます。CONTRIBUTORS
: このファイルは、プロジェクトに何らかの形で貢献したすべての個人の名前をリストアップするために使用されます。これには、コードの貢献だけでなく、ドキュメントの改善、バグ報告、テストの作成など、幅広い貢献が含まれます。
これらのファイルは、プロジェクトの歴史と貢献者を可視化し、コミュニティの努力を認識する役割を果たします。
addca
ツール
コミットメッセージに「Generated by addca.」とあるように、この変更はaddca
というツールによって自動生成されたものです。addca
は「add Contributor Agreement」の略であると推測され、Goプロジェクトの内部ツールとして、新しいCLAが締結された際にAUTHORS
ファイルやCONTRIBUTORS
ファイルを自動的に更新するために使用されていると考えられます。これにより、手作業によるミスを防ぎ、更新プロセスを効率化しています。
技術的詳細
このコミットの技術的な変更は非常にシンプルで、テキストファイルへの行の追加と、既存の行のわずかな修正(実質的には再配置)です。
具体的には、AUTHORS
ファイルとCONTRIBUTORS
ファイルの両方に、Anfernee Yongkun Gui <anfernee.gui@gmail.com>
という行が追加されています。
CONTRIBUTORS
ファイルでは、Michael Hudson-Doyle <michael.hudson@linaro.org>
の行が一度削除され、その後同じ内容で別の位置に再挿入されています。これは、addca
ツールがファイルをソートしたり、特定のルールに基づいて行を再配置したりする際に発生する一般的な挙動です。この変更自体はMichael Hudson-Doyle
氏に関する情報の内容を変更するものではなく、ファイルの構造的な更新の一部と見なされます。
これらのファイルは、Goのビルドシステムやドキュメント生成プロセスによって直接利用されることは稀ですが、プロジェクトの公式な記録として、また法的な目的のために維持されています。
コアとなるコードの変更箇所
このコミットで変更されたファイルは以下の2つです。
AUTHORS
CONTRIBUTORS
それぞれのファイルに対する変更は以下の通りです。
AUTHORS
ファイル
--- a/AUTHORS
+++ b/AUTHORS
@@ -39,6 +39,7 @@ Andrew Wilkins <axwalk@gmail.com>
Andrey Mirtchovski <mirtchovski@gmail.com>
Andriy Lytvynov <lytvynov.a.v@gmail.com>
Andy Davis <andy@bigandian.com>
+Anfernee Yongkun Gui <anfernee.gui@gmail.com>
Anh Hai Trinh <anh.hai.trinh@gmail.com>
Anschel Schaffer-Cohen <anschelsc@gmail.com>
Anthony Eufemio <anthony.eufemio@gmail.com>
CONTRIBUTORS
ファイル
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -71,6 +71,7 @@ Andrew Wilkins <axwalk@gmail.com>
Andrey Mirtchovski <mirtchovski@gmail.com>
Andriy Lytvynov <lytvynov.a.v@gmail.com>
Andy Davis <andy@bigandian.com>
+Anfernee Yongkun Gui <anfernee.gui@gmail.com>
Anh Hai Trinh <anh.hai.trinh@gmail.com>
Anschel Schaffer-Cohen <anschelsc@gmail.com>
Anthony Eufemio <anthony.eufemio@gmail.com>
@@ -341,8 +342,8 @@ Micah Stetson <micah.stetson@gmail.com>
Michael Chaten <mchaten@gmail.com>
Michael Elkins <michael.elkins@gmail.com>
Michael Gehring <mg@ebfe.org>
-Michael Hudson-Doyle <michael.hudson@linaro.org>\n Michael Hoisie <hoisie@gmail.com>
+Michael Hudson-Doyle <michael.hudson@linaro.org>\n Michael Hoisie <hoisie@gmail.com>
Michael Lewis <mikelikespie@gmail.com>\n Michael Matloob <matloob@google.com>\n Michael Piatek <piatek@google.com>\n
コアとなるコードの解説
このコミットには、Go言語のランタイムやライブラリの機能に直接影響を与えるような「コード」の変更は含まれていません。変更されたのは、プロジェクトのメタデータの一部であるテキストファイルです。
-
AUTHORS
ファイルへの追加:+Anfernee Yongkun Gui <anfernee.gui@gmail.com>
この行は、Anfernee Yongkun Gui氏がGoプロジェクトの正式な作者の一人として認識されたことを示します。これは、彼がGoプロジェクトに対して重要な貢献を行うための法的な枠組みが整ったことを意味します。 -
CONTRIBUTORS
ファイルへの追加と修正:+Anfernee Yongkun Gui <anfernee.gui@gmail.com>
この行は、Anfernee Yongkun Gui氏がGoプロジェクトの貢献者リストに追加されたことを示します。-Michael Hudson-Doyle <michael.hudson@linaro.org>
+Michael Hudson-Doyle <michael.hudson@linaro.org>
この部分は、Michael Hudson-Doyle
氏のエントリが削除され、その後同じ内容で再挿入されています。これは、addca
ツールがファイルをアルファベット順にソートしたり、重複を排除したりする過程で発生する可能性があります。この変更自体はMichael Hudson-Doyle
氏の貢献者としてのステータスに影響を与えるものではなく、ファイルの整合性を保つためのツールによる自動的な調整と解釈できます。
これらの変更は、Goプロジェクトのガバナンスと法務に関する側面を反映しており、プロジェクトの健全な運営に不可欠な部分です。
関連リンク
- Goプロジェクトの公式ウェブサイト: https://golang.org/
- Goプロジェクトの貢献ガイドライン(CLAに関する情報が含まれる場合があります): 通常、Goの公式ドキュメントやGitHubリポジトリのCONTRIBUTING.mdファイルに記載されています。
- 例: https://github.com/golang/go/blob/master/CONTRIBUTING.md (このリンクは現在のものですが、コミット当時のものとは異なる可能性があります)
参考にした情報源リンク
- GoプロジェクトのGitHubリポジトリ: https://github.com/golang/go
- Go Gerrit Code Review: https://go.googlesource.com/go/+/refs/heads/master
- このコミットのGerrit変更リスト: https://golang.org/cl/43760046 (コミットメッセージに記載されているCL番号)
- Contributor License Agreement (CLA)に関する一般的な情報:
- Wikipedia: https://en.wikipedia.org/wiki/Contributor_License_Agreement
- Google Open Source: https://opensource.google/docs/cla/ (GoogleのCLAに関する情報)