[インデックス 15781] ファイルの概要
このコミットは、GoプロジェクトのCONTRIBUTORS
ファイルに新しい貢献者であるJonathan Nieder氏を追加するものです。これは、彼がGoogleのContributor License Agreement (CLA) に署名したことを反映しています。
コミット
- コミットハッシュ:
b12c299a5cef14c9673f6ee944cd0ec425a6bd5c
- 作者: Russ Cox rsc@golang.org
- コミット日時: 2013年3月14日 木曜日 23:59:41 -0400
GitHub上でのコミットページへのリンク
https://github.com/golang/go/commit/b12c299a5cef14c9673f6ee944cd0ec425a6bd5c
元コミット内容
CONTRIBUTORS: add Jonathan Nieder (Google CLA)
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/7842043
変更の背景
オープンソースプロジェクトにおいて、特に大規模なプロジェクトでは、貢献者がコードを提出する前にContributor License Agreement (CLA) に署名することが一般的です。CLAは、プロジェクトのライセンスと整合性を保ち、将来的な法的な問題を避けるために、貢献されたコードの著作権をプロジェクトの所有者(この場合はGoogle)に譲渡するか、または特定のライセンスの下で利用することを許可するものです。
このコミットは、Jonathan Nieder氏がGoプロジェクトに貢献するために必要なGoogle CLAに署名したことを示しています。CONTRIBUTORS
ファイルは、プロジェクトに貢献した個人を公式に記録するためのものであり、CLAの署名が完了した後にこのファイルに追加されるのが一般的なワークフローです。これにより、プロジェクトの透明性が保たれ、誰がどのような貢献をしたかが明確になります。
前提知識の解説
CONTRIBUTORS
ファイル
多くのオープンソースプロジェクト、特にApache Software FoundationやLinux Foundationのような大規模な組織が管理するプロジェクトでは、CONTRIBUTORS
、AUTHORS
、または類似の名前のファイルが存在します。これらのファイルは、プロジェクトにコード、ドキュメント、その他の形で貢献したすべての個人または組織をリストアップする目的で使用されます。
CONTRIBUTORS
ファイルは、単なる謝辞のリスト以上の意味を持つことがあります。
- 法的記録: 誰がプロジェクトに貢献したかの公式な記録として機能し、特にライセンスや著作権に関する問題が発生した場合に参照されます。
- 透明性: プロジェクトのコミュニティと貢献の透明性を高めます。
- 感謝: 貢献者への感謝と認識を示す方法です。
Goプロジェクトの場合、CONTRIBUTORS
ファイルは、プロジェクトにコードを提出し、GoogleのCLAに署名した個人をリストアップするために使用されます。
Contributor License Agreement (CLA)
CLA(Contributor License Agreement)は、オープンソースプロジェクトにおいて、貢献者がその貢献物(コード、ドキュメントなど)の著作権をプロジェクトの所有者(または特定のライセンスの下での利用権)に付与することを約束する法的な合意書です。CLAは、以下の目的で利用されます。
- ライセンスの明確化: 貢献されたコードがプロジェクトの全体的なライセンス(例: BSDライセンス、MITライセンス、Apacheライセンスなど)の下で配布されることを保証します。これにより、プロジェクトのライセンスの一貫性が保たれ、将来的なライセンスの変更や再ライセンスが容易になります。
- 著作権の保護: プロジェクトの所有者(多くの場合、企業や財団)が貢献されたコードの著作権を保持することで、プロジェクト全体の知的財産権を保護し、潜在的な著作権侵害訴訟からプロジェクトを守ります。
- 法的なリスクの軽減: 貢献されたコードが第三者の著作権を侵害していないことを貢献者が保証することで、プロジェクトが法的な問題に巻き込まれるリスクを軽減します。
Googleが管理するGoプロジェクトでは、貢献者はGoogle CLAに署名する必要があります。これは、Googleがプロジェクトの知的財産権を管理し、Goのライセンス(BSDライセンス)の下でコードを配布できるようにするためです。
技術的詳細
このコミットは、GoプロジェクトのリポジトリのルートにあるCONTRIBUTORS
ファイルに対して行われた非常にシンプルな変更です。具体的には、ファイルの227行目に新しい行が追加され、Jonathan Nieder氏の名前とGoogleのメールアドレスが記載されています。
変更は以下の通りです。
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -227,6 +277,7 @@ Jonathan Feinberg <feinberg@google.com>
Jonathan Gold <jgold.bg@gmail.com>
Jonathan Hseu <jhseu@google.com>
Jonathan Mark <jhmark@xenops.com> <jhmark000@gmail.com>
+Jonathan Nieder <jrn@google.com>
Jonathan Pittman <jmpittman@google.com> <jonathan.mark.pittman@gmail.com>
Jonathan Rudenberg <jonathan@titanous.com>
Jonathan Wills <runningwild@gmail.com>
この変更は、git diff
の出力で示されているように、CONTRIBUTORS
ファイルに1行の追加(1 insertion(+)
)のみを伴います。これは、Jonathan Nieder氏がGoプロジェクトへの貢献を開始する準備が整ったことを公式に記録するものです。
コミットメッセージには、R=golang-dev, bradfitz
とCC=golang-dev
が含まれています。これは、Goプロジェクトのコードレビュープロセスにおける慣習を示しています。R=
はレビュー担当者(Reviewer)を、CC=
はカーボンコピー(Carbon Copy)の対象者を示します。この場合、golang-dev
メーリングリストとbradfitz
氏がレビューに関与したことを意味します。また、https://golang.org/cl/7842043
は、この変更に対応するGerrit Code Reviewのチェンジリスト(CL)へのリンクです。Goプロジェクトでは、GitHubのプルリクエストではなく、Gerritを主要なコードレビューシステムとして使用しています。
コアとなるコードの変更箇所
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -227,6 +227,7 @@ Jonathan Feinberg <feinberg@google.com>
Jonathan Gold <jgold.bg@gmail.com>
Jonathan Hseu <jhseu@google.com>
Jonathan Mark <jhmark@xenops.com> <jhmark000@gmail.com>
+Jonathan Nieder <jrn@google.com>
Jonathan Pittman <jmpittman@google.com> <jonathan.mark.pittman@gmail.com>
Jonathan Rudenberg <jonathan@titanous.com>
Jonathan Wills <runningwild@gmail.com>
コアとなるコードの解説
上記の差分は、CONTRIBUTORS
ファイルに新しい行が追加されたことを明確に示しています。
--- a/CONTRIBUTORS
と+++ b/CONTRIBUTORS
は、変更前のファイルと変更後のファイルを示しています。@@ -227,6 +227,7 @@
は、変更がファイルの227行目から始まり、変更前は6行、変更後は7行のコンテキストが表示されていることを示します。+Jonathan Nieder <jrn@google.com>
が追加された行です。これは、Jonathan Nieder氏の名前と、彼がGoogleのメールアドレス(jrn@google.com
)を使用していることを示しています。これは、彼がGoogleの従業員であり、Google CLAを通じて貢献していることを示唆しています。
この変更自体は非常に単純ですが、Goプロジェクトにおける貢献者の管理と法的な側面において重要な意味を持ちます。この行の追加は、Jonathan Nieder氏がGoプロジェクトに正式に貢献できるようになったことを意味し、彼の将来のコード提出がプロジェクトのライセンスと法的な枠組みに適合することを保証します。
関連リンク
- Goプロジェクトの公式ウェブサイト: https://golang.org/
- Goプロジェクトの貢献ガイドライン (CLAに関する情報が含まれる可能性があります): https://go.dev/doc/contribute (現在のリンク。コミット当時のリンクとは異なる可能性あり)
- Google Contributor License Agreement (CLA) について: https://cla.developers.google.com/
参考にした情報源リンク
- Goプロジェクトの
CONTRIBUTORS
ファイルの内容 (コミット当時のものと現在のものは異なる可能性があります) - Gitの差分表示に関する一般的な知識
- オープンソースプロジェクトにおけるCLAの一般的な概念
- Google検索: "Go project CONTRIBUTORS file", "Google CLA"