[インデックス 15339] ファイルの概要
このコミットは、GoプロジェクトのAUTHORS
ファイルとCONTRIBUTORS
ファイルに、新しい貢献者であるSteven Elliot Harris氏の情報を追加するものです。これは、彼がGoプロジェクトへの貢献を開始するにあたり、個人貢献者ライセンス契約(Individual CLA)に署名したことを記録するための変更です。
コミット
commit 93ae46eae91efeaea72e68e66ba0684fa56a1864
Author: Brad Fitzpatrick <bradfitz@golang.org>
Date: Wed Feb 20 14:42:13 2013 -0800
A+C: Steven Elliot Harris (individual CLA)
Generated by addca.
R=gobot
CC=golang-dev
https://golang.org/cl/7377045
GitHub上でのコミットページへのリンク
https://github.com/golang/go/commit/93ae46eae91efeaea72e68e66ba0684fa56a1864
元コミット内容
A+C: Steven Elliot Harris (individual CLA)
Generated by addca.
R=gobot
CC=golang-dev
https://golang.org/cl/7377045
変更の背景
オープンソースプロジェクト、特にGoogleが管理するプロジェクトでは、コードの貢献を受け入れる前に、貢献者ライセンス契約(Contributor License Agreement, CLA)への署名を求めるのが一般的です。これは、プロジェクトのメンテナーが貢献されたコードを、選択されたライセンスの下で配布するために必要な法的権利を確保し、将来的な著作権紛争に対処できるようにするためです。
このコミットは、Steven Elliot Harris氏がGoプロジェクトに貢献を開始するにあたり、個人CLAに署名したことを示すものです。AUTHORS
ファイルとCONTRIBUTORS
ファイルは、プロジェクトに貢献した個人や組織を記録するためのものであり、CLA署名後にこれらのファイルに情報が追加されるのは標準的なプロセスです。コミットメッセージにある「Generated by addca.」は、この変更がaddca
というツールによって自動生成されたことを示唆しており、CLA署名プロセスが自動化されていることを示しています。
前提知識の解説
貢献者ライセンス契約 (Contributor License Agreement, CLA)
CLAは、オープンソースプロジェクトにおいて、貢献者が自身の著作物に対する著作権を保持しつつ、プロジェクトの所有者(または特定の団体)に対して、その著作物を使用、複製、変更、配布、サブライセンスする権利を付与する法的な合意です。これにより、プロジェクトは貢献されたコードを安心して利用し、将来的なライセンス変更や著作権に関する問題が発生した場合にも対応できるようになります。
GoプロジェクトのようにGoogleが管理する多くのオープンソースプロジェクトでは、最初の貢献を受け入れる前にCLAへの署名が必須とされています。CLAには主に以下の2種類があります。
- 個人貢献者ライセンス契約 (Individual Contributor License Agreement): 個人が自身の著作権を保持している場合に署名します。
- 企業貢献者ライセンス契約 (Corporate Contributor License Agreement): 従業員が貢献する著作物の著作権を企業が保持している場合に、企業が署名します。
Goプロジェクトの場合、CLAは一度署名すれば、Googleのすべてのオープンソースプロジェクトに適用されます。CLA署名後、貢献者はGo Gitリポジトリの認証情報を設定し、Goチームが使用するコードレビューツールであるGerritに登録する必要があります。
AUTHORSファイルと CONTRIBUTORSファイル
多くのオープンソースプロジェクトでは、プロジェクトに貢献した人々を記録するために、AUTHORS
やCONTRIBUTORS
といったファイルが使用されます。
- AUTHORS: 通常、プロジェクトの主要な作者や、著作権を保持する個人や組織がリストされます。
- CONTRIBUTORS: プロジェクトに何らかの形で貢献したすべての個人や組織がリストされます。これには、コードの寄稿者だけでなく、ドキュメントの作成者、バグ報告者、テスターなども含まれる場合があります。
これらのファイルは、プロジェクトの透明性を高め、貢献者への適切なクレジットを付与する役割を果たします。
技術的詳細
このコミットは、Goプロジェクトのソースコード管理システムにおいて、新しい貢献者の情報を追加するものです。具体的には、AUTHORS
ファイルとCONTRIBUTORS
ファイルという2つのテキストファイルが変更されています。
コミットメッセージにある「Generated by addca.」は、この変更がaddca
という内部ツールによって自動的に生成されたことを示しています。このツールは、貢献者がCLAに署名した際に、その情報を基に自動的に関連するファイル(この場合はAUTHORS
とCONTRIBUTORS
)を更新する役割を担っていると考えられます。これにより、手作業によるミスを防ぎ、CLA署名から貢献者情報の登録までのプロセスを効率化しています。
変更内容は非常にシンプルで、Steven Elliot Harris氏の氏名とメールアドレス(seharris@gmail.com
)が、それぞれのファイルの適切なアルファベット順の位置に挿入されています。
コアとなるコードの変更箇所
diff --git a/AUTHORS b/AUTHORS
index 43881c8306..e0bb2ec019 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -257,6 +257,7 @@ Stefan Nilsson <snilsson@nada.kth.se> <trolleriprofessorn@gmail.com>
Stéphane Travostino <stephane.travostino@gmail.com>
Stephen McQuay <stephen@mcquay.me>
Stephen Weinberg <stephen@q5comm.com>
+Steven Elliot Harris <seharris@gmail.com>
Sven Almgren <sven@tras.se>
Szabolcs Nagy <nsz@port70.net>
Taj Khattra <taj.khattra@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 17983b4c92..787bf6cced 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -369,6 +369,7 @@ Stéphane Travostino <stephane.travostino@gmail.com>
Stephen Ma <stephenm@golang.org>
Stephen McQuay <stephen@mcquay.me>
Stephen Weinberg <stephen@q5comm.com>
+Steven Elliot Harris <seharris@gmail.com>
Sugu Sougoumarane <ssougou@gmail.com>
Sven Almgren <sven@tras.se>
Szabolcs Nagy <nsz@port70.net>
コアとなるコードの解説
上記のdiff
出力は、AUTHORS
ファイルとCONTRIBUTORS
ファイルに対する変更を示しています。
-
AUTHORS
ファイルへの変更:@@ -257,6 +257,7 @@
は、変更が元のファイルの257行目から始まり、6行が変更され、新しいファイルでは7行になることを示しています(つまり1行追加)。+Steven Elliot Harris <seharris@gmail.com>
の行が追加されています。これは、Steven Elliot Harris氏がGoプロジェクトの作者の一人として認識され、彼のメールアドレスが記録されたことを意味します。
-
CONTRIBUTORS
ファイルへの変更:@@ -369,6 +369,7 @@
は、変更が元のファイルの369行目から始まり、6行が変更され、新しいファイルでは7行になることを示しています(つまり1行追加)。+Steven Elliot Harris <seharris@gmail.com>
の行が追加されています。これは、Steven Elliot Harris氏がGoプロジェクトに貢献した人物の一人として認識され、彼のメールアドレスが記録されたことを意味します。
両ファイルへの追加は、アルファベット順に挿入されており、既存のリストの整合性が保たれています。この変更は、Steven Elliot Harris氏がGoプロジェクトへの貢献を開始するための正式な手続きの一部であり、彼の貢献がプロジェクトによって適切に認識されることを保証します。
関連リンク
- GoプロジェクトのCLAに関する情報: https://golang.org/cl/7377045 (コミットメッセージに記載されているGerritの変更リストへのリンク)
参考にした情報源リンク
- Go project CLA information: https://go.dev/doc/contribute#cla
- Google Open Source Contributor License Agreements: https://opensource.google/docs/cla/
- Wikipedia - Contributor License Agreement: https://en.wikipedia.org/wiki/Contributor_License_Agreement