[インデックス 16966] ファイルの概要
このコミットは、GoプロジェクトのCONTRIBUTORS
ファイルに新しい貢献者であるChris Manghane氏を追加するものです。これは、彼がGoogle Contributor License Agreement (CLA) に署名し、Goプロジェクトへの貢献が認められたことを示しています。
コミット
- コミットハッシュ:
bc8f443435dfb6631e48349e7c616edb573879a5
- Author: Andrew Gerrand adg@golang.org
- Date: Thu Aug 1 13:22:42 2013 +1000
GitHub上でのコミットページへのリンク
https://github.com/golang/go/commit/bc8f443435dfb6631e48349e7c616edb573879a5
元コミット内容
C: add Chris Manghane (Google CLA)
R=golang-dev
CC=golang-dev
https://golang.org/cl/12222043
変更の背景
この変更の背景には、オープンソースプロジェクトにおける知的財産権の管理と、貢献者の法的保護の確保という重要な側面があります。Googleのような企業が主導する大規模なオープンソースプロジェクトでは、外部からのコード貢献を受け入れる際に、その貢献がプロジェクトのライセンスと整合し、将来的な法的問題(例えば、著作権侵害の申し立て)を回避できるようにするための仕組みが必要です。
Google Contributor License Agreement (CLA) は、この目的のために設計された法的文書です。貢献者がCLAに署名することで、Googleは貢献されたコードを使用、複製、変更、配布、およびサブライセンスする権利を得ます。これにより、Googleはプロジェクトのコードベース全体に対する明確な知的財産権を確立し、プロジェクトの安定性と持続可能性を保証することができます。
Chris Manghane氏がGoプロジェクトに貢献するにあたり、Google CLAに署名したため、その事実を公式に記録するためにCONTRIBUTORS
ファイルに彼の名前が追加されました。これは、彼がGoプロジェクトの正式な貢献者として認められたことを意味します。
前提知識の解説
Contributor License Agreement (CLA)
Contributor License Agreement (CLA) は、オープンソースプロジェクトにおいて、貢献者(個人または企業)がそのコードをプロジェクトに提供する際に署名する法的契約です。CLAの主な目的は以下の通りです。
- 知的財産権の明確化: 貢献されたコードの著作権が誰に帰属するか、プロジェクトの運営主体がそのコードをどのように利用できるかを明確にします。これにより、将来的な著作権紛争やライセンスの不整合を防ぎます。
- ライセンスの柔軟性: プロジェクトが将来的にライセンスを変更する可能性を考慮し、貢献されたコードが新しいライセンスの下でも利用できるようにする権利を確保します。
- 法的保護: プロジェクトの運営主体が、貢献されたコードに起因する法的責任から保護されるようにします。
Google Contributor License Agreement (CLA)
Google CLAは、Googleが管理するオープンソースプロジェクト(Go、Android、Kubernetesなど)にコードを貢献する際に必要となる特定のCLAです。Google CLAには以下の特徴があります。
- 包括性: 一度署名すれば、その個人または企業はGoogleのすべてのオープンソースプロジェクトに貢献できるようになります。プロジェクトごとに個別のCLAに署名する必要はありません。
- 個人CLAと企業CLA:
- 個人CLA: 個人が自身の著作権を持つコードを貢献する場合に署名します。
- 企業CLA: 従業員が企業に代わってコードを貢献する場合に、企業が署名します。この場合、貢献されたコードの著作権は企業に帰属します。
- 自動チェック: GitHubなどのプラットフォームでプルリクエストが提出されると、自動ツールが貢献者がCLAに署名済みであるかを確認します。未署名の場合、署名を促すメッセージが表示されます。
GoプロジェクトはGoogleによって開発・管理されているため、外部からの貢献を受け入れる際にはGoogle CLAの署名が必須となっています。CONTRIBUTORS
ファイルは、このCLAに署名し、プロジェクトに貢献した個人や企業をリストアップする役割を担っています。
技術的詳細
このコミットは、GoプロジェクトのルートディレクトリにあるCONTRIBUTORS
というテキストファイルに対する変更です。このファイルは、Goプロジェクトにコードを貢献し、かつGoogle CLAに署名したすべての個人(または企業)の名前と連絡先情報を記録するために使用されます。
変更内容は非常にシンプルで、CONTRIBUTORS
ファイルに新しい行を追加し、Chris Manghane氏の名前とメールアドレス(Chris Manghane <cmang@golang.org>
)を追記しています。この追加は、彼がGoプロジェクトへの貢献を開始する準備が整ったことを示す公式な記録となります。
ファイルの変更は、バージョン管理システムであるGitの差分(diff)として表現されており、既存の行の間に新しい行が挿入されたことを示しています。
コアとなるコードの変更箇所
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index d6cec12eed..4757494817 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -114,6 +114,7 @@ Chris Howey <howeyc@gmail.com>
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>
Christian Himpel <chressie@googlemail.com> <chressie@gmail.com>
Christine Hansmann <chhansmann@gmail.com>
Christoph Hack <christoph@tux21b.org>
コアとなるコードの解説
上記の差分は、CONTRIBUTORS
ファイルに対する変更を示しています。
--- a/CONTRIBUTORS
と+++ b/CONTRIBUTORS
は、それぞれ変更前のファイルと変更後のファイルを示します。@@ -114,6 +114,7 @@
は、変更がファイルの114行目から始まり、変更前は6行、変更後は7行であることを示しています。+Chris Manghane <cmang@golang.org>
の行が追加されています。これは、Chris Manghane氏の名前と彼のGoプロジェクトにおける連絡先メールアドレスが、CONTRIBUTORS
ファイルに新しく挿入されたことを意味します。
この変更は、Goプロジェクトの貢献者リストを最新の状態に保つためのルーティンワークの一部であり、新しい貢献者がプロジェクトに参加する際の標準的な手続きです。
関連リンク
- GitHubコミットページ: https://github.com/golang/go/commit/bc8f443435dfb6631e48349e7c616edb573879a5
- GoプロジェクトのCLA情報 (Go公式サイト): https://go.dev/doc/contribute#cla (これは一般的なGoの貢献ガイドラインであり、特定のCLA文書への直接リンクではない可能性がありますが、CLAの重要性について言及されています。)
参考にした情報源リンク
- Google Open Source - Contributor License Agreements: https://opensource.google/docs/cla/
- Go公式サイト - Contributing to Go: https://go.dev/doc/contribute
- Wikipedia - Contributor License Agreement: https://en.wikipedia.org/wiki/Contributor_License_Agreement