[インデックス 19730] ファイルの概要
このコミットは、GoプロジェクトのAUTHORS
ファイルとCONTRIBUTORS
ファイルに、新しい貢献者であるChris McGee氏の情報を追加するものです。これは、Goプロジェクトへの貢献者が増えるたびに定期的に行われるメンテナンス作業の一環です。
コミット
commit a44cf8d18e9af4cae0d93f6a4f6c33f3cfbe7f18
Author: Andrew Gerrand <adg@golang.org>
Date: Tue Jul 15 11:25:39 2014 +1000
A+C: add Chris McGee (individual CLA)
TBR=dsymonds
R=golang-codereviews
CC=golang-codereviews
https://golang.org/cl/112300043
GitHub上でのコミットページへのリンク
https://github.com/golang/go/commit/a44cf8d18e9af4cae0d93f6a4f6c33f3cfbe7f18
元コミット内容
A+C: add Chris McGee (individual CLA)
TBR=dsymonds
R=golang-codereviews
CC=golang-codereviews
https://golang.org/cl/112300043
変更の背景
この変更の背景には、オープンソースプロジェクト、特にGoogleが主導するGoプロジェクトにおける貢献者ライセンス同意書(Contributor License Agreement, CLA)の要件があります。Goプロジェクトにコードを貢献する開発者は、その貢献がプロジェクトのライセンス(通常はBSDライセンス)の下で利用可能であることを保証するために、CLAに署名する必要があります。
Chris McGee氏がGoプロジェクトに何らかの貢献を行ったため、その貢献を正式に記録し、法的な要件を満たすために、氏の名前がAUTHORS
ファイルとCONTRIBUTORS
ファイルに追加されました。これは、プロジェクトの透明性を保ち、誰がどのような貢献をしたかを明確にするための標準的なプラクティスです。
コミットメッセージのA+C: add Chris McGee (individual CLA)
は、「AUTHORSとCONTRIBUTORSファイルにChris McGeeを追加する(個人CLA済み)」という意味であり、氏が個人としてCLAに署名済みであることを示しています。TBR=dsymonds
、R=golang-codereviews
、CC=golang-codereviews
は、Goプロジェクトのコードレビュープロセスにおける慣習的なタグであり、それぞれレビュー担当者(To Be Reviewed by)、レビュー済み(Reviewed by)、カーボンコピー(Carbon Copy)を示しています。https://golang.org/cl/112300043
は、この変更に対応するGerrit Code Reviewのチェンジリストへのリンクです。
前提知識の解説
貢献者ライセンス同意書 (CLA)
貢献者ライセンス同意書(CLA)は、個人または企業がオープンソースプロジェクトに貢献する際に署名する法的文書です。CLAの主な目的は、プロジェクトの所有者(この場合はGoogle)が、貢献されたコードをプロジェクトのライセンス(Goの場合はBSDライセンス)の下で配布、変更、および利用する権利を確実に持つようにすることです。
CLAは、以下の点を明確にします。
- 著作権の帰属: 貢献されたコードの著作権が誰に帰属するか(通常は貢献者自身に留まるが、プロジェクト所有者に特定のライセンスが付与される)。
- ライセンスの付与: 貢献者が、プロジェクト所有者に対して、貢献されたコードをプロジェクトのライセンスの下で利用するための永続的、非独占的、ロイヤリティフリーのライセンスを付与すること。
- 保証: 貢献されたコードが、貢献者のオリジナルであり、第三者の権利を侵害していないことの保証。
CLAは、プロジェクトの法的リスクを軽減し、将来的なライセンス変更や再ライセンスの柔軟性を確保するために重要です。特に、Googleのような大企業が主導するプロジェクトでは、法務部門が厳格なコンプライアンスを求めるため、CLAの存在は一般的です。
AUTHORSファイルとCONTRIBUTORSファイル
多くのオープンソースプロジェクトでは、プロジェクトに貢献した人々を記録するために、AUTHORS
ファイルやCONTRIBUTORS
ファイルが使用されます。
AUTHORS
ファイル: 通常、プロジェクトの主要な作者や、プロジェクトの初期段階から深く関わっている人々をリストアップします。著作権表示に関連する場合もあります。CONTRIBUTORS
ファイル: プロジェクトに何らかの形で貢献したすべての人々をリストアップします。これには、コードの貢献者だけでなく、ドキュメントの作成者、バグ報告者、テスター、翻訳者なども含まれることがあります。
これらのファイルは、プロジェクトへの貢献を認識し、コミュニティの努力を可視化する役割を果たします。また、法的な観点からも、誰がプロジェクトに貢献したかを明確にすることで、著作権やライセンスに関する問題を回避するのに役立ちます。
Gerrit Code Review
Goプロジェクトは、コードレビューにGerrit Code Reviewシステムを使用しています。Gerritは、Gitリポジトリ上で動作するWebベースのコードレビューツールで、変更がメインのコードベースにマージされる前に、チームメンバーがコードをレビューし、承認することを可能にします。
- チェンジリスト (Change-ID): Gerritでは、各変更は一意のチェンジリストID(例:
112300043
)を持ちます。これは、関連するコミットやレビューの議論を追跡するために使用されます。 - レビュープロセス: 開発者は変更をGerritにアップロードし、レビュー担当者がその変更を評価します。レビュー担当者は、コードの品質、設計、バグの有無などをチェックし、承認または却下します。承認された変更のみがメインリポジトリにマージされます。
技術的詳細
このコミット自体は、Go言語のランタイムやコンパイラといったコアな技術要素に直接的な変更を加えるものではありません。その代わりに、プロジェクトのメタデータ、具体的には貢献者リストを更新するものです。
変更は、以下の2つのファイルに対して行われています。
AUTHORS
: このファイルは、Goプロジェクトの主要な作者や、プロジェクトの著作権表示に関連する人々を列挙しています。Chris McGee氏がこのファイルに追加されたということは、氏がGoプロジェクトに対して、その作者リストに名を連ねるに足る重要な貢献を行ったと認識されたことを意味します。CONTRIBUTORS
: このファイルは、Goプロジェクトに貢献したすべての個人をリストアップしています。このファイルへの追加は、氏がGoプロジェクトに対して何らかの貢献(コード、ドキュメント、テストなど)を行ったことを公式に記録するものです。
これらのファイルは、プレーンテキスト形式で、各行に貢献者の名前と、場合によってはメールアドレスなどの連絡先情報が記載されています。このコミットでは、Chris McGee氏の名前と2つのメールアドレス(sirnewton_01@yahoo.ca
とnewton688@gmail.com
)が追加されています。
この種のコミットは、プロジェクトのガバナンスと法務部門の要件を満たすために不可欠です。特に、オープンソースプロジェクトが成長し、多くの貢献者を受け入れるようになると、誰がどのような権利を持つかを明確にすることが重要になります。CLAへの署名と、それに続く貢献者リストへの追加は、このプロセスの一部です。
コアとなるコードの変更箇所
diff --git a/AUTHORS b/AUTHORS
index 061fb98f6a..146508b8da 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -88,6 +88,7 @@ Chris Farmiloe <chrisfarms@gmail.com>
Chris Howey <howeyc@gmail.com>
Chris Jones <chris@cjones.org>
Chris Lennert <calennert@gmail.com>
+Chris McGee <sirnewton_01@yahoo.ca> <newton688@gmail.com>
Christian Himpel <chressie@googlemail.com>
Christine Hansmann <chhansmann@gmail.com>
Christoffer Buchholz <christoffer.buchholz@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index c3f6dec623..f9bea4381f 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -139,6 +139,7 @@ Chris Hundt <hundt@google.com>
Chris Jones <chris@cjones.org> <chris.jones.yar@gmail.com>
Chris Lennert <calennert@gmail.com>
Chris Manghane <cmang@golang.org>
+Chris McGee <sirnewton_01@yahoo.ca> <newton688@gmail.com>
Christian Himpel <chressie@googlemail.com> <chressie@gmail.com>
Christine Hansmann <chhansmann@gmail.com>
Christoffer Buchholz <christoffer.buchholz@gmail.com>
コアとなるコードの解説
上記のdiffは、AUTHORS
ファイルとCONTRIBUTORS
ファイルに対する変更を示しています。
-
AUTHORS
ファイルへの追加:@@ -88,6 +88,7 @@
は、変更がファイルの88行目から始まり、以前は6行あった部分が7行になったことを示します。+Chris McGee <sirnewton_01@yahoo.ca> <newton688@gmail.com>
の行が追加されています。これは、Chris McGee氏の名前と、氏に関連付けられた2つのメールアドレスをリストに追加するものです。 -
CONTRIBUTORS
ファイルへの追加:@@ -139,6 +139,7 @@
は、変更がファイルの139行目から始まり、以前は6行あった部分が7行になったことを示します。 同様に、+Chris McGee <sirnewton_01@yahoo.ca> <newton688@gmail.com>
の行が追加されています。
これらの変更は非常にシンプルで、既存のリストに新しいエントリを挿入するだけです。コードの機能的な変更ではなく、プロジェクトのメタデータ管理の一環として行われるものです。この変更により、Chris McGee氏はGoプロジェクトの公式な貢献者として認識され、その貢献が記録されることになります。
関連リンク
- Goプロジェクトの貢献ガイドライン (CLAに関する情報が含まれる可能性があります): https://go.dev/doc/contribute
- GoogleのCLAに関する情報: https://cla.developers.google.com/
- Gerrit Code Review: https://www.gerritcodereview.com/
参考にした情報源リンク
- GoプロジェクトのGitHubリポジトリ: https://github.com/golang/go
- コミットメッセージの内容と構造の一般的な理解
- オープンソースプロジェクトにおけるCLAの役割に関する一般的な知識
- Gerrit Code Reviewの基本的な仕組みに関する一般的な知識