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

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

このコミットは、GoプロジェクトのAUTHORSファイルとCONTRIBUTORSファイルに、新しい貢献者であるNicholas Presta氏の情報を追加するものです。これは、彼が個別のContributor License Agreement (CLA) に署名したことを反映しています。

コミット

commit 4d5affd0452e6fca3f6827dd965894a837e6cb25
Author: Andrew Gerrand <adg@golang.org>
Date:   Tue Apr 9 13:12:31 2013 +1000

    A+C: Nicholas Presta (individual CLA)
    
    Generated by addca.
    
    R=gobot
    CC=golang-dev
    https://golang.org/cl/8556044

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

https://github.com/golang/go/commit/4d5affd0452e6fca3f6827dd965894a837e6cb25

元コミット内容

A+C: Nicholas Presta (individual CLA)

Generated by addca.

R=gobot
CC=golang-dev
https://golang.org/cl/8556044

変更の背景

この変更の背景には、オープンソースプロジェクトにおける貢献者の管理と法的な側面があります。Goプロジェクトのような大規模なオープンソースプロジェクトでは、コードの著作権とライセンスの明確化が非常に重要です。新しい貢献者がコードを提出する際、プロジェクトのライセンスに従うこと、そしてその貢献が法的に問題ないことを保証するために、Contributor License Agreement (CLA) への署名が求められることが一般的です。

Nicholas Presta氏がGoプロジェクトに貢献するにあたり、個別のCLAに署名したため、その事実をプロジェクトの公式な貢献者リストであるAUTHORSファイルとCONTRIBUTORSファイルに記録する必要がありました。このコミットは、その記録作業を行ったものです。コミットメッセージにあるGenerated by addca.は、この追加作業がaddcaというツールによって自動生成されたことを示唆しています。

前提知識の解説

Contributor License Agreement (CLA)

CLAは、個人または企業がオープンソースプロジェクトに貢献する際に、その貢献物の著作権をプロジェクトの所有者(または特定の財団など)に譲渡するか、またはプロジェクトのライセンスの下で利用することを許可する契約です。これにより、プロジェクトの所有者は、貢献されたコードをプロジェクトのライセンスの下で配布・利用する権利を明確に持ち、将来的なライセンス問題や著作権紛争のリスクを軽減できます。

Goプロジェクトの場合、GoogleがCLAを管理しており、貢献者はコードを提出する前にCLAに署名する必要があります。これにより、GoogleはGoプロジェクトのコードベース全体のライセンスの一貫性を保ち、法的な保護を確保しています。

AUTHORSファイルとCONTRIBUTORSファイル

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

  • AUTHORSファイル: 主にプロジェクトの主要な作者や、著作権を持つ個人・団体をリストアップするために使用されます。法的な著作権表示の目的で利用されることが多いです。
  • CONTRIBUTORSファイル: プロジェクトに貢献したすべての個人をリストアップするために使用されます。コードのコミットだけでなく、ドキュメントの改善、バグ報告、テストの作成など、様々な形で貢献した人々が含まれることがあります。

これらのファイルは、プロジェクトの透明性を高め、貢献者への感謝を示す役割も果たします。

addcaツール

コミットメッセージにGenerated by addca.とあることから、addcaはGoプロジェクト内でCLAに署名した貢献者の情報をAUTHORSおよびCONTRIBUTORSファイルに自動的に追加するための内部ツールであると推測されます。このような自動化ツールは、大規模なプロジェクトで多数の貢献者を効率的に管理するために不可欠です。

技術的詳細

このコミットは、GoプロジェクトのルートディレクトリにあるAUTHORSファイルとCONTRIBUTORSファイルの2つのテキストファイルを変更しています。

変更内容は非常にシンプルで、両方のファイルに以下の1行が追加されています。

Nicholas Presta <nick@nickpresta.ca> <nick1presta@gmail.com>

これは、Nicholas Presta氏の名前と、彼が使用している2つのメールアドレスをリストに追加するものです。ファイルの変更は、既存のリストのアルファベット順を維持するように挿入されています。

この変更は、Goプロジェクトのビルドプロセスやランタイム動作には一切影響を与えません。純粋にプロジェクトのメタデータ、特に貢献者に関する情報を更新するためのものです。

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

diff --git a/AUTHORS b/AUTHORS
index ea1958c863..c21dce7e5c 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -207,6 +207,7 @@ Miquel Sabaté Solà <mikisabate@gmail.com>
 Moriyoshi Koizumi <mozo@mozo.jp>
 Môshe van der Sterre <moshevds@gmail.com>
 ngmoco, LLC
+Nicholas Presta <nick@nickpresta.ca> <nick1presta@gmail.com>
 Nicholas Waples <nwaples@gmail.com>
 Nick Craig-Wood <nick@craig-wood.com> <nickcw@gmail.com>
 Nigel Kerr <nigel.kerr@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 5b1b4db708..db8096307b 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -306,6 +306,7 @@ Mikkel Krautz <mikkel@krautz.dk> <krautz@gmail.com>
 Miquel Sabaté Solà <mikisabate@gmail.com>
 Moriyoshi Koizumi <mozo@mozo.jp>
 Môshe van der Sterre <moshevds@gmail.com>
+Nicholas Presta <nick@nickpresta.ca> <nick1presta@gmail.com>
 Nicholas Waples <nwaples@gmail.com>
 Nick Craig-Wood <nick@craig-wood.com> <nickcw@gmail.com>
 Nigel Kerr <nigel.kerr@gmail.com>

コアとなるコードの解説

上記のdiffは、AUTHORSファイルとCONTRIBUTORSファイルに対する変更を示しています。

  • --- a/AUTHORS+++ b/AUTHORS は、AUTHORSファイルの変更前と変更後を示します。
  • @@ -207,6 +207,7 @@ は、変更がファイルの207行目から始まり、変更前は6行、変更後は7行になることを示します。これは、1行が追加されたことを意味します。
  • +Nicholas Presta <nick@nickpresta.ca> <nick1presta@gmail.com> の行は、新しく追加された内容です。

同様に、CONTRIBUTORSファイルにも同じ行が追加されています。

この変更は、テキストファイルへの単純な行追加であり、プログラミング言語の構文やロジックの変更は一切含まれていません。これは、プロジェクトの管理上の変更であり、コードベースの機能的な変更ではありません。

関連リンク

参考にした情報源リンク

  • Contributor License Agreement (CLA) についての一般的な情報
  • オープンソースプロジェクトにおけるAUTHORSおよびCONTRIBUTORSファイルの役割