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

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

このコミットは、Goプロジェクトの公式な貢献者リストに新しい個人、Dan Callahan氏を追加するものです。具体的には、AUTHORSファイルとCONTRIBUTORSファイルに彼の名前とメールアドレスが追記されています。これは、彼がGoプロジェクトへの貢献を開始するにあたり、個人貢献者ライセンス契約(CLA)を締結したことを示しています。

コミット

  • コミットハッシュ: 3ead7fb5dceedceeb978e05f9c742d0b4b5a3f67
  • Author: Robert Griesemer gri@golang.org
  • Date: Wed Oct 31 15:52:15 2012 -0700
  • コミットメッセージ:
    A+C: adding Dan Callahan (individual CLA)
    
    R=golang-dev, bradfitz
    CC=golang-dev
    https://golang.org/cl/6815062
    

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

https://github.com/golang/go/commit/3ead7fb5dceedceeb978e05f9c742d0b4b5a3f67

元コミット内容

A+C: adding Dan Callahan (individual CLA)

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/6815062

変更の背景

この変更の背景には、オープンソースプロジェクト、特にGoogleが主導するGoのような大規模プロジェクトにおける貢献者管理の慣行があります。新しい貢献者がプロジェクトにコードを提出する際、多くの場合、プロジェクトの知的財産権とライセンスの明確化のために、貢献者ライセンス契約(CLA: Contributor License Agreement)への署名が求められます。

Dan Callahan氏がGoプロジェクトに貢献を開始するにあたり、個人CLAを締結したため、彼の名前がプロジェクトの正式な貢献者リストに追加される必要がありました。これにより、彼の将来の貢献がプロジェクトのライセンスの下で適切に扱われることが保証されます。AUTHORSファイルとCONTRIBUTORSファイルは、プロジェクトに貢献したすべての個人を記録するための重要なドキュメントであり、プロジェクトの透明性と法的健全性を保つ上で不可欠です。

前提知識の解説

AUTHORSファイルとCONTRIBUTORSファイル

多くのオープンソースプロジェクトでは、プロジェクトに貢献した人々を記録するために特定のファイルを使用します。Goプロジェクトでは、主に以下の2つのファイルがその目的で使用されます。

  • AUTHORSファイル: このファイルは、プロジェクトの主要な作者や、プロジェクトの著作権を保持する個人または団体をリストアップするために使用されます。通常、プロジェクトの初期段階から関与している人々や、プロジェクトの方向性を決定する上で重要な役割を果たした人々が記載されます。
  • CONTRIBUTORSファイル: このファイルは、プロジェクトに何らかの形で貢献したすべての個人をリストアップするために使用されます。これには、コードの提出者だけでなく、ドキュメントの作成者、バグ報告者、テストの貢献者など、幅広い貢献者が含まれることがあります。AUTHORSファイルよりも広範なリストになる傾向があります。

これらのファイルは、プロジェクトの歴史と、その成功に貢献した人々を認識するための重要な記録となります。

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

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

  1. 知的財産権の明確化: 貢献されたコードやコンテンツの著作権が誰に帰属するかを明確にします。多くの場合、貢献者はプロジェクトの所有者(この場合はGoogle)に、貢献された内容を使用、複製、変更、配布する非独占的で永続的な権利を付与します。これにより、プロジェクトの所有者は、将来のライセンス変更や再配布の際に、すべての貢献されたコードに対して必要な権利を確実に保持できます。
  2. ライセンスの整合性: プロジェクト全体が単一のライセンス(例: BSDライセンス、MITライセンスなど)の下で配布されることを保証します。CLAがない場合、各貢献者のコードが異なるライセンスを持つ可能性があり、プロジェクト全体のライセンス管理が複雑になる可能性があります。
  3. 法的保護: プロジェクトの所有者と貢献者の双方を、著作権侵害やその他の法的紛争から保護するのに役立ちます。

Googleが主導する多くのオープンソースプロジェクト(Goも含む)では、貢献者にCLAへの署名を義務付けています。これにより、Googleはプロジェクトのコードベースの法的健全性を維持し、将来にわたってプロジェクトを自由に進化させ、配布する能力を確保しています。

技術的詳細

このコミットは、Goプロジェクトのルートディレクトリにある2つのプレーンテキストファイル、AUTHORSCONTRIBUTORSに新しい行を追加する非常にシンプルな変更です。

git diffの出力からわかるように、変更は以下の通りです。

  • AUTHORSファイルとCONTRIBUTORSファイルの両方で、既存の貢献者リストのアルファベット順にDan Callahan <dan.callahan@gmail.com>という行が挿入されています。
  • ファイルのインデックス(ハッシュ)が変更されており、これはファイルの内容が変更されたことを示しています。
  • ファイルモード(100644)は変更されていません。これは、ファイルが通常のテキストファイルであり、実行可能ファイルではないことを示します。

この種の変更は、通常、プロジェクトのメンテナによって手動で行われるか、CLA署名プロセスと統合された自動化スクリプトによって行われることがあります。Goプロジェクトでは、golang.org/clのリンクが示唆するように、Gerritのようなコードレビューシステムを通じて変更が提案され、レビューされた後にマージされます。

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

AUTHORSファイル

--- a/AUTHORS
+++ b/AUTHORS
@@ -62,6 +62,7 @@ Clement Skau <clementskau@gmail.com>
 Conrad Meyer <cemeyer@cs.washington.edu>
 Corey Thomasson <cthom.lists@gmail.com>
 Damian Gryski <dgryski@gmail.com>
+Dan Callahan <dan.callahan@gmail.com>
 Dan Sinclair <dan.sinclair@gmail.com>
 Daniel Fleischman <danielfleischman@gmail.com>
 Daniel Krech <eikeon@eikeon.com>

CONTRIBUTORSファイル

--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -106,6 +106,7 @@ Colby Ranger <cranger@google.com>
 Conrad Meyer <cemeyer@cs.washington.edu>
 Corey Thomasson <cthom.lists@gmail.com>
 Damian Gryski <dgryski@gmail.com>
+Dan Callahan <dan.callahan@gmail.com>
 Dan Sinclair <dan.sinclair@gmail.com>
 Daniel Fleischman <danielfleischman@gmail.com>
 Daniel Krech <eikeon@eikeon.com>

コアとなるコードの解説

両ファイルにおいて、+Dan Callahan <dan.callahan@gmail.com>という行が追加されています。

  • AUTHORSファイルでは、Damian Gryski <dgryski@gmail.com>の後に、アルファベット順でDan Callahan <dan.callahan@gmail.com>が挿入されています。
  • CONTRIBUTORSファイルでも同様に、Damian Gryski <dgryski@gmail.com>の後にDan Callahan <dan.callahan@gmail.com>が挿入されています。

この変更は、Dan Callahan氏がGoプロジェクトの正式な貢献者として認識され、彼の名前と連絡先情報がプロジェクトの公式記録に追加されたことを意味します。これは、彼がGoプロジェクトへの貢献を開始するための前提条件を満たしたことを示唆しています。

関連リンク

参考にした情報源リンク