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

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

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

コミット

commit e7e159ef4d05b9578e41ef71d109035ba9df006b
Author: Brad Fitzpatrick <bradfitz@golang.org>
Date:   Tue Sep 18 11:00:55 2012 -0700

    A+C: Add Anthony Eufemio (Individual CLA)
    
    R=golang-dev, r
    CC=golang-dev
    https://golang.org/cl/6524045

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

https://github.com/golang/go/commit/e7e159ef4d05b9578e41ef71d109035ba9df006b

元コミット内容

A+C: Add Anthony Eufemio (Individual CLA)

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6524045

変更の背景

オープンソースプロジェクト、特に大規模なプロジェクトでは、貢献者がコードを提出する際に、プロジェクトのライセンスと知的財産権に関する合意を形成するためにCLA(Contributor License Agreement)への署名を求めることが一般的です。Goプロジェクトも例外ではありません。

このコミットは、Anthony Eufemio氏がGoプロジェクトへの貢献を開始するにあたり、Individual CLAに署名し、その情報がプロジェクトの公式な貢献者リストに反映される必要があるために行われました。AUTHORSファイルとCONTRIBUTORSファイルは、プロジェクトに貢献した個人や組織を記録するためのものであり、新しい貢献者が加わるたびに更新されます。

前提知識の解説

Contributor License Agreement (CLA)

CLA(Contributor License Agreement)は、オープンソースプロジェクトにおいて、貢献者がその貢献物(コード、ドキュメントなど)の著作権をプロジェクトの所有者(または特定の財団など)に譲渡するか、あるいは非独占的な利用権を付与することに同意するための法的な文書です。

CLAを導入する主な理由は以下の通りです。

  • 知的財産権の明確化: 誰がどのコードの著作権を所有しているかを明確にし、将来的な法的な紛争を防ぎます。
  • ライセンスの再配布: プロジェクトの所有者が、貢献されたコードをプロジェクトのライセンス(例: Apache License, MIT Licenseなど)の下で自由に再配布できるようにします。これにより、プロジェクト全体のライセンスの一貫性が保たれます。
  • 企業からの貢献: 企業が従業員にオープンソースプロジェクトへ貢献させる場合、企業がその貢献物の著作権を保持しつつ、プロジェクトに利用権を付与する「Corporate CLA」も存在します。

Go言語のようなGoogleが主導するプロジェクトでは、GoogleがCLAを要求することが一般的です。これにより、Googleは貢献されたコードをGoプロジェクトのライセンスの下で利用し、配布する権利を確保します。

AUTHORSファイルとCONTRIBUTORSファイル

多くのオープンソースプロジェクトでは、プロジェクトに貢献した個人や組織の名前を記録するために、AUTHORSCONTRIBUTORSといったファイルがリポジトリのルートに配置されています。

  • AUTHORSファイル: 主にプロジェクトの主要な作者や、著作権を保持する個人・組織をリストアップするために使用されます。
  • CONTRIBUTORSファイル: プロジェクトに何らかの形で貢献したすべての個人や組織をリストアップするために使用されます。これには、コードの寄稿者だけでなく、ドキュメントの作成者、バグ報告者、テスターなども含まれる場合があります。

これらのファイルは、プロジェクトの透明性を高め、貢献者への感謝を示す役割も果たします。新しい貢献者がCLAに署名し、最初の貢献を行った際に、これらのファイルに名前が追加されるのが一般的なワークフローです。

技術的詳細

このコミットの技術的な変更は非常に単純です。AUTHORSファイルとCONTRIBUTORSファイルという2つのプレーンテキストファイルに、新しい貢献者の名前とメールアドレスの行を追加するだけです。

Gitの差分(diff)を見ると、それぞれのファイルに1行ずつ追加されていることがわかります。追加される行は、既存のリストのアルファベット順に挿入されています。これは、リストの可読性と管理を容易にするための一般的な慣習です。

この変更は、Go言語のコードベース自体には影響を与えません。プロジェクトのメタデータの一部を更新するものです。

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

このコミットでは、以下の2つのファイルが変更されています。

  1. AUTHORS
  2. CONTRIBUTORS

それぞれのファイルに対する変更の差分は以下の通りです。

diff --git a/AUTHORS b/AUTHORS
index c94b40c61a..8783b03d9a 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -29,6 +29,7 @@ Andrey Mirtchovski <mirtchovski@gmail.com>
 Andy Davis <andy@bigandian.com>
 Anh Hai Trinh <anh.hai.trinh@gmail.com>
 Anschel Schaffer-Cohen <anschelsc@gmail.com>
+Anthony Eufemio <anthony.eufemio@gmail.com>
 Anthony Martin <ality@pbrane.org>
 Anthony Starks <ajstarks@gmail.com>
 Aron Nopanen <aron.nopanen@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 9d44414648..af0e6ee817 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -59,6 +59,7 @@ Andrey Mirtchovski <mirtchovski@gmail.com>
 Andy Davis <andy@bigandian.com>
 Anh Hai Trinh <anh.hai.trinh@gmail.com>
 Anschel Schaffer-Cohen <anschelsc@gmail.com>
+Anthony Eufemio <anthony.eufemio@gmail.com>
 Anthony Martin <ality@pbrane.org>
 Anthony Starks <ajstarks@gmail.com>
 Aron Nopanen <aron.nopanen@gmail.com>

コアとなるコードの解説

上記の差分は、Gitの標準的なフォーマットで表示されています。

  • --- a/AUTHORS+++ b/AUTHORS は、それぞれ変更前のAUTHORSファイルと変更後のAUTHORSファイルを示しています。CONTRIBUTORSファイルについても同様です。
  • @@ -29,6 +29,7 @@ は、AUTHORSファイルにおいて、元のファイルの29行目から6行が、変更後のファイルの29行目から7行に変更されたことを示します。これは、1行が追加されたことを意味します。
  • +Anthony Eufemio <anthony.eufemio@gmail.com> の行は、追加された新しい行を示しています。この行には、貢献者の名前とメールアドレスが含まれています。

具体的には、AUTHORSファイルとCONTRIBUTORSファイルの両方で、Anschel Schaffer-Cohen <anschelsc@gmail.com> の行の直後に、新しい行 Anthony Eufemio <anthony.eufemio@gmail.com> が挿入されています。これは、アルファベット順に並べられたリストに新しいエントリを追加する際の標準的な方法です。

この変更は、Goプロジェクトの貢献者リストを最新の状態に保ち、Anthony Eufemio氏が正式にプロジェクトの貢献者として認識されたことを示しています。

関連リンク

参考にした情報源リンク

  • コミットデータ: /home/orange/Project/comemo/commit_data/13856.txt
  • Gitの差分表示に関する一般的な知識
  • オープンソースプロジェクトにおけるCLA(Contributor License Agreement)およびAUTHORS/CONTRIBUTORSファイルの役割に関する一般的な知識