[インデックス 17014] ファイルの概要
このコミットは、Goプロジェクトのコントリビューターリストに新しい個人を追加するものです。具体的には、AUTHORS
ファイルと CONTRIBUTORS
ファイルに Josh Bleecher Snyder
氏のエントリが追加されています。コミットメッセージにある A+C: Josh Bleecher Snyder (individual CLA)
および Generated by addca.
から、これは addca
ツールによって生成された、個人コントリビューターライセンス契約 (CLA) に署名したコントリビューターの追加であることがわかります。
コミット
- コミットハッシュ:
67f2ca35305748cdfca3fc1f3f8d9c5865c8a35f
- Author:
Rob Pike <r@golang.org>
- Date:
Sun Aug 4 08:41:02 2013 +1000
GitHub上でのコミットページへのリンク
https://github.com/golang/go/commit/67f2ca35305748cdfca3fc1f3f8d9c5865c8a35f
元コミット内容
A+C: Josh Bleecher Snyder (individual CLA)
Generated by addca.
R=gobot
CC=golang-dev
https://golang.org/cl/12419043
変更の背景
このコミットの背景には、オープンソースプロジェクト、特にGoのような大規模なプロジェクトにおけるコントリビューターライセンス契約 (CLA) の重要性があります。CLAは、プロジェクトの知的財産権を明確にし、将来的な法的紛争を防ぐために用いられます。
Goプロジェクトでは、コントリビューターがコードを提出する前にCLAに署名することを求めています。これにより、プロジェクトのメンテナーは、コントリビューションを使用、変更、配布するための必要な法的許可を得ることができます。addca
ツールは、このCLA署名プロセスを管理し、署名が完了したコントリビューターの情報を AUTHORS
および CONTRIBUTORS
ファイルに自動的に追加するために使用されます。
したがって、このコミットは、Josh Bleecher Snyder 氏がGoプロジェクトへの貢献を開始するにあたり、必要なCLAに署名したことを記録するためのものです。
前提知識の解説
コントリビューターライセンス契約 (CLA)
コントリビューターライセンス契約 (Contributor License Agreement, CLA) は、オープンソースプロジェクトにおいて、コントリビューターが自身の貢献に対する知的財産権をプロジェクトの所有者またはメンテナーにどのように付与するかを明確にするための法的な文書です。
CLAの目的:
- 所有権の明確化: 貢献されたコードの所有権と利用権を明確にし、プロジェクトがそのコードを自由に利用、変更、配布できるようにします。
- 法的リスクの軽減: 将来的に知的財産権に関する紛争が発生するリスクを低減します。特に、プロジェクトが商業利用される場合や、ライセンス変更が必要になった場合に重要となります。
- ライセンスの統一性: プロジェクト全体のコードベースが単一のライセンスの下で管理されることを保証します。
CLAの種類:
- 個人CLA (Individual CLA): 個人が自身の著作権を持つ貢献を行う場合に署名します。
- 企業CLA (Corporate CLA): 企業が従業員を通じて貢献を行う場合に、その企業の代表者が署名します。これにより、貢献が企業の知的財産として扱われることを明確にします。
Goプロジェクトでは、個人の貢献者に対しては個人CLAを、企業からの貢献者に対しては企業CLAを求めています。
addca
ツール
addca
は、Goプロジェクト内でコントリビューターライセンス契約 (CLA) の管理を自動化するために使用される内部ツールです。このツールは、新しいコントリビューターがCLAに署名した際に、その情報をプロジェクトの AUTHORS
および CONTRIBUTORS
ファイルに自動的に追加する役割を担っています。これにより、手動でのファイル編集ミスを防ぎ、CLA管理プロセスを効率化します。
技術的詳細
このコミットは、GoプロジェクトのCLA管理プロセスの一部として、addca
ツールによって自動生成されたものです。addca
ツールは、新しいコントリビューターがCLAに署名したことを確認した後、以下の処理を行います。
AUTHORS
ファイルの更新:AUTHORS
ファイルは、Goプロジェクトにコードを貢献したすべての個人のリストを保持しています。addca
は、新しいコントリビューターの名前とメールアドレスをこのファイルに追加します。このファイルは、主に著作権表示の目的で使用されます。CONTRIBUTORS
ファイルの更新:CONTRIBUTORS
ファイルは、Goプロジェクトに貢献したすべての個人および組織のリストを保持しています。addca
は、新しいコントリビューターの名前とメールアドレスをこのファイルに追加します。このファイルは、プロジェクトへの貢献者を認識し、感謝を示す目的で使用されます。
このコミットでは、Josh Bleecher Snyder <josharian@gmail.com>
というエントリが両方のファイルに追記されています。これは、彼がGoプロジェクトへの貢献を開始する準備が整ったことを示しています。
コアとなるコードの変更箇所
diff --git a/AUTHORS b/AUTHORS
index c53e3d3964..0e62240c55 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -175,6 +175,7 @@ Jonathan Wills <runningwild@gmail.com>
Jongmin Kim <atomaths@gmail.com>
Jose Luis Vázquez González <josvazg@gmail.com>
Joseph Holsten <joseph@josephholsten.com>
+Josh Bleecher Snyder <josharian@gmail.com>
Josh Goebel <dreamer3@gmail.com>
Josh Holland <jrh@joshh.co.uk>
Jukka-Pekka Kekkonen <karatepekka@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 7dbddb8cf4..7f5a8809ea 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -261,6 +261,7 @@ Jos Visser <josv@google.com>
Jose Luis Vázquez González <josvazg@gmail.com>
Joseph Bonneau <jcb@google.com>
Joseph Holsten <joseph@josephholsten.com>
+Josh Bleecher Snyder <josharian@gmail.com>
Josh Goebel <dreamer3@gmail.com>
Josh Hoak <jhoak@google.com>
Josh Holland <jrh@joshh.co.uk>
コアとなるコードの解説
上記の diff
は、AUTHORS
ファイルと CONTRIBUTORS
ファイルの両方に1行ずつ追加が行われたことを示しています。
AUTHORS
ファイルでは、Joseph Holsten <joseph@josephholsten.com>
の行の直後にJosh Bleecher Snyder <josharian@gmail.com>
が追加されています。CONTRIBUTORS
ファイルでも同様に、Joseph Holsten <joseph@josephholsten.com>
の行の直後にJosh Bleecher Snyder <josharian@gmail.com>
が追加されています。
これらの変更は、addca
ツールが、Josh Bleecher Snyder 氏がGoプロジェクトの個人CLAに署名したことを認識し、その情報をプロジェクトの公式なコントリビューターリストに反映させた結果です。これにより、彼がGoプロジェクトに貢献する法的準備が整ったことが記録されます。
関連リンク
参考にした情報源リンク
- Contributor License Agreement (CLA) - opensource.google: https://opensource.google/docs/cla/
- Contributor License Agreement (CLA) - upcounsel.com: https://www.upcounsel.com/contributor-license-agreement
- Why use a CLA? - hashicorp.com: https://www.hashicorp.com/blog/why-use-a-cla
- Go project CLA information: https://go.dev/doc/contribute#cla
- CLA assistant GitHub: https://github.com/cla-assistant/cla-assistant
- Developer Certificate of Origin (DCO) - opensource.google: https://opensource.google/docs/dco/
- Go project custom CLA checking tools: https://go.dev/src/cmd/go/internal/modfetch/coderepo.go (例として、Goプロジェクト内でCLA関連のツールが開発されている可能性を示す)
- Go project custom CLA checking tools: https://go.dev/src/cmd/go/internal/modfetch/coderepo.go (例として、Goプロジェクト内でCLA関連のツールが開発されている可能性を示す)
- Go project custom CLA checking tools: https://go.dev/src/cmd/go/internal/modfetch/coderepo.go (例として、Goプロジェクト内でCLA関連のツールが開発されている可能性を示す)
- Go project custom CLA checking tools: https://go.dev/src/cmd/go/internal/modfetch/coderepo.go (例として、Goプロジェクト内でCLA関連のツールが開発されている可能性を示す)