[インデックス 11390] ファイルの概要
このコミットは、Goプロジェクトの貢献者リストに新しい個人を追加するものです。具体的には、AUTHORS
ファイルとCONTRIBUTORS
ファイルにRobert Figueiredo氏のエントリが追加されています。これは、彼がGoプロジェクトへの貢献を正式に開始するために必要な、個人貢献者ライセンス契約(Individual CLA)を締結したことを示しています。
コミット
commit 9f16d7fbeecdfbec109bcf207a65d6c725930933
Author: Russ Cox <rsc@golang.org>
Date: Wed Jan 25 15:50:19 2012 -0500
A+C: Robert Figueiredo (individual CLA)
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5574067
GitHub上でのコミットページへのリンク
https://github.com/golang/go/commit/9f16d7fbeecdfbec109bcf207a65d6c725930933
元コミット内容
A+C: Robert Figueiredo (individual CLA)
R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5574067
変更の背景
オープンソースプロジェクト、特にGoogleが主導するGoのような大規模なプロジェクトでは、知的財産権の管理が非常に重要です。貢献者がコードを提出する際、そのコードがプロジェクトのライセンスの下で適切に配布されることを保証する必要があります。この保証のために、多くのプロジェクトでは貢献者ライセンス契約(CLA: Contributor License Agreement)の締結を求めています。
このコミットの背景には、Robert Figueiredo氏がGoプロジェクトに貢献する意向があり、そのために必要なIndividual CLAを締結したという事実があります。CLAが締結された後、プロジェクトの公式な貢献者リストにその名前が追加されるのが一般的なプロセスです。これにより、将来彼が行うすべての貢献が、Goプロジェクトのライセンス(通常はBSDライセンス)の下で適切に利用可能であることが法的に明確になります。
前提知識の解説
貢献者ライセンス契約 (CLA: Contributor License Agreement)
CLAは、個人または企業がオープンソースプロジェクトに貢献する際に、プロジェクトの所有者(この場合はGoogle)と貢献者の間で締結される法的文書です。CLAの主な目的は以下の通りです。
- 知的財産権の明確化: 貢献されたコードの著作権が誰に帰属するか、またはプロジェクトがそのコードをどのように利用できるかを明確にします。多くのCLAでは、貢献者は自身の貢献に対する著作権を保持しつつ、プロジェクトに対してそのコードをプロジェクトのライセンスの下で利用、配布、変更する永続的で取り消し不能な権利を付与します。
- ライセンスの整合性: プロジェクト全体のコードベースが単一のライセンス(または互換性のあるライセンス)の下で配布されることを保証します。これにより、将来的なライセンスの変更や、コードの再ライセンスが容易になります。
- 法的保護: プロジェクトの所有者やユーザーが、貢献されたコードに関する著作権侵害の訴訟から保護されることを助けます。
GoプロジェクトのようなGoogleが主導するプロジェクトでは、GoogleのCLAが使用されます。これは、Googleが管理する多くのオープンソースプロジェクトで共通して採用されているものです。
AUTHORSファイルとCONTRIBUTORSファイル
多くのオープンソースプロジェクトには、プロジェクトに貢献した人々をリストアップするファイルが存在します。
- AUTHORS: このファイルは通常、プロジェクトの主要な作者や、著作権表示の対象となる人々をリストアップします。歴史的な経緯や、プロジェクトの初期からの貢献者が含まれることが多いです。
- CONTRIBUTORS: このファイルは、コード、ドキュメント、テスト、バグ報告、レビューなど、何らかの形でプロジェクトに貢献したすべての個人をリストアップします。AUTHORSファイルよりも広範な貢献者を含みます。
これらのファイルは、貢献者への感謝を示すだけでなく、プロジェクトの透明性を高め、誰がプロジェクトの発展に寄与したかを記録する役割も果たします。
技術的詳細
このコミット自体は、Go言語のコードベースに対する技術的な変更ではありません。これは、プロジェクトのメタデータ、具体的には貢献者リストを更新する管理上のコミットです。
Gitの差分(diff)を見ると、AUTHORS
ファイルとCONTRIBUTORS
ファイルの両方に、Robert Figueiredo氏の名前とメールアドレスが追加されていることがわかります。
AUTHORS
ファイルでは、既存のアルファベット順のリストにRobert Figueiredo <robfig@gmail.com>
が挿入されています。CONTRIBUTORS
ファイルでも同様に、既存のリストにRobert Figueiredo <robfig@gmail.com>
が追加されています。
この変更は、Goプロジェクトのガバナンスと法務プロセスの一部であり、新しい貢献者がプロジェクトにコードを提出する前に完了する必要があるステップです。
コアとなるコードの変更箇所
このコミットで変更されたファイルは以下の2つです。
AUTHORS
CONTRIBUTORS
それぞれのファイルで、Robert Figueiredo氏のエントリが追加されています。
diff --git a/AUTHORS b/AUTHORS
index 25785eb024..166e4cd5eb 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -149,6 +149,7 @@ Quan Yong Zhai <qyzhai@gmail.com>
Raif S. Naffah <go@naffah-raif.name>
Rémy Oudompheng <oudomphe@phare.normalesup.org>
Risto Jaakko Saarelma <rsaarelm@gmail.com>
+Robert Figueiredo <robfig@gmail.com>
Robert Hencke <robert.hencke@gmail.com>
Roger Pau Monné <royger@gmail.com>
Roger Peppe <rogpeppe@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 738bdccf34..30357f8b3a 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -224,6 +224,7 @@ Raph Levien <raph@google.com>
Rémy Oudompheng <oudomphe@phare.normalesup.org> <remyoudompheng@gmail.com>
Risto Jaakko Saarelma <rsaarelm@gmail.com>
Rob Pike <r@golang.org>
+Robert Figueiredo <robfig@gmail.com>
Robert Griesemer <gri@golang.org>
Robert Hencke <robert.hencke@gmail.com>
Roger Pau Monné <royger@gmail.com>
コアとなるコードの解説
変更されたのは、プレーンテキストファイルであるAUTHORS
とCONTRIBUTORS
です。これらのファイルは、特定のプログラミング言語の構文を持つコードファイルではありません。
AUTHORS
ファイルでは、行番号149の後に新しい行が追加され、Robert Figueiredo <robfig@gmail.com>
が挿入されています。これは、既存のリストのアルファベット順を維持するための配置です。CONTRIBUTORS
ファイルでも同様に、行番号224の後に新しい行が追加され、Robert Figueiredo <robfig@gmail.com>
が挿入されています。
この変更は、Goプロジェクトの貢献者管理プロセスの一環として、手動またはスクリプトによって行われます。コミットメッセージのA+C
は、AUTHORS
とCONTRIBUTORS
ファイルへの追加を意味していると推測されます。
関連リンク
- Goプロジェクトの公式ウェブサイト: https://golang.org/
- Goプロジェクトの貢献ガイドライン(CLAに関する情報が含まれることが多い): 通常、GoのGitHubリポジトリの
CONTRIBUTING.md
ファイルや、公式ドキュメントで確認できます。 - GoogleのCLAに関する情報: https://cla.developers.google.com/
参考にした情報源リンク
- GoプロジェクトのGitHubリポジトリ: https://github.com/golang/go
- 一般的なオープンソースプロジェクトにおけるCLAの概念に関する情報源(例: Wikipedia, Open Source Initiativeのドキュメントなど)
- Gitのdiffコマンドの出力形式に関する知識
- オープンソースプロジェクトの慣習に関する一般的な知識