[インデックス 11835] ファイルの概要
このコミットは、GoプロジェクトのAUTHORS
ファイルとCONTRIBUTORS
ファイルに、新たな貢献者であるHong Ruiqi氏の情報を追加するものです。具体的には、両ファイルにHong Ruiqi氏の名前とメールアドレスが1行ずつ追記されています。これは、Goプロジェクトへの貢献が認められ、個人としてのContributor License Agreement (CLA) が締結されたことを示しています。
コミット
- コミットハッシュ:
3760213e6e29fd16ab07b41e94276e05ecd86aba
- Author: Hong Ruiqi hongruiqi@gmail.com
- Date: Sun Feb 12 23:42:34 2012 -0500
GitHub上でのコミットページへのリンク
https://github.com/golang/go/commit/3760213e6e29fd16ab07b41e94276e05ecd86aba
元コミット内容
A+C: Hong Ruiqi (individual CLA)
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5652078
変更の背景
この変更の背景には、Goプロジェクトへの新たな貢献者が加わったことがあります。オープンソースプロジェクト、特に大規模なプロジェクトでは、コードの貢献を受け入れる際に、貢献者ライセンス契約(CLA)の締結を求めることが一般的です。これは、プロジェクトの知的財産権を保護し、将来的なライセンス変更や法的な問題が発生した場合に備えるための重要な手続きです。
Hong Ruiqi氏がGoプロジェクトにコードを貢献するにあたり、個人としてのCLAを締結したため、その貢献者としての情報がプロジェクトの公式な記録であるAUTHORS
およびCONTRIBUTORS
ファイルに追加されることになりました。これにより、プロジェクトの歴史と貢献者のリストが正確に保たれます。
前提知識の解説
AUTHORSファイルとCONTRIBUTORSファイル
多くのオープンソースプロジェクトでは、プロジェクトに貢献した人々を記録するために、AUTHORS
やCONTRIBUTORS
といったファイルがリポジトリのルートに配置されています。
AUTHORS
ファイル: 主にプロジェクトの主要な作者や、著作権を持つ個人・団体をリストアップするために使用されます。このファイルは、プロジェクトの著作権表示やライセンス情報と密接に関連していることが多いです。CONTRIBUTORS
ファイル: プロジェクトにコード、ドキュメント、翻訳、バグ報告、テストなど、何らかの形で貢献したすべての個人をリストアップするために使用されます。AUTHORS
ファイルよりも広範な貢献者を含むことが一般的です。
これらのファイルは、プロジェクトの透明性を高め、貢献者への感謝を示す役割も果たします。
Contributor License Agreement (CLA)
Contributor License Agreement (CLA) は、オープンソースプロジェクトにおいて、貢献者がその貢献(コード、ドキュメントなど)の著作権をプロジェクトの所有者(または特定の財団など)に譲渡するか、または特定のライセンスの下で利用することを許可する法的な合意書です。
CLAを導入する主な理由は以下の通りです。
- 知的財産権の明確化: 貢献されたコードの著作権の帰属を明確にし、将来的な著作権侵害の訴訟リスクを軽減します。
- ライセンスの柔軟性: プロジェクトのライセンスを将来的に変更する必要が生じた場合でも、すべての貢献者から事前に許可を得ているため、スムーズに移行できます。これは、各貢献者から個別に許可を得る手間を省きます。
- 法的な保護: プロジェクトが第三者から著作権侵害で訴えられた場合、CLAによってプロジェクト側が貢献されたコードを合法的に利用していることを証明できます。
CLAには、個人が署名する「Individual CLA」と、企業が署名する「Corporate CLA」の2種類があります。このコミットでは「individual CLA」と明記されており、Hong Ruiqi氏が個人としてCLAを締結したことを示しています。GoプロジェクトはGoogleによって開始され、GoogleがCLAを管理しています。
技術的詳細
このコミットは、Goプロジェクトのソースコード管理において、新たな貢献者を正式に記録するための標準的な手順の一部です。技術的には、単にテキストファイルであるAUTHORS
とCONTRIBUTORS
に新しい行を追加する操作です。
Gitの差分情報を見ると、以下のようになっています。
AUTHORS
ファイル (a/AUTHORS
からb/AUTHORS
への変更):@@ -81,6 +81,7 @@
は、変更がファイルの81行目から始まり、元の6行が変更後の7行になったことを示します。+Hong Ruiqi <hongruiqi@gmail.com>
の行が追加されています。これは、既存の貢献者リストのアルファベット順に挿入されたものと推測されます。
CONTRIBUTORS
ファイル (a/CONTRIBUTORS
からb/CONTRIBUTORS
への変更):@@ -124,6 +124,7 @@
は、変更がファイルの124行目から始まり、元の6行が変更後の7行になったことを示します。+Hong Ruiqi <hongruiqi@gmail.com>
の行が追加されています。こちらも同様に、既存の貢献者リストのアルファベット順に挿入されたものと推測されます。
この変更自体は非常にシンプルですが、その背後にはCLAの締結という重要な法的手続きと、オープンソースプロジェクトにおける貢献者管理のベストプラクティスが存在します。
コアとなるコードの変更箇所
このコミットにおける「コード」とは、Go言語のソースコードではなく、プロジェクトのメタデータファイルであるAUTHORS
とCONTRIBUTORS
を指します。
AUTHORS
ファイルへの変更:
--- a/AUTHORS
+++ b/AUTHORS
@@ -81,6 +81,7 @@ Gustav Paul <gustav.paul@gmail.com>
Gustavo Niemeyer <gustavo@niemeyer.net>
Harley Laue <losinggeneration@gmail.com>
Hector Chu <hectorchu@gmail.com>
+Hong Ruiqi <hongruiqi@gmail.com>
Icarus Sparry <golang@icarus.freeuk.com>
Isaac Wagner <ibw@isaacwagner.me>
James Fysh <james.fysh@gmail.com>
CONTRIBUTORS
ファイルへの変更:
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -124,6 +124,7 @@ Gustav Paul <gustav.paul@gmail.com>
Gustavo Niemeyer <gustavo@niemeyer.net> <n13m3y3r@gmail.com>
Harley Laue <losinggeneration@gmail.com>
Hector Chu <hectorchu@gmail.com>
+Hong Ruiqi <hongruiqi@gmail.com>
Ian Lance Taylor <iant@golang.org>
Icarus Sparry <golang@icarus.freeuk.com>
Isaac Wagner <ibw@isaacwagner.me>
コアとなるコードの解説
上記の変更箇所は、Goプロジェクトの貢献者リストにHong Ruiqi氏を追加するものです。
AUTHORS
ファイルでは、Goプロジェクトの主要な作者や著作権保持者として、Hong Ruiqi氏の名前とメールアドレスが追加されました。CONTRIBUTORS
ファイルでは、Goプロジェクトに貢献したすべての個人として、Hong Ruiqi氏の名前とメールアドレスが追加されました。
これらの変更は、Hong Ruiqi氏がGoプロジェクトに貢献する資格を得て、その貢献が正式に認められたことを示す記録となります。コミットメッセージにある「A+C: Hong Ruiqi (individual CLA)」は、この追加が個人としてのContributor License Agreement (CLA) の締結に基づいていることを明確に示しています。
関連リンク
- Goプロジェクトの貢献ガイドライン: Goプロジェクトへの貢献方法やCLAに関する詳細な情報が記載されている可能性があります。
- https://go.dev/doc/contribute (Go公式の貢献ガイドライン)
- GoプロジェクトのCLAに関する情報:
- https://cla.developers.google.com/ (Google Developers CLAページ)
- https://go.dev/s/go-cla (GoプロジェクトのCLAに関する情報)
参考にした情報源リンク
- GoプロジェクトのGitHubリポジトリ: https://github.com/golang/go
- Gitの差分表示に関する一般的な情報
- オープンソースプロジェクトにおける
AUTHORS
およびCONTRIBUTORS
ファイルの慣習 - Contributor License Agreement (CLA) に関する一般的な情報
- Google検索: "Go project AUTHORS CONTRIBUTORS files", "Go Contributor License Agreement"