[インデックス 13448] ファイルの概要
このコミットは、GoプロジェクトのAUTHORS
ファイルとCONTRIBUTORS
ファイルに、新たな貢献者であるMatthew William Jibson氏の情報を追加するものです。これは、彼が個人のContributor License Agreement (CLA) に署名したことを示しています。
コミット
A+C: Matthew Jibson (individual CLA).
R=golang-dev, alex.brainman
CC=golang-dev
https://golang.org/cl/6349082
GitHub上でのコミットページへのリンク
https://github.com/golang/go/commit/3be9f0b30a0ad1b10a82ae215c0a384460cd3f0e
元コミット内容
commit 3be9f0b30a0ad1b10a82ae215c0a384460cd3f0e
Author: David Symonds <dsymonds@golang.org>
Date: Sun Jul 8 11:56:26 2012 +1000
A+C: Matthew Jibson (individual CLA).
R=golang-dev, alex.brainman
CC=golang-dev
https://golang.org/cl/6349082
変更の背景
オープンソースプロジェクトにおいて、コードの貢献を受け入れる際には、プロジェクトのライセンスと整合性を保つために、貢献者からContributor License Agreement (CLA) の署名を求めることが一般的です。CLAは、貢献されたコードがプロジェクトのライセンスの下で配布されることを許可する法的な合意です。
このコミットは、Matthew Jibson氏がGoプロジェクトに貢献するにあたり、個人のCLAに署名したことを受けて行われました。CLAに署名した貢献者の名前は、プロジェクトの公式な貢献者リストであるAUTHORS
およびCONTRIBUTORS
ファイルに追加されます。これにより、プロジェクトの透明性が保たれ、誰がプロジェクトに貢献しているかが明確になります。
前提知識の解説
AUTHORSファイルとCONTRIBUTORSファイル
多くのオープンソースプロジェクトでは、プロジェクトに貢献した人々の名前を記録するために、AUTHORS
やCONTRIBUTORS
といったテキストファイルを使用します。
AUTHORS
ファイル: 主にプロジェクトの主要な作者や、著作権を持つ個人・団体をリストアップするために使われます。CONTRIBUTORS
ファイル: プロジェクトにコード、ドキュメント、翻訳、バグ報告などで貢献したすべての個人をリストアップするために使われます。
これらのファイルは、プロジェクトの歴史と貢献者を追跡するための重要なドキュメントであり、通常はプロジェクトのルートディレクトリに配置されます。
Contributor License Agreement (CLA)
CLA(貢献者ライセンス合意)は、オープンソースプロジェクトにおいて、貢献者が自身の貢献物(コード、ドキュメントなど)をプロジェクトのライセンスの下で利用、配布、変更することをプロジェクトの所有者(または財団)に許可するための法的な文書です。
CLAの主な目的は以下の通りです。
- ライセンスの明確化: 貢献されたコードがプロジェクトの既存のライセンスと互換性があることを保証し、将来的なライセンス変更の可能性を考慮に入れます。
- 著作権の管理: プロジェクトの所有者が、貢献されたコードの著作権を適切に管理し、プロジェクト全体のライセンスを維持できるようにします。これにより、将来的にプロジェクトのライセンスを変更する際などに、個々の貢献者から改めて許可を得る必要がなくなります。
- 法的な保護: プロジェクトが第三者からの著作権侵害の訴訟に直面した場合に、貢献されたコードに関する法的なリスクを軽減します。
CLAには「個人CLA」と「法人CLA」があり、個人が個人的に貢献する場合は個人CLAに、企業や組織が従業員を通じて貢献する場合は法人CLAに署名します。
技術的詳細
このコミットは、GoプロジェクトのAUTHORS
ファイルとCONTRIBUTORS
ファイルという2つのプレーンテキストファイルを変更しています。これらのファイルは、特定のフォーマットに従って貢献者の名前とメールアドレスをリストアップしています。
変更内容は非常にシンプルで、各ファイルの適切な位置に新しい行を追加するだけです。Gitの差分(diff)を見ると、+
記号で示されるように、新しい行が挿入されていることがわかります。
AUTHORS
ファイルには、Matthew William Jibson <matt.jibson@gmail.com>
という行が追加されています。CONTRIBUTORS
ファイルにも、同様にMatthew William Jibson <matt.jibson@gmail.com>
という行が追加されています。
これらのファイルは、通常、アルファベット順にソートされており、新しい貢献者を追加する際にはその順序を維持するように挿入されます。
コアとなるコードの変更箇所
diff --git a/AUTHORS b/AUTHORS
index 706115912e..397faf7195 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -146,6 +146,7 @@ Mateusz Czapliński <czapkofan@gmail.com>
Mathieu Lonjaret <mathieu.lonjaret@gmail.com>
Mats Lidell <mats.lidell@cag.se>
Matthew Horsnell <matthew.horsnell@gmail.com>
+Matthew William Jibson <matt.jibson@gmail.com>
Micah Stetson <micah.stetson@gmail.com>
Michael Chaten <mchaten@google.com>
Michael Elkins <michael.elkins@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 435f6ba6cd..5806c7c501 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -216,6 +216,7 @@ Mathieu Lonjaret <mathieu.lonjaret@gmail.com>
Mats Lidell <mats.lidell@cag.se> <mats.lidell@gmail.com>
Matt Jones <mrjones@google.com>
Matthew Horsnell <matthew.horsnell@gmail.com>
+Matthew William Jibson <matt.jibson@gmail.com>
Maxim Pimenov <mpimenov@google.com>
Maxim Ushakov <ushakov@google.com>
Micah Stetson <micah.stetson@gmail.com>
コアとなるコードの解説
上記の差分は、AUTHORS
ファイルとCONTRIBUTORS
ファイルに対する変更を示しています。
--- a/AUTHORS
と+++ b/AUTHORS
は、AUTHORS
ファイルの変更前と変更後を示しています。@@ -146,6 +146,7 @@
は、変更がファイルの146行目から始まり、変更前は6行、変更後は7行になったことを示しています。+Matthew William Jibson <matt.jibson@gmail.com>
の行は、新しく追加された行です。行頭の+
記号は、その行が追加されたことを意味します。
同様に、CONTRIBUTORS
ファイルでも同じ行が追加されています。これは、Matthew William Jibson氏がGoプロジェクトの正式な貢献者として認識され、その記録がプロジェクトのメタデータに反映されたことを意味します。
このような変更は、コードベースの機能的な変更ではなく、プロジェクトの管理と法的な側面に関連するものです。
関連リンク
- GoプロジェクトのGitHubリポジトリ: https://github.com/golang/go
- Goプロジェクトの貢献ガイドライン (一般的な情報): https://go.dev/doc/contribute
参考にした情報源リンク
- GitHub上のコミットページ: https://github.com/golang/go/commit/3be9f0b30a0ad1b10a82ae215c0a384460cd3f0e
- Contributor License Agreement (CLA) に関する一般的な情報 (例: Apache Software FoundationのCLA): https://www.apache.org/licenses/cla.html (これはGoプロジェクトのCLAそのものではありませんが、CLAの概念を理解するのに役立ちます)