[インデックス 13296] ファイルの概要
このコミットは、GoプロジェクトのAUTHORS
ファイルとCONTRIBUTORS
ファイルに、Markus Sonderegger氏の情報を追加するものです。これは、彼がGoプロジェクトへの貢献を始めるにあたり、個人貢献者ライセンス契約(Individual CLA: Contributor License Agreement)に署名したことを記録するための変更です。
コミット
commit fe80cf0f152ca0d975ef67d6c0f0807472796500
Author: Russ Cox <rsc@golang.org>
Date: Wed Jun 6 16:05:27 2012 -0400
A+C: Markus Sonderegger (individual CLA)
R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/6303047
GitHub上でのコミットページへのリンク
https://github.com/golang/go/commit/fe80cf0f152ca0d975ef67d6c0f0807472796500
元コミット内容
このコミットの目的は、Markus Sonderegger氏がGoプロジェクトの個人貢献者ライセンス契約(CLA)に署名したことを記録し、その情報をプロジェクトのAUTHORS
ファイルとCONTRIBUTORS
ファイルに追加することです。コミットメッセージの "A+C" は、AUTHORS
とCONTRIBUTORS
の両ファイルへの追加を意味しています。
変更の背景
オープンソースプロジェクト、特にGoogleが主導するような大規模なプロジェクトでは、外部からのコード貢献を受け入れる際に「貢献者ライセンス契約(CLA)」の締結を求めることが一般的です。CLAは、貢献されたコードの著作権に関する明確な法的枠組みを提供し、プロジェクトがそのコードを自由に利用、配布、再ライセンスすることを保証します。これにより、将来的な著作権紛争のリスクを軽減し、プロジェクトの持続可能性と法的健全性を保つことができます。
このコミットは、Markus Sonderegger氏がGoプロジェクトにコードを貢献する準備が整ったことを示しています。CLAに署名することで、彼の貢献がプロジェクトのライセンスの下で適切に扱われることが保証されます。AUTHORS
ファイルとCONTRIBUTORS
ファイルは、プロジェクトに貢献した人々を公式に記録するためのものです。
前提知識の解説
貢献者ライセンス契約 (Contributor License Agreement, CLA)
CLAは、個人または企業がオープンソースプロジェクトにコード、ドキュメント、その他のコンテンツを貢献する際に、プロジェクトの所有者(またはその代表者)と締結する法的合意です。CLAの主な目的は以下の通りです。
- 著作権の明確化: 貢献されたコードの著作権が誰に帰属するか、またはプロジェクトがそのコードをどのように利用できるかを明確にします。多くのCLAでは、貢献者が著作権を保持しつつ、プロジェクトに対して非独占的、永続的、取り消し不能なライセンスを付与します。
- ライセンスの互換性: プロジェクトが将来的にライセンスを変更する際に、貢献されたコードも新しいライセンスの下で再ライセンスできるようにします。これにより、プロジェクト全体のライセンスの一貫性が保たれます。
- 法的リスクの軽減: 貢献されたコードが第三者の著作権を侵害していないことを貢献者が保証することで、プロジェクトが著作権侵害訴訟に巻き込まれるリスクを低減します。
Googleが主導するプロジェクト(Goを含む)では、通常、個人貢献者にはIndividual CLA、企業からの貢献にはCorporate CLAの締結が求められます。
AUTHORSファイルとCONTRIBUTORSファイル
多くのオープンソースプロジェクトでは、プロジェクトに貢献した人々を記録するために特定のファイルを使用します。
- AUTHORSファイル: 通常、プロジェクトの主要な作者や、著作権表示に名前を記載する必要がある人々をリストアップします。これは、プロジェクトの著作権表示の一部として機能することがあります。
- CONTRIBUTORSファイル: プロジェクトに何らかの形で貢献したすべての人々(コード、ドキュメント、バグ報告、テスト、デザインなど)をリストアップします。これは、プロジェクトへの貢献を認識し、感謝を示すためのものです。
これらのファイルは、プロジェクトの透明性を高め、コミュニティの努力を可視化する役割も果たします。
技術的詳細
このコミット自体は、Go言語のコードベースに対する機能的な変更ではなく、プロジェクトのメタデータに関する変更です。具体的には、以下の2つのテキストファイルに新しい行を追加しています。
AUTHORS
: プロジェクトの主要な作者をリストするファイル。CONTRIBUTORS
: プロジェクトに貢献したすべての人々をリストするファイル。
変更内容は非常に単純で、Markus Sonderegger氏の名前とメールアドレスを含む1行をそれぞれのファイルの適切な位置(アルファベット順)に挿入しています。これは、テキストファイルに対する一般的な追加操作であり、特別な技術的複雑性はありません。
コミットメッセージに含まれるhttps://golang.org/cl/6303047
は、Goプロジェクトが使用しているコードレビューシステムであるGerritのチェンジリスト(CL)へのリンクです。Goプロジェクトでは、GitHubへのコミットはGerritでのレビュープロセスを経て行われます。このリンクは、この変更がGerrit上でどのようにレビューされたかを示すものです。
コアとなるコードの変更箇所
diff --git a/AUTHORS b/AUTHORS
index 121cf83453..c609924f2d 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -135,6 +135,7 @@ Luca Greco <luca.greco@alcacoop.it>
Lucio De Re <lucio.dere@gmail.com>
Luit van Drongelen <luitvd@gmail.com>
Markus Duft <markus.duft@salomon.at>
+Markus Sonderegger <marraison@gmail.com>
Martin Neubauer <m.ne@gmx.net>
Mateusz Czapliński <czapkofan@gmail.com>
Mathieu Lonjaret <mathieu.lonjaret@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 10f060d2cb..c8ffda1713 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -202,6 +202,7 @@ Luuk van Dijk <lvd@golang.org> <lvd@google.com>
Marcel van Lohuizen <mpvl@golang.org>
Mark Zavislak <zavislak@google.com>
Markus Duft <markus.duft@salomon.at>
+Markus Sonderegger <marraison@gmail.com>
Martin Neubauer <m.ne@gmx.net>
Mateusz Czapliński <czapkofan@gmail.com>
Mathieu Lonjaret <mathieu.lonjaret@gmail.com>
コアとなるコードの解説
上記のdiffは、AUTHORS
ファイルとCONTRIBUTORS
ファイルに対する変更を示しています。
--- a/AUTHORS
と+++ b/AUTHORS
: これは、AUTHORS
ファイルの変更前(a)と変更後(b)を示しています。@@ -135,6 +135,7 @@
: これは、変更がファイルの135行目から始まり、変更前は6行、変更後は7行あることを示しています。つまり、1行が追加されたことを意味します。+Markus Sonderegger <marraison@gmail.com>
: この行がAUTHORS
ファイルに追加された新しいエントリです。プラス記号(+
)は、この行が追加されたことを示します。- 同様に、
CONTRIBUTORS
ファイルにも同じ行が追加されています。
この変更は、既存のリストに新しいエントリをアルファベット順で挿入する形で行われています。これは、テキストファイルの内容を更新する際の標準的な方法です。
関連リンク
- Goプロジェクトの公式ウェブサイト: https://golang.org/
- Goプロジェクトの貢献ガイドライン(CLAに関する情報を含むことが多い): Goプロジェクトの公式ドキュメントやGitHubリポジトリのCONTRIBUTING.mdファイルなどを参照。
参考にした情報源リンク
- Contributor License Agreement (CLA) の一般的な情報:
- Gitのdiff形式に関する情報:
- GoプロジェクトのGerritインスタンス:
- https://go-review.googlesource.com/
- このコミットのGerritチェンジリスト: https://golang.org/cl/6303047 (これはコミットメッセージに記載されているリンクと同じです)