[インデックス 14718] ファイルの概要
このコミットは、Goプロジェクトへの新しい貢献者であるErik St. Martin氏を公式に承認し、その情報をプロジェクトの貢献者リストに追加するものです。具体的には、AUTHORS
ファイルとCONTRIBUTORS
ファイルにErik St. Martin氏の名前とメールアドレスが追記されています。
コミット
commit 90a85dbefcc7047eaa0a4466a344a6457b856b74
Author: Russ Cox <rsc@golang.org>
Date: Sat Dec 22 11:13:25 2012 -0500
A+C: Erik St. Martin (individual CLA)
Generated by addca.
R=gobot
CC=golang-dev
https://golang.org/cl/7007051
GitHub上でのコミットページへのリンク
https://github.com/golang/go/commit/90a85dbefcc7047eaa0a4466a344a6457b856b74
元コミット内容
A+C: Erik St. Martin (individual CLA)
Generated by addca.
R=gobot
CC=golang-dev
https://golang.org/cl/7007051
変更の背景
このコミットの背景には、オープンソースプロジェクトにおける貢献者の管理と、知的財産権の明確化という重要な側面があります。Goプロジェクトのような大規模なオープンソースプロジェクトでは、多くの開発者がコードを貢献します。これらの貢献がプロジェクトに組み込まれる前に、プロジェクトの所有者(この場合はGoogle)は、貢献されたコードを合法的に使用、配布、ライセンス供与する権利を確保する必要があります。
この目的のために、「Contributor License Agreement (CLA)」が導入されています。CLAは、貢献者が自身の貢献に対する著作権を保持しつつ、プロジェクトの所有者に対して、その貢献をプロジェクトのライセンスの下で利用する永続的で取り消し不能な権利を付与する法的な合意です。
このコミットは、Erik St. Martin氏がGoプロジェクトに貢献するために必要な「Individual CLA」(個人貢献者ライセンス契約)に署名したことを示しています。addca
というツール(おそらく「add Contributor Agreement」の略)がこのプロセスを自動化し、CLAに署名した貢献者の情報をプロジェクトの公式な貢献者リストであるAUTHORS
ファイルとCONTRIBUTORS
ファイルに自動的に追加しています。これにより、GoプロジェクトはErik St. Martin氏の将来の貢献を法的に問題なく受け入れる準備が整ったことになります。
前提知識の解説
Contributor License Agreement (CLA)
CLA(貢献者ライセンス契約)は、オープンソースプロジェクトにおいて、貢献者が自身のコードをプロジェクトに提供する際に署名する法的な文書です。その主な目的は以下の通りです。
- 知的財産権の明確化: 貢献されたコードの著作権が誰に帰属するか、そしてプロジェクトがそのコードをどのように利用できるかを明確にします。これにより、将来的な著作権侵害の訴訟リスクを軽減します。
- ライセンスの統一性: プロジェクト全体でコードのライセンスが統一されていることを保証します。貢献者が異なるライセンスでコードを提供した場合、プロジェクト全体のライセンスが複雑になる可能性がありますが、CLAによってこれを防ぎます。
- プロジェクトの持続可能性: プロジェクトの所有者(企業や財団など)が、貢献されたコードを自由に利用、再ライセンス、配布できる権利を持つことで、プロジェクトの長期的な維持と発展を保証します。
Goプロジェクトの場合、Googleがプロジェクトの所有者であり、貢献者はGoogleのCLAに署名する必要があります。CLAには「Individual CLA」(個人貢献者向け)と「Corporate CLA」(企業貢献者向け)の2種類があり、個人として貢献する場合はIndividual CLAに署名します。
AUTHORS
ファイルとCONTRIBUTORS
ファイル
多くのオープンソースプロジェクトでは、プロジェクトに貢献した人々を記録するためのテキストファイルが慣習的に存在します。
AUTHORS
ファイル: 通常、プロジェクトの主要な作者や、特に重要な貢献をした人々をリストアップします。著作権表示に関連して使用されることもあります。CONTRIBUTORS
ファイル: プロジェクトに貢献したすべての個人や組織をより包括的にリストアップします。これには、コードの貢献だけでなく、ドキュメントの作成、バグ報告、テスト、翻訳など、様々な形の貢献が含まれることがあります。
これらのファイルは、プロジェクトの透明性を高め、貢献者への感謝を示す役割も果たします。
addca
ツール
コミットメッセージにあるGenerated by addca.
という記述から、addca
はGoプロジェクト内部で使用される自動化ツールであることが推測されます。このツールは、新しい貢献者がCLAに署名した際に、その情報を自動的にAUTHORS
ファイルとCONTRIBUTORS
ファイルに追記する役割を担っていると考えられます。これにより、手作業によるミスを防ぎ、貢献者追加のプロセスを効率化しています。addca
は「add Contributor Agreement」の略である可能性が高いです。
技術的詳細
このコミットは、Goプロジェクトのソースコード自体に機能的な変更を加えるものではなく、プロジェクトのメタデータ、具体的には貢献者リストを更新するものです。
変更のプロセスは以下のようになります。
- CLA署名: Erik St. Martin氏がGoogleのIndividual CLAにオンラインで署名します。
addca
ツールの実行: CLA署名が確認されると、Goプロジェクトのメンテナまたは自動化されたシステムがaddca
ツールを実行します。- ファイル更新:
addca
ツールは、Erik St. Martin氏の名前とメールアドレスをAUTHORS
ファイルとCONTRIBUTORS
ファイルの適切な位置に追記します。このコミットでは、アルファベット順に既存のエントリの間に挿入されています。 - コミット生成:
addca
ツールは、この変更を含むGitコミットを自動的に生成します。コミットメッセージには、誰が追加されたか、どのCLAに署名したか、そしてaddca
によって生成されたことが明記されます。
この自動化されたプロセスは、大規模なプロジェクトにおいて貢献者管理の正確性と効率性を保証するために不可欠です。手動でこれらのファイルを更新すると、ヒューマンエラーが発生しやすくなり、また、貢献者の追加が遅れる可能性があります。
コアとなるコードの変更箇所
diff --git a/AUTHORS b/AUTHORS
index febafdb538..2e31a67cc9 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -90,6 +90,7 @@ Eoghan Sherry <ejsherry@gmail.com>
Eric Clark <zerohp@gmail.com>
Eric Milliken <emilliken@gmail.com>
Eric Roshan-Eisner <eric.d.eisner@gmail.com>
+Erik St. Martin <alakriti@gmail.com>
Esko Luontola <esko.luontola@gmail.com>
Evan Shaw <chickencha@gmail.com>
Fan Hongjian <fan.howard@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 668e1bbaf5..43310fc8fa 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -143,6 +143,7 @@ Eoghan Sherry <ejsherry@gmail.com>
Eric Clark <zerohp@gmail.com>
Eric Milliken <emilliken@gmail.com>
Eric Roshan-Eisner <eric.d.eisner@gmail.com>
+Erik St. Martin <alakriti@gmail.com>
Esko Luontola <esko.luontola@gmail.com>
Evan Martin <evan.martin@gmail.com>
Evan Shaw <chickencha@gmail.com>
コアとなるコードの解説
上記の差分は、AUTHORS
ファイルとCONTRIBUTORS
ファイルに対する変更を示しています。
-
AUTHORS
ファイル:@@ -90,6 +90,7 @@
は、変更がファイルの90行目から始まり、元の6行が変更後7行になったことを示します。+Erik St. Martin <alakriti@gmail.com>
の行が追加されています。これは、Erik St. Martin氏の名前とメールアドレスがAUTHORS
リストに新しいエントリとして追加されたことを意味します。既存のEric Roshan-Eisner
とEsko Luontola
の間に挿入されており、リストがアルファベット順に維持されていることがわかります。
-
CONTRIBUTORS
ファイル:@@ -143,6 +143,7 @@
は、変更がファイルの143行目から始まり、元の6行が変更後7行になったことを示します。- 同様に、
+Erik St. Martin <alakriti@gmail.com>
の行が追加されています。こちらもAUTHORS
ファイルと同様に、アルファベット順に挿入されています。
これらの変更は、Erik St. Martin氏がGoプロジェクトの公式な貢献者として認識され、その情報がプロジェクトの記録に永続的に追加されたことを明確に示しています。
関連リンク
- GitHub上のコミットページ: https://github.com/golang/go/commit/90a85dbefcc7047eaa0a4466a344a6457b856b74
- GoプロジェクトのCLA情報 (一般的な情報): https://go.dev/doc/contribute#cla
- Google Developers CLAページ: https://cla.developers.google.com/
参考にした情報源リンク
- Goプロジェクトの貢献者ライセンス契約に関する情報: https://opensource.google/docs/cla/
- Goプロジェクトの貢献ガイドライン: https://go.dev/doc/contribute
- Contributor License Agreement (CLA) - Wikipedia: https://en.wikipedia.org/wiki/Contributor_License_Agreement
- GoにおけるCA証明書の管理に関する一般的な情報 (今回の
addca
とは直接関係ないが、addca
という用語の一般的な意味を理解するために参照):- https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQFMzAa09xiaiPgEP099srXWdazDYOh8Qb1PY-xWLvM37l1zyVDtGePhRbE8jkeSJGB6g9zgFV4fHxdy3vhhft_7-eCFQLddNU7xRCTQrsB5hTAxwPmCBffDz1RirzEbNtV2l1cDS6a0jW7yznX0QjsXw519_QmpvYgd2LQ7E5UNAEEfag==
- https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQESNujC3kc538mQ06X4FDFLgNvDdgYjHTY3YYu89T5ToxNjTJgyn9gtUFL9KfNoPUNZtdpS5MDOnk2SdYOiJCxgB_UiVWQz2UA1nDJXQ-djMtsj7IHlV95gS3AlTr60ts_jBI_5tJU1a-CFnlmlwvQw_5ELRMEUL3erNpgDLhuP6FgaIZDrDx4H4KBFwqo=
- https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQHKztTO3ni8IBBX-fYzN5YRjsIoWAf4NsLJuWYSZQfYMCfqdhg3RIwtni1AB2NQ8AYY-jwko42E-M5udczifrCzZi2AToA4IvjRo9Ogl1y4yu5sTuEGCO1AZ3-AQr_DBjUYMUeT6B_HYOKQ6jLkmQ391Q==
- https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQExEvnyIZ5mXMuTN7Lj5_7gr4oY7qbZXZnKDM0dX1N1mTRfC2eQgOJYCqhTx7hpz63hj025102AAZJOYqAnoOxxvIEF3DXsVEb3aOJd5YMihCCrDqmmv9o5a9FOtQAfx37UV-YuRdY8wTxTdWiWYjXKr6l7F_AvtKw7sXpreZkAzhSxFuSATMWQ55ML
- https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQEoFhyEWH1NXj7sNOK7XnyNzCrXL9WlJN1h77to23cwiEWOfYsCBDoAK_W1hQ-3iskpg-Ws9VCyhxKeocqn4D8gLsnxOeFeTgJvQDs4YJqmrz61L4Kf1ocUmNyvGseuszlv8sSBRBnHFPIh11i3KdP8wzNm1-RJzfr5ad0=
- https://ko.build/
- https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQGB3wtep3BI_81FUCehEpGbN3v9h1MChkv3trZTIaXgmoLFCDrAaRtSD523U_hH80R0vR8vTtKCG1i9mCSxiDhgQl_mOSJgT2Nv8FRz6BV-jlMtH2sRi6FEMBwLSOLCUH6lOjBDh37UwTw=
- https://github.com/gwatts/rootcerts
- https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQEVgyX_YHt-PyO3irvKDXKQNgp29YfkjGvzGKI3dpePO2kvLnQqRLhFC8qWImzBVRgbWb0OORZI_rg_pFWt3j_SiZlP4S7621gBXYkERo-CZ7gV3-fcyn5FOqTwu4Y2nMcynZ7bvvIAog==
- https://stackoverflow.com/questions/31800048/how-to-add-custom-ca-certificates-to-go-applications
- https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQF4KXgwInXDNYJapFLip3r6qB38Uyudr4xe4xwFJjNsCDAH3oBmjQivEhdcQQ2Tp8LSw_iRf-sslWv3BYr2CHI0DgCBmfXA2qjRWCSOJZnAE8a8o3BQDvO60j0WTo-2QJlmpxNEW6W7_qhhxSgoFGIMvu3ItSidH_aezewxMJghGEM1biMlpXWVxzRpZJQplQ==
- https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQE7ZIuK3SDL14JxdpEbvhsFBse2m8D2T7E1HUU7oRZ9nc70QZX_LDbSqkvVdkPrSgqLRN-8orUor14cd1fpv4J8OUt3XkVRwWOIUBqfTUtKKQciY1dbVpUpZYCAItvKNazWbw8=
- https://go.dev/blog/certificate-management
- https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQFWkN4rhmgXDaYN4awH0U9obOWeVSvrfR4D6VG93TS3AtuUD-3JhhpyKH4sgv3dVQ0cR2UeXJSHUCbuiXFAwoUzaMYETZR96kAeL9d4ObP2nSe4IJOwqFl7ZjCPILP3EpMGtbqpnOmkxFTAZV4plA==