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

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

このコミットは、GoプロジェクトのAUTHORSファイルとCONTRIBUTORSファイルに、新たな貢献者であるDavid Thomas氏を追加するものです。これは、Goプロジェクトへの貢献が承認され、必要なContributor License Agreement (CLA)が締結された後に実行される、一般的な管理上の更新です。

コミット

commit dd9c403402c31498d47fee6f2425706f400bda4a
Author: Russ Cox <rsc@golang.org>
Date:   Thu Apr 3 16:00:05 2014 -0400

    A+C: David Thomas (individual CLA)
    
    Generated by addca.
    
    R=gobot
    CC=golang-codereviews
    https://golang.org/cl/81400045
---\n AUTHORS      | 1 +\n CONTRIBUTORS | 1 +\n 2 files changed, 2 insertions(+)

diff --git a/AUTHORS b/AUTHORS
index 22b573eda0..72b422d28c 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -109,6 +109,7 @@ David du Colombier <0intro@gmail.com>
 David Forsythe <dforsythe@gmail.com>
 David G. Andersen <dave.andersen@gmail.com>
 David Jakob Fritz <david.jakob.fritz@gmail.com>
+David Thomas <davidthomas426@gmail.com>
 David Titarenco <david.titarenco@gmail.com>
 Dean Prichard <dean.prichard@gmail.com>
 Denis Brandolini <denis.brandolini@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 3c4eb2c704..a0a01fdae8 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -173,6 +173,7 @@ David Jakob Fritz <david.jakob.fritz@gmail.com>
 David McLeish <davemc@google.com>
 David Presotto <presotto@gmail.com>
 David Symonds <dsymonds@golang.org>
+David Thomas <davidthomas426@gmail.com>
 David Titarenco <david.titarenco@gmail.com>
 Dean Prichard <dean.prichard@gmail.com>
 Denis Brandolini <denis.brandolini@gmail.com>

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

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

元コミット内容

A+C: David Thomas (individual CLA)

Generated by addca.

R=gobot
CC=golang-codereviews
https://golang.org/cl/81400045

変更の背景

このコミットの背景には、Goプロジェクトへの新たな貢献者が現れ、その貢献がプロジェクトに受け入れられる準備が整ったという事実があります。オープンソースプロジェクト、特にGoogleのような企業が支援する大規模なプロジェクトでは、コードの著作権とライセンスに関する明確な取り決めが不可欠です。そのため、貢献者は通常、Contributor License Agreement (CLA)に署名することが求められます。このコミットは、David Thomas氏が個人のCLAを締結し、Goプロジェクトへの貢献が正式に認められたことを記録するために行われました。

前提知識の解説

AUTHORSファイルとCONTRIBUTORSファイル

オープンソースプロジェクトにおけるAUTHORSファイルとCONTRIBUTORSファイルは、プロジェクトに貢献した人々を記録するためのものです。

  • AUTHORSファイル: 通常、プロジェクトの主要な作者や著作権保持者をリストアップします。プロジェクトの主要な作成者や、著作権を保持する個人または団体を明示的にクレジットする目的があります。
  • CONTRIBUTORSファイル: AUTHORSファイルよりも広範な貢献者を含みます。バグ修正、ドキュメントの改善、その他の価値ある貢献を行った人々をリストアップすることが多いです。

これらのファイルは、プロジェクトの歴史と貢献者を可視化し、コミュニティの努力を認識するために使用されます。Gitのコミット履歴も貢献の記録として機能しますが、これらのファイルはより簡潔な形で貢献者を示す役割を果たします。

Contributor License Agreement (CLA)

CLA(貢献者ライセンス同意書)は、貢献者がプロジェクトに提供する知的財産(通常はソースコード)の条件を定義する法的な文書です。CLAの主な目的は、プロジェクトのメンテナーが必要な法的権利を確保し、貢献されたコードをプロジェクトの選択したオープンソースライセンスの下で使用、配布、および再ライセンスできるようにすることです。

CLAが使用される理由は以下の通りです。

  • 法的明確性とリスク軽減: CLAは、将来の知的財産紛争を防ぐのに役立ちます。CLAがない場合、貢献者が後で自分のコードが不適切に使用されたと主張する可能性があり、プロジェクトが法的課題に直面する可能性があります。
  • 再ライセンスの柔軟性: 一部のプロジェクトでは、CLAによって将来的にコードを再ライセンスする能力(例えば、異なる商用ライセンスの下で)をプロジェクトに付与することができます。
  • オープンソースライセンスの保証: CLAは、すべての貢献がプロジェクトの指定されたオープンソースライセンス(例:MPL2、MIT、Apache、BSDなど)の下でライセンスされることを保証します。
  • 貢献プロセスの合理化: 大規模なプロジェクトでは、貢献者が一度CLAに署名すれば、その後のすべての貢献がカバーされるため、法的なプロセスが簡素化されます。

Googleが支援するGoのような多くの主要なオープンソースプロジェクトは、CLAを要求しています。貢献者がパッチやプルリクエストを提出する際、CLAボットがCLAが提出されているか自動的に確認し、必要であれば指示を提供することが一般的です。

技術的詳細

このコミットは、Goプロジェクトの管理プロセスの一部として行われました。コミットメッセージにある「Generated by addca.」という記述は、この変更がaddcaというツールによって自動生成されたものであることを示唆しています。addcaは「add CLA」の略であると推測され、新しい貢献者がCLAに署名した際に、その情報をAUTHORSおよびCONTRIBUTORSファイルに自動的に追加するための内部ツールであると考えられます。

この自動化されたプロセスは、大規模なオープンソースプロジェクトにおいて、貢献者の管理を効率化し、手作業によるエラーを防ぐために重要です。新しい貢献者がCLAを締結すると、その情報がシステムに登録され、addcaのようなツールがこれらのファイルを更新するコミットを生成します。

コミットメッセージの「A+C: David Thomas (individual CLA)」は、「Authors and Contributors: David Thomas (individual CLA)」を意味し、David Thomas氏が個人としてCLAを締結したことを示しています。

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

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

  1. /AUTHORS
  2. /CONTRIBUTORS

それぞれのファイルに、David Thomas氏の名前とメールアドレスが1行ずつ追加されています。

  • AUTHORSファイルへの追加:

    --- a/AUTHORS
    +++ b/AUTHORS
    @@ -109,6 +109,7 @@ David du Colombier <0intro@gmail.com>
     David Forsythe <dforsythe@gmail.com>
     David G. Andersen <dave.andersen@gmail.com>
     David Jakob Fritz <david.jakob.fritz@gmail.com>
    +David Thomas <davidthomas426@gmail.com>
     David Titarenco <david.titarenco@gmail.com>
     Dean Prichard <dean.prichard@gmail.com>
     Denis Brandolini <denis.brandolini@gmail.com>
    
  • CONTRIBUTORSファイルへの追加:

    --- a/CONTRIBUTORS
    +++ b/CONTRIBUTORS
    @@ -173,6 +173,7 @@ David Jakob Fritz <david.jakob.fritz@gmail.com>
     David McLeish <davemc@google.com>
     David Presotto <presotto@gmail.com>
     David Symonds <dsymonds@golang.org>
    +David Thomas <davidthomas426@gmail.com>
     David Titarenco <david.titarenco@gmail.com>
     Dean Prichard <dean.prichard@gmail.com>
     Denis Brandolini <denis.brandolini@gmail.com>
    

コアとなるコードの解説

変更されたコードは、単にテキストファイルに行を追加するものです。追加された行のフォーマットは、[氏名] <[メールアドレス]>という形式で、既存のエントリと一貫しています。

例: David Thomas <davidthomas426@gmail.com>

これは、Goプロジェクトが貢献者を識別し、必要に応じて連絡を取るための標準的な方法です。これらのファイルは、プロジェクトの公式な貢献者リストとして機能します。

関連リンク

参考にした情報源リンク