[インデックス 13790] ファイルの概要
このコミットは、GoプロジェクトのCONTRIBUTORS
ファイルに新しい貢献者であるBrian Slesinsky氏を追加するものです。これは、彼がGoogleのContributor License Agreement (CLA) に署名したことを示すものです。
コミット
commit 47ae8a28cd09f821163dd76b5430b70ce57bcd04
Author: Andrew Gerrand <adg@golang.org>
Date: Tue Sep 11 11:33:34 2012 +1000
C: add Brian Slesinsky (Google CLA)
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/6496103
---
CONTRIBUTORS | 1 +
1 file changed, 1 insertion(+)
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 0245194c99..6d5dd47636 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -79,6 +79,7 @@ Blake Mizerany <blake.mizerany@gmail.com>
Bobby Powers <bobbypowers@gmail.com>
Brad Fitzpatrick <bradfitz@golang.org> <bradfitz@gmail.com>
Brian Dellisanti <briandellisanti@gmail.com>
+Brian Slesinskya <skybrian@google.com>
Brendan O'Dea <bod@golang.org>
Caine Tighe <arctanofyourface@gmail.com>
Carlos Castillo <cookieo9@gmail.com>
GitHub上でのコミットページへのリンク
https://github.com/golang/go/commit/47ae8a28cd09f821163dd76b5430b70ce57bcd04
元コミット内容
C: add Brian Slesinsky (Google CLA)
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/6496103
変更の背景
オープンソースプロジェクト、特にGoogleのような大企業が主導するプロジェクトでは、貢献者からのコードを受け入れる前に、Contributor License Agreement (CLA) への署名を求めることが一般的です。CLAは、貢献されたコードの著作権がプロジェクトの所有者(この場合はGoogle)に適切に帰属し、プロジェクトがそのコードを自由に利用、配布、変更できることを保証するための法的な合意です。
このコミットは、Brian Slesinsky氏がGoプロジェクトに貢献する準備が整い、必要なGoogle CLAに署名したことを受けて行われました。CONTRIBUTORS
ファイルに名前を追加することは、彼が正式な貢献者として認識され、その後のコード貢献がスムーズに受け入れられるための手続きの一部です。
前提知識の解説
CONTRIBUTORS
ファイル
多くのオープンソースプロジェクトには、プロジェクトに貢献した人々の名前をリストアップしたCONTRIBUTORS
またはAUTHORS
ファイルが存在します。このファイルは、プロジェクトの歴史と、その成功に貢献した個人を記録する役割を果たします。法的な要件がある場合もありますが、多くの場合、コミュニティへの感謝と透明性を示すためのものです。
Contributor License Agreement (CLA)
CLAは、個人または企業がオープンソースプロジェクトに貢献する際に署名する法的文書です。主な目的は以下の通りです。
- 著作権の明確化: 貢献されたコードの著作権が誰に帰属するかを明確にします。多くの場合、貢献者はプロジェクトの所有者(例: Google)に著作権を譲渡するか、またはプロジェクトの所有者がそのコードを特定のライセンスの下で利用することを許可します。
- ライセンスの保証: プロジェクトの所有者が、貢献されたコードをプロジェクトのライセンス(例: BSDライセンス、MITライセンスなど)の下で配布する権利を持つことを保証します。これにより、将来的なライセンス問題や著作権侵害のリスクを軽減します。
- 法的な保護: プロジェクトの所有者とユーザーを、貢献されたコードに関連する潜在的な法的紛争から保護します。
Googleのような企業が主導するプロジェクトでは、CLAは非常に重要です。これにより、GoogleはGo言語のコードベース全体に対する明確な法的権利を維持し、将来的なライセンス変更や商業的利用の可能性を確保できます。
Gerrit (Code Review System)
コミットメッセージにあるhttps://golang.org/cl/6496103
は、Goプロジェクトが使用しているコードレビューシステムであるGerritの変更リスト(Change-ID)へのリンクです。Goプロジェクトでは、GitHubのプルリクエストではなく、Gerritを主要なコードレビューとコミットのメカニズムとして使用しています。R=
とCC=
は、それぞれレビュー担当者(Reviewer)とカーボンコピー(Carbon Copy)の略で、Gerrit上でのレビュープロセスに関連する情報です。
技術的詳細
このコミットは、CONTRIBUTORS
ファイルへの単一の行追加です。Gitの差分(diff)形式でその変更を見てみましょう。
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -79,6 +79,7 @@ Blake Mizerany <blake.mizerany@gmail.com>
Bobby Powers <bobbypowers@gmail.com>
Brad Fitzpatrick <bradfitz@golang.org> <bradfitz@gmail.com>
Brian Dellisanti <briandellisanti@gmail.com>
+Brian Slesinskya <skybrian@google.com>
Brendan O'Dea <bod@golang.org>
Caine Tighe <arctanofyourface@gmail.com>
Carlos Castillo <cookieo9@gmail.com>
--- a/CONTRIBUTORS
と+++ b/CONTRIBUTORS
: これは、変更前のファイル(a/CONTRIBUTORS
)と変更後のファイル(b/CONTRIBUTORS
)を示しています。@@ -79,6 +79,7 @@
: これは「ハンクヘッダー」と呼ばれ、変更がファイルのどこで行われたかを示します。-79,6
: 変更前のファイルでは、79行目から6行(79行目から84行目まで)が表示されています。+79,7
: 変更後のファイルでは、79行目から7行(79行目から85行目まで)が表示されています。- これは、元の6行に1行が追加されたことを意味します。
+Brian Slesinskya <skybrian@google.com>
: この行の先頭にある+
記号は、この行がファイルに追加されたことを示します。追加された内容は、Brian Slesinsky氏の名前とメールアドレスです。
この変更は非常に単純で、既存のリストに新しいエントリを挿入するだけです。ファイルの構造や既存のコードロジックに影響を与えるものではありません。
コアとなるコードの変更箇所
変更されたファイルはCONTRIBUTORS
のみです。
追加された行は以下の通りです。
+Brian Slesinskya <skybrian@google.com>
この行は、Brian Dellisanti <briandellisanti@gmail.com>
の直後、Brendan O'Dea <bod@golang.org>
の直前に挿入されています。これは、アルファベット順に並べられた貢献者リストの適切な位置に挿入されたことを示唆しています。
コアとなるコードの解説
このコミットにおける「コード」は、厳密にはGo言語のソースコードではなく、プロジェクトのメタデータファイルであるCONTRIBUTORS
ファイルです。このファイルへの変更は、Goプロジェクトの管理と法的な側面に関連しています。
この行の追加は、Brian Slesinsky氏がGoプロジェクトへの貢献を開始するための正式なステップが完了したことを意味します。彼がGoogle CLAに署名したことで、彼の将来のコード貢献は法的に保護され、Goプロジェクトのコードベースに統合される準備が整いました。これは、オープンソースプロジェクトにおける貢献者のオンボーディングプロセスの一部であり、特に大規模で法的に厳格なプロジェクトでは不可欠なステップです。
関連リンク
- GoプロジェクトのGerrit変更リスト: https://golang.org/cl/6496103
参考にした情報源リンク
- Contributor License Agreement (CLA) について:
- Goプロジェクトの貢献ガイドライン (CLAに関する情報が含まれる可能性があります):
- https://go.dev/doc/contribute (一般的なGoプロジェクトの貢献ガイドラインへのリンク。CLAに関する具体的な記述があるかは確認が必要ですが、関連情報として提示します。)
- Git diff の読み方: