Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

[インデックス 13220] ファイルの概要

このコミットは、Goプロジェクトの貢献者リストにMats Lidell氏を追加するものです。具体的には、AUTHORSファイルとCONTRIBUTORSファイルに彼の名前とメールアドレスが追記されています。これは、彼がGoプロジェクトへの貢献を行うための前提条件である貢献者ライセンス契約(CLA)に署名したことを反映しています。

コミット

A+C: add Mats Lidell.  He signed the agreement with the Sweden email
address, but his changelist is under the Gmail address.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6248069

GitHub上でのコミットページへのリンク

https://github.com/golang/go/commit/3806cc7b05bfa99605d5f8559c4263066a3d8a85

元コミット内容

commit 3806cc7b05bfa99605d5f8559c4263066a3d8a85
Author: Sameer Ajmani <sameer@golang.org>
Date:   Wed May 30 14:38:40 2012 -0400

    A+C: add Mats Lidell.  He signed the agreement with the Sweden email
    address, but his changelist is under the Gmail address.
    
    R=golang-dev, rsc
    CC=golang-dev
    https://golang.org/cl/6248069
---
 AUTHORS      | 1 +
 CONTRIBUTORS | 1 +
 2 files changed, 2 insertions(+)

diff --git a/AUTHORS b/AUTHORS
index d7cc6f5d7a..121cf83453 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -138,6 +138,7 @@ Markus Duft <markus.duft@salomon.at>
 Martin Neubauer <m.ne@gmx.net>
 Mateusz Czapliński <czapkofan@gmail.com>
 Mathieu Lonjaret <mathieu.lonjaret@gmail.com>
+Mats Lidell <mats.lidell@cag.se>
 Matthew Horsnell <matthew.horsnell@gmail.com>
 Micah Stetson <micah.stetson@gmail.com>
 Michael Chaten <mchaten@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 4e586346d3..a468600a80 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -205,6 +205,7 @@ Markus Duft <markus.duft@salomon.at>
 Martin Neubauer <m.ne@gmx.net>
 Mateusz Czapliński <czapkofan@gmail.com>
 Mathieu Lonjaret <mathieu.lonjaret@gmail.com>
+Mats Lidell <mats.lidell@cag.se> <mats.lidell@gmail.com>
 Matt Jones <mrjones@google.com>
 Matthew Horsnell <matthew.horsnell@gmail.com>
 Maxim Pimenov <mpimenov@google.com>

変更の背景

このコミットの背景には、オープンソースプロジェクト、特にGoogleが関与するプロジェクトにおける貢献者ライセンス契約(CLA: Contributor License Agreement)の運用があります。Goプロジェクトのような大規模なオープンソースプロジェクトでは、知的財産権の管理と、将来的なライセンス変更や訴訟リスクへの対応のために、貢献者に対してCLAへの署名を求めることが一般的です。

CLAは、貢献者が自身のコードの著作権をプロジェクトの所有者(この場合はGoogle)に譲渡するか、またはプロジェクトがそのコードを特定のライセンスの下で利用することを許可するものです。これにより、プロジェクト側は、貢献されたコードを安心して利用し、配布することができます。

このコミットメッセージにある「He signed the agreement with the Sweden email address, but his changelist is under the Gmail address.」という記述は、Mats Lidell氏がCLAに署名した際のメールアドレス(mats.lidell@cag.se)と、彼が実際にコード変更(changelist)を提出する際に使用しているメールアドレス(mats.lidell@gmail.com)が異なっていたことを示しています。プロジェクト側は、貢献者の身元とCLA署名が正しく紐付けられていることを確認する必要があるため、このような情報が重要になります。このコミットは、その確認が取れた上で、正式に彼を貢献者リストに追加する作業の一環です。

前提知識の解説

貢献者ライセンス契約 (CLA: Contributor License Agreement)

CLAは、個人または企業がオープンソースプロジェクトにコードを貢献する際に署名する法的な文書です。主な目的は以下の通りです。

  • 知的財産権の明確化: 貢献されたコードの著作権が誰に帰属するか、またはプロジェクトがそのコードをどのように利用できるかを明確にします。これにより、将来的な著作権侵害の申し立てやライセンスに関する紛争を防ぎます。
  • ライセンスの柔軟性: プロジェクトが将来的にライセンスを変更する際に、すべての貢献者から個別に許可を得る必要がなくなります。
  • 訴訟リスクの軽減: 貢献されたコードに問題があった場合でも、プロジェクト側が法的な責任を負うリスクを軽減します。

Googleが関与する多くのオープンソースプロジェクト(Go、Kubernetesなど)では、CLAへの署名が必須となっています。

AUTHORSファイルとCONTRIBUTORSファイル

多くのオープンソースプロジェクトでは、プロジェクトに貢献した人々を記録するために特定のファイルを使用します。

  • AUTHORSファイル: このファイルは通常、プロジェクトの主要な作者や、プロジェクトの初期段階から深く関わってきた人々をリストアップします。法的な意味合いを持つこともあり、著作権表示に関連付けられることがあります。
  • CONTRIBUTORSファイル: このファイルは、プロジェクトに何らかの形で貢献したすべての人々をリストアップします。これには、コードの提出者だけでなく、ドキュメントの作成者、バグ報告者、テスターなども含まれる場合があります。AUTHORSファイルよりも広範な貢献者を含みます。

Goプロジェクトでは、これらのファイルはプロジェクトの歴史と貢献者を追跡するために使用されており、新しい貢献者がCLAに署名し、最初の貢献が受け入れられると、これらのファイルに名前が追加されるのが一般的な流れです。

R=CC=

コミットメッセージに見られるR=CC=は、Goプロジェクトが使用していたコードレビューシステム(Gerritベースのシステム)における慣習的な表記です。

  • R= (Reviewer): コードレビューを承認したレビュアーを示します。この場合、golang-dev(Go開発者メーリングリスト)とrsc(Russ Cox氏、Goプロジェクトの主要な開発者の一人)がレビューを承認したことを意味します。
  • CC= (Carbon Copy): コミットに関する通知を受け取るべき追加の人物やメーリングリストを示します。

https://golang.org/cl/6248069

これは、Goプロジェクトのコードレビューシステムにおけるチェンジリスト(Change List, CL)へのリンクです。Goプロジェクトでは、GitHubのプルリクエストではなく、独自のGerritベースのシステムでコードレビューと変更の管理を行っています。このリンクは、このコミットがマージされる前のレビュープロセスを追跡するためのものです。

技術的詳細

このコミットは、GoプロジェクトのルートディレクトリにあるAUTHORSファイルとCONTRIBUTORSファイルの2つのテキストファイルを変更しています。変更内容は非常にシンプルで、それぞれ1行ずつ追加されています。

AUTHORSファイルへの追加

AUTHORSファイルには、Mats Lidell氏の名前と、CLA署名時に使用されたメールアドレスが追加されています。

--- a/AUTHORS
+++ b/AUTHORS
@@ -138,6 +138,7 @@ Markus Duft <markus.duft@salomon.at>
 Martin Neubauer <m.ne@gmx.net>
 Mateusz Czapliński <czapkofan@gmail.com>
 Mathieu Lonjaret <mathieu.lonjaret@gmail.com>
+Mats Lidell <mats.lidell@cag.se>
 Matthew Horsnell <matthew.horsnell@gmail.com>
 Micah Stetson <micah.stetson@gmail.com>
 Michael Chaten <mchaten@gmail.com>

追加された行: Mats Lidell <mats.lidell@cag.se>

CONTRIBUTORSファイルへの追加

CONTRIBUTORSファイルには、Mats Lidell氏の名前と、CLA署名時に使用されたメールアドレス、そして彼がコード変更を提出する際に使用しているGmailアドレスの両方が追加されています。

--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -205,6 +205,7 @@ Markus Duft <markus.duft@salomon.at>
 Martin Neubauer <m.ne@gmx.net>
 Mateusz Czapliński <czapkofan@gmail.com>
 Mathieu Lonjaret <mathieu.lonjaret@gmail.com>
+Mats Lidell <mats.lidell@cag.se> <mats.lidell@gmail.com>
 Matt Jones <mrjones@google.com>
 Matthew Horsnell <matthew.horsnell@gmail.com>
 Maxim Pimenov <mpimenov@google.com>

追加された行: Mats Lidell <mats.lidell@cag.se> <mats.lidell@gmail.com>

この違いは、コミットメッセージで言及されている「He signed the agreement with the Sweden email address, but his changelist is under the Gmail address.」という状況を正確に反映しています。CONTRIBUTORSファイルには、彼の貢献を追跡するために両方のメールアドレスが記録されています。

コアとなるコードの変更箇所

diff --git a/AUTHORS b/AUTHORS
index d7cc6f5d7a..121cf83453 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -138,6 +138,7 @@ Markus Duft <markus.duft@salomon.at>
 Martin Neubauer <m.ne@gmx.net>
 Mateusz Czapliński <czapkofan@gmail.com>
 Mathieu Lonjaret <mathieu.lonjaret@gmail.com>
+Mats Lidell <mats.lidell@cag.se>
 Matthew Horsnell <matthew.horsnell@gmail.com>
 Micah Stetson <micah.stetson@gmail.com>
 Michael Chaten <mchaten@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 4e586346d3..a468600a80 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -205,6 +205,7 @@ Markus Duft <markus.duft@salomon.at>
 Martin Neubauer <m.ne@gmx.net>
 Mateusz Czapliński <czapkofan@gmail.com>
 Mathieu Lonjaret <mathieu.lonjaret@gmail.com>
+Mats Lidell <mats.lidell@cag.se> <mats.lidell@gmail.com>
 Matt Jones <mrjones@google.com>
 Matthew Horsnell <matthew.lonjaret@gmail.com>
 Maxim Pimenov <mpimenov@google.com>

コアとなるコードの解説

このコミットのコアとなる変更は、Goプロジェクトの貢献者管理プロセスの一部です。

  • AUTHORSファイルへの追加: Mats Lidell <mats.lidell@cag.se>という行が追加されています。これは、Mats Lidell氏がGoプロジェクトの正式な作者の一人として認識され、彼のCLA署名がこのメールアドレスに関連付けられていることを示します。このファイルは、プロジェクトの著作権表示や法的な側面において重要な役割を果たすことがあります。
  • CONTRIBUTORSファイルへの追加: Mats Lidell <mats.lidell@cag.se> <mats.lidell@gmail.com>という行が追加されています。このファイルは、プロジェクトに貢献したすべての個人をリストアップするものであり、より包括的な貢献者リストを提供します。ここでは、CLA署名時のメールアドレスと、彼が実際にコードを提出する際に使用するGmailアドレスの両方が記載されており、彼の貢献を正確に追跡するための配慮がなされています。

これらの変更は、Goプロジェクトが貢献者の管理を厳格に行っていることを示しており、特にCLAへの署名が完了した後に、その貢献者が正式にプロジェクトの記録に追加されるというワークフローを反映しています。これにより、プロジェクトの健全性と法的な透明性が保たれます。

関連リンク

参考にした情報源リンク