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

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

このコミットは、Goプロジェクトの貢献者リストに新しい個人を追加するものです。具体的には、AUTHORS ファイルと CONTRIBUTORS ファイルに「Ato Araki」氏の情報を追加しています。これは、彼がGoプロジェクトへの貢献を開始するにあたり、個人貢献者ライセンス契約(Individual CLA)を締結したことを示すものです。

コミット

  • コミットハッシュ: f931970b6b749aa63147a0b330cf099675f34750
  • 作者: Andrew Gerrand adg@golang.org
  • 日付: Tue Nov 5 15:10:24 2013 +1100
  • コミットメッセージの要約: A+C: Ato Araki (individual CLA)

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

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

元コミット内容

commit f931970b6b749aa63147a0b330cf099675f34750
Author: Andrew Gerrand <adg@golang.org>
Date:   Tue Nov 5 15:10:24 2013 +1100

    A+C: Ato Araki (individual CLA)
    
    Generated by addca.
    
    R=gobot
    CC=golang-dev
    https://golang.org/cl/21790043
--─
 AUTHORS      | 1 +
 CONTRIBUTORS | 1 +
 2 files changed, 2 insertions(+)

diff --git a/AUTHORS b/AUTHORS
index 66680b566b..13487374a6 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -47,6 +47,7 @@ Anthony Starks <ajstarks@gmail.com>
 Arnaud Ysmal <arnaud.ysmal@gmail.com>
 Aron Nopanen <aron.nopanen@gmail.com>
 Arvindh Rajesh Tamilmani <art@a-30.net>
+Ato Araki <ato.araki@gmail.com>
 Aulus Egnatius Varialus <varialus@gmail.com>
 Ben Olive <sionide21@gmail.com>
 Benjamin Black <b@b3k.us>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 8b9eb5e866..d21ac03c40 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -80,6 +80,7 @@ Arnaud Ysmal <arnaud.ysmal@gmail.com>
 Aron Nopanen <aron.nopanen@gmail.com>
 Arvindh Rajesh Tamilmani <art@a-30.net>\n Asim Shankar <asimshankar@gmail.com>
+Ato Araki <ato.araki@gmail.com>
 Aulus Egnatius Varialus <varialus@gmail.com>
 Austin Clements <aclements@csail.mit.edu>
 Balazs Lecz <leczb@google.com>

変更の背景

このコミットの背景には、オープンソースプロジェクトにおける貢献者の管理と、知的財産権の明確化という重要な側面があります。Goプロジェクトのような大規模なオープンソースプロジェクトでは、世界中の多数の開発者がコードベースに貢献します。これらの貢献がプロジェクトのライセンスの下で適切に利用されることを保証するためには、各貢献者からの明確な許諾が必要となります。

AUTHORS ファイルと CONTRIBUTORS ファイルは、プロジェクトに貢献した個人や組織を記録するためのものです。AUTHORS は通常、プロジェクトの主要な作者や初期の貢献者を指し、CONTRIBUTORS はそれ以外のすべての貢献者を網羅します。新しい貢献者がプロジェクトにコードを提出する前に、通常は貢献者ライセンス契約(CLA)に署名することが求められます。このコミットは、Ato Araki氏がCLAに署名し、Goプロジェクトへの貢献が正式に認められたことを反映しています。

前提知識の解説

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

CLAは、個人または法人がオープンソースプロジェクトに貢献する際に、その貢献に関する知的財産権をプロジェクトの所有者(または特定の財団など)に譲渡またはライセンス供与することを定めた法的な合意書です。Go言語の場合、Googleがプロジェクトを主導しているため、貢献者はGoogleに対してCLAを締結します。

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

  1. 知的財産権の明確化: 貢献されたコードの著作権が誰に帰属するのか、プロジェクトがそのコードをどのように利用できるのかを明確にします。これにより、将来的な著作権侵害の訴訟リスクを軽減し、プロジェクトの法的健全性を保ちます。
  2. ライセンスの統一性: プロジェクト全体が単一のライセンス(Goの場合はBSDライセンス)の下で配布されることを保証します。CLAがない場合、各貢献者のコードが異なるライセンス条件を持つ可能性があり、プロジェクト全体のライセンス管理が複雑になります。
  3. 再ライセンスの可能性: プロジェクトが将来的にライセンスを変更する必要が生じた場合(例えば、より寛容なライセンスへの移行など)、CLAによってプロジェクト所有者が貢献されたコードを新しいライセンスの下で再配布する権限を持つことができます。

addca ツール

コミットメッセージに「Generated by addca.」と記載されています。これは、Goプロジェクト内で貢献者情報を管理するために使用される内部ツールまたはスクリプトを示唆しています。CLAが締結されると、このaddcaツールが実行され、自動的にAUTHORSおよびCONTRIBUTORSファイルに新しい貢献者のエントリを追加するものと考えられます。これにより、手動での編集ミスを防ぎ、プロセスを標準化することができます。

技術的詳細

Goプロジェクトのルートディレクトリには、AUTHORSCONTRIBUTORSという2つの重要なテキストファイルが存在します。

  • AUTHORS: このファイルは、Go言語プロジェクトの主要な作者、特に初期の設計と実装に深く関わった人々をリストアップしています。歴史的な記録としての意味合いが強く、プロジェクトの根幹を築いた人々を称える目的もあります。
  • CONTRIBUTORS: このファイルは、Goプロジェクトにコード、ドキュメント、テスト、バグ報告、レビューなど、何らかの形で貢献したすべての個人をリストアップしています。このリストは非常に長く、プロジェクトの成長とともに増え続けています。

これらのファイルは、プロジェクトの透明性を高め、貢献者への適切なクレジットを付与するために維持されています。また、CLAの締結状況を間接的に示す役割も果たしています。新しい貢献者がCLAを締結すると、通常はこれらのファイルにその名前とメールアドレスが追加されます。

このコミットでは、addcaというツールが使用されたことが明記されています。これは、CLAの管理プロセスと密接に連携しており、CLAが承認された後に自動的にこれらのファイルを更新するワークフローの一部であると推測されます。このような自動化は、大規模なオープンソースプロジェクトにおいて、手作業によるエラーを減らし、効率性を向上させるために不可欠です。

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

diff --git a/AUTHORS b/AUTHORS
index 66680b566b..13487374a6 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -47,6 +47,7 @@ Anthony Starks <ajstarks@gmail.com>
 Arnaud Ysmal <arnaud.ysmal@gmail.com>
 Aron Nopanen <aron.nopanen@gmail.com>
 Arvindh Rajesh Tamilmani <art@a-30.net>
+Ato Araki <ato.araki@gmail.com>
 Aulus Egnatius Varialus <varialus@gmail.com>
 Ben Olive <sionide21@gmail.com>
 Benjamin Black <b@b3k.us>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 8b9eb5e866..d21ac03c40 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -80,6 +80,7 @@ Arnaud Ysmal <arnaud.ysmal@gmail.com>
 Aron Nopanen <aron.nopanen@gmail.com>
 Arvindh Rajesh Tamilmani <art@a-30.net>\n Asim Shankar <asimshankar@gmail.com>
+Ato Araki <ato.araki@gmail.com>
 Aulus Egnatius Varialus <varialus@gmail.mit.edu>
 Austin Clements <aclements@csail.mit.edu>
 Balazs Lecz <leczb@google.com>

コアとなるコードの解説

上記のdiff出力は、AUTHORSファイルとCONTRIBUTORSファイルに対する非常にシンプルな変更を示しています。

  • AUTHORS ファイル: 47行目の後に新しい行が追加され、Ato Araki <ato.araki@gmail.com>というエントリが挿入されています。これは、Ato Araki氏がGoプロジェクトの主要な作者の一人として認識されたことを意味します。
  • CONTRIBUTORS ファイル: 80行目の後に新しい行が追加され、同様にAto Araki <ato.araki@gmail.com>というエントリが挿入されています。これは、彼がGoプロジェクトへの貢献者として正式にリストに追加されたことを意味します。

この変更は、コードの機能的な振る舞いには一切影響を与えません。純粋にプロジェクトのメタデータと貢献者記録を更新するためのものです。コミットメッセージにある「individual CLA」という記述と合わせて、Ato Araki氏がGoプロジェクトへの貢献を開始するための法的な手続きを完了したことを明確に示しています。

関連リンク

  • Go言語の公式ウェブサイト: https://golang.org/
  • Goプロジェクトの貢献ガイドライン (CLAに関する情報が含まれる場合があります): https://go.dev/doc/contribute (一般的なGoの貢献ガイドラインへのリンク。CLAに関する具体的なページはプロジェクトの進化により変更される可能性があります。)

参考にした情報源リンク