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

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

このコミットは、Goプロジェクトの貢献者リストに新しい個人を追加するものです。具体的には、AUTHORSファイルとCONTRIBUTORSファイルにMichael Gehring氏のエントリが追加されています。これは、Michael Gehring氏がGoプロジェクトに貢献するための個人貢献者ライセンス契約(Individual CLA)を締結したことを示しています。

コミット

commit 02d2b4466f88914c30b4ca5f54538464d404cd3a
Author: Adam Langley <agl@golang.org>
Date:   Mon May 14 11:28:55 2012 -0400

    A+C: add Michael Gehring (individual CLA)
    
    R=golang-dev, r
    CC=golang-dev
    https://golang.org/cl/6188076

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

https://github.com/golang/go/commit/02d2b4466f88914c30b4ca5f54538464d404cd3a

元コミット内容

このコミットの目的は、Michael Gehring氏をGoプロジェクトの公式な貢献者として追加することです。コミットメッセージの「A+C: add Michael Gehring (individual CLA)」は、AUTHORSファイルとCONTRIBUTORSファイルの両方にMichael Gehring氏を追加したことを示し、その理由が個人貢献者ライセンス契約(Individual CLA)の締結であると明記しています。

変更の背景

オープンソースプロジェクト、特にGoogleが主導するような大規模なプロジェクトでは、知的財産権の管理が非常に重要です。貢献者がコードを提出する際に、そのコードの著作権がプロジェクトまたは特定のエンティティ(この場合はGoogle)に適切にライセンスされることを保証するために、貢献者ライセンス契約(CLA: Contributor License Agreement)の締結が求められることが一般的です。

このコミットは、Michael Gehring氏がGoプロジェクトへの貢献を開始するにあたり、必要なCLAを締結したため、その氏名を公式な貢献者リストに追加するという管理上の手続きの一環として行われました。これにより、Michael Gehring氏が将来的にGoプロジェクトに提出するコードが、プロジェクトのライセンス要件に合致することが保証されます。

前提知識の解説

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

CLAは、個人または企業がオープンソースプロジェクトにコードやドキュメントなどの貢献を行う際に、その貢献物の著作権をプロジェクトの所有者(またはプロジェクトが指定するエンティティ)にライセンスするための法的な合意書です。CLAを締結することで、プロジェクトの所有者は、貢献されたコードをプロジェクトのライセンス(例: BSDライセンス、MITライセンスなど)の下で再配布、変更、利用する権利を得ます。

CLAの主な目的は以下の通りです。

  1. 知的財産権の明確化: 誰がコードの著作権を保有し、誰がそれを利用できるかを明確にします。
  2. ライセンスの統一性: プロジェクト全体のコードベースが単一のライセンスの下で提供されることを保証し、将来的なライセンス変更や再ライセンスを容易にします。
  3. 訴訟リスクの軽減: 貢献されたコードに関する著作権侵害の主張やその他の法的紛争のリスクを軽減します。

Googleが主導する多くのオープンソースプロジェクト(Go、Kubernetes、Angularなど)では、貢献者にCLAの締結を義務付けています。

AUTHORSファイルとCONTRIBUTORSファイル

多くのオープンソースプロジェクトでは、プロジェクトに貢献した人々を記録するためのテキストファイルが存在します。Goプロジェクトでは、AUTHORSCONTRIBUTORSという2つのファイルがその役割を担っています。

  • AUTHORS: 通常、プロジェクトの主要な作者や初期の貢献者、または特に重要な貢献をした人々がリストされます。このファイルは、プロジェクトの歴史的な起源や主要な開発者を記録する意味合いが強いです。
  • CONTRIBUTORS: プロジェクトに何らかの形で貢献したすべての個人がリストされます。これには、コードの提出者だけでなく、ドキュメントの作成者、バグ報告者、テストの協力者など、幅広い貢献者が含まれることがあります。このファイルは、プロジェクトのコミュニティ全体への感謝と認識を示す役割を果たします。

このコミットでは、Michael Gehring氏が両方のファイルに追加されていることから、彼がGoプロジェクトにとって重要な貢献者となることが期待されているか、あるいは既に重要な貢献をしていることが示唆されます。

技術的詳細

このコミット自体は、Go言語のコードベースに対する技術的な変更ではなく、プロジェクトのメタデータ(管理情報)に対する変更です。具体的には、Gitリポジトリ内の2つのプレーンテキストファイルAUTHORSCONTRIBUTORSに新しい行を追加しています。

Gitの差分(diff)を見ると、以下の変更が行われたことがわかります。

diff --git a/AUTHORS b/AUTHORS
index ef0cf6b4ee..43397ec81b 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -140,6 +140,7 @@ Matthew Horsnell <matthew.horsnell@gmail.com>
 Micah Stetson <micah.stetson@gmail.com>
 Michael Chaten <mchaten@gmail.com>
 Michael Elkins <michael.elkins@gmail.com>
+Michael Gehring <mg@ebfe.org>
 Michael Hoisie <hoisie@gmail.com>
 Michael Lewis <mikelikespie@gmail.com>
 Michał Derkacz <ziutek@lnet.pl>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index d6093ea187..f099efbfd6 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -209,6 +209,7 @@ Maxim Ushakov <ushakov@google.com>
 Micah Stetson <micah.stetson@gmail.com>
 Michael Chaten <mchaten@gmail.com>
 Michael Elkins <michael.elkins@gmail.com>
+Michael Gehring <mg@ebfe.org>
 Michael Hoisie <hoisie@gmail.com>
 Michael Lewis <mikelikespie@gmail.com>
 Michael Shields <mshields@google.com>

この差分は、AUTHORSファイルの140行目とCONTRIBUTORSファイルの209行目の後に、それぞれ+Michael Gehring <mg@ebfe.org>という行が追加されたことを示しています。これは、Gitの標準的なテキストファイルの変更追跡メカニズムによって記録されます。

コミットメッセージのA+Cは、慣例的にAUTHORSCONTRIBUTORSファイルの両方への変更を示す略記です。R=golang-dev, rCC=golang-devは、コードレビューのプロセスに関連する情報で、golang-devメーリングリストがレビュー担当者(Reviewer)およびカーボンコピー(Carbon Copy)の対象であることを示しています。https://golang.org/cl/6188076は、この変更がGoプロジェクトのコードレビューシステム(Gerritベース)における変更リスト(Change List)のURLであることを示しています。

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

このコミットにおける「コード」の変更は、Go言語のソースコード自体ではなく、プロジェクトのメタデータファイルであるAUTHORSCONTRIBUTORSへのテキストの追加です。

  • AUTHORSファイル:

    --- a/AUTHORS
    +++ b/AUTHORS
    @@ -140,6 +140,7 @@ Matthew Horsnell <matthew.horsnell@gmail.com>
     Micah Stetson <micah.stetson@gmail.com>
     Michael Chaten <mchaten@gmail.com>
     Michael Elkins <michael.elkins@gmail.com>
    +Michael Gehring <mg@ebfe.org>
     Michael Hoisie <hoisie@gmail.com>
     Michael Lewis <mikelikespie@gmail.com>
     Michał Derkacz <ziutek@lnet.pl>
    
  • CONTRIBUTORSファイル:

    --- a/CONTRIBUTORS
    +++ b/CONTRIBUTORS
    @@ -209,6 +209,7 @@ Maxim Ushakov <ushakov@google.com>
     Micah Stetson <micah.stetson@gmail.com>
     Michael Chaten <mchaten@gmail.com>
     Michael Elkins <michael.elkins@gmail.com>
    +Michael Gehring <mg@ebfe.org>
     Michael Hoisie <hoisie@gmail.com>
     Michael Lewis <mikelikespie@gmail.com>
     Michael Shields <mshields@google.com>
    

コアとなるコードの解説

変更されたのは、AUTHORSCONTRIBUTORSという2つのテキストファイルです。これらのファイルは、プロジェクトの貢献者をリストアップするために使用されます。

  • AUTHORSファイルへの追加: +Michael Gehring <mg@ebfe.org> この行は、Michael Gehring氏の名前とメールアドレスをAUTHORSファイルに追加しています。これは、彼がGoプロジェクトの主要な作者の一人として認識されたことを意味します。

  • CONTRIBUTORSファイルへの追加: +Michael Gehring <mg@ebfe.org> 同様に、この行はMichael Gehring氏の名前とメールアドレスをCONTRIBUTORSファイルに追加しています。これは、彼がGoプロジェクトに貢献した個人として公式に記録されたことを意味します。

これらの変更は、Goプロジェクトのガバナンスと法務的な側面を反映したものであり、新しい貢献者がプロジェクトの法的要件(CLAの締結)を満たしたことを示す記録となります。これにより、Michael Gehring氏がGoプロジェクトに提出するすべての貢献が、プロジェクトのライセンスの下で適切に扱われることが保証されます。

関連リンク

  • Goプロジェクトの公式ウェブサイト: https://golang.org/
  • GoプロジェクトのGitHubリポジトリ: https://github.com/golang/go
  • Goプロジェクトの貢献ガイドライン(CLAに関する情報が含まれる可能性が高い): 通常、プロジェクトのCONTRIBUTING.mdファイルや公式ドキュメントに記載されています。

参考にした情報源リンク

  • GitHubのコミットページ: https://github.com/golang/go/commit/02d2b4466f88914c30b4ca5f54538464d404cd3a
  • 一般的な貢献者ライセンス契約(CLA)に関する情報源(例: Linux Foundation, Apache Software FoundationなどのCLAドキュメント)
  • Goプロジェクトのコードレビューシステム(Gerrit)に関する情報(golang.org/cl/のURL形式から推測)