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

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

このコミットは、GoプロジェクトのAUTHORSファイルとCONTRIBUTORSファイルに対する変更を記録しています。これらのファイルは、プロジェクトに貢献した個人を追跡するために使用されます。

コミット

このコミットは、Cezar Sá Espinola氏をGoプロジェクトのAUTHORSおよびCONTRIBUTORSファイルに追加するものです。これは、彼が個別のContributor License Agreement (CLA) に署名したことを示すものであり、addcaというツールによって自動生成された変更です。

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

https://github.com/golang/go/commit/24998de7aef94bed8b909536c80c5697b572d070

元コミット内容

commit 24998de7aef94bed8b909536c80c5697b572d070
Author: Andrew Gerrand <adg@golang.org>
Date:   Thu May 15 09:10:32 2014 +1000

    A+C: Cezar Sá Espinola (individual CLA)
    
    Generated by addca.
    
    R=gobot
    CC=golang-codereviews
    https://golang.org/cl/92380043
---
 AUTHORS      | 1 +
 CONTRIBUTORS | 1 +
 2 files changed, 2 insertions(+)

diff --git a/AUTHORS b/AUTHORS
index c400a4796c..778d455d30 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -78,6 +78,7 @@ Carl Chatfield <carlchatfield@gmail.com>
 Carlos Castillo <cookieo9@gmail.com>
 Case Nelson <case.nelson@gmail.com>
 Casey Marshall <casey.marshall@gmail.com>
+Cezar Sá Espinola <cezarsa@gmail.com>
 ChaiShushan <chaishushan@gmail.com>\n Charles L. Dorian <cldorian@gmail.com>
 Charles Lee <zombie.fml@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 1da9631ae7..d672b07cc5 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -126,6 +126,7 @@ Cary Hull <chull@google.com>
 Case Nelson <case.nelson@gmail.com>
 Casey Marshall <casey.marshall@gmail.com>
 Catalin Patulea <catalinp@google.com>
+Cezar Sá Espinola <cezarsa@gmail.com>
 ChaiShushan <chaishushan@gmail.com>
 Charles L. Dorian <cldorian@gmail.com>
 Charles Lee <zombie.fml@gmail.com>

変更の背景

オープンソースプロジェクト、特にGoogleが主導するような大規模なプロジェクトでは、知的財産権の管理が非常に重要です。貢献者がコードを提出する前に、プロジェクトに対してその貢献の利用を許可する契約に署名することが一般的です。これがContributor License Agreement (CLA) です。

Cezar Sá Espinola氏がGoプロジェクトに貢献するために、彼は個別のCLAに署名しました。この署名が完了すると、Goプロジェクトのツールチェーンの一部であるaddcaというツールが実行され、署名者の情報がAUTHORSおよびCONTRIBUTORSファイルに自動的に追加されます。これにより、プロジェクトの貢献者リストが常に最新の状態に保たれ、法的な要件が満たされます。

前提知識の解説

AUTHORSファイルとCONTRIBUTORSファイル

多くのオープンソースプロジェクトでは、プロジェクトに貢献した人々の名前を記録するためにAUTHORSCONTRIBUTORSといったファイルを使用します。

  • AUTHORS: 通常、プロジェクトの主要な作者や、著作権を保持する個人や団体をリストアップします。
  • CONTRIBUTORS: プロジェクトにコード、ドキュメント、バグ報告、アイデアなどで貢献したすべての個人をリストアップします。

これらのファイルは、プロジェクトの透明性を高め、貢献者への適切なクレジットを保証する役割を果たします。

Contributor License Agreement (CLA)

CLA(Contributor License Agreement)は、個人または企業がオープンソースプロジェクトに貢献する際に、その貢献の著作権をプロジェクトの所有者(または指定された団体)に譲渡するか、または特定のライセンスの下での利用を許可することを定めた法的な合意書です。

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

  1. 知的財産権の明確化: 貢献されたコードの所有権と利用権を明確にし、将来的な法的な紛争を防ぎます。
  2. ライセンスの統一: プロジェクト全体で一貫したライセンスモデルを維持することを可能にします。
  3. 再ライセンスの可能性: プロジェクトの所有者が将来的にプロジェクトのライセンスを変更する際に、貢献されたコードを新しいライセンスの下で再ライセンスする権限を持つことを保証します。

Googleが主導するプロジェクト(Goを含む)では、通常、貢献者はCLAに署名することが求められます。これにより、Googleは貢献されたコードをGoプロジェクトのライセンス(通常はBSDライセンス)の下で配布し、必要に応じて将来的にライセンスモデルを調整する柔軟性を持ちます。

技術的詳細

このコミット自体は、Goランタイムの内部的なコード変更ではなく、プロジェクトの管理プロセスに関連するものです。ここで注目すべき技術的詳細は、addcaというツールの存在です。

addcaツール

コミットメッセージに「Generated by addca.」とあるように、この変更はaddcaというツールによって自動生成されたものです。addcaは「add Contributor Agreement」の略であると推測され、Goプロジェクトの内部ツールとして、CLAに署名した貢献者の情報をAUTHORSおよびCONTRIBUTORSファイルに自動的に追加する役割を担っています。

このような自動化ツールは、大規模なオープンソースプロジェクトにおいて非常に重要です。

  • 手作業の削減: 多数の貢献者がいる場合、手作業でこれらのファイルを更新するのは非効率的であり、エラーの原因にもなります。
  • 一貫性の確保: ツールによって生成されることで、エントリのフォーマットや順序など、ファイルの内容の一貫性が保たれます。
  • プロセス遵守の強制: CLA署名という法的な要件が満たされた後にのみ、貢献者がリストに追加されることを保証します。

具体的なaddcaの実装やその動作の詳細はこのコミットからは読み取れませんが、その存在はGoプロジェクトが貢献者管理プロセスを効率的かつ厳密に運用していることを示しています。

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

このコミットによる変更は、以下の2つのファイルに対するものです。

  • AUTHORS
  • CONTRIBUTORS

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

diff --git a/AUTHORS b/AUTHORS
index c400a4796c..778d455d30 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -78,6 +78,7 @@ Carl Chatfield <carlchatfield@gmail.com>
 Carlos Castillo <cookieo9@gmail.com>
 Case Nelson <case.nelson@gmail.com>
 Casey Marshall <casey.marshall@gmail.com>
+Cezar Sá Espinola <cezarsa@gmail.com>
 ChaiShushan <chaishushan@gmail.com>\n Charles L. Dorian <cldorian@gmail.com>
 Charles Lee <zombie.fml@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 1da9631ae7..d672b07cc5 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -126,6 +126,7 @@ Cary Hull <chull@google.com>
 Case Nelson <case.nelson@gmail.com>
 Casey Marshall <casey.marshall@gmail.com>
 Catalin Patulea <catalinp@google.com>
+Cezar Sá Espinola <cezarsa@gmail.com>
 ChaiShushan <chaishushan@gmail.com>
 Charles L. Dorian <cldorian@gmail.com>
 Charles Lee <zombie.fml@gmail.com>

コアとなるコードの解説

変更されたコードは、Go言語のソースコードやランタイムのロジックではなく、プレーンテキストファイルです。具体的には、AUTHORSファイルとCONTRIBUTORSファイルに、新しい貢献者であるCezar Sá Espinola氏の名前とメールアドレスが追加されています。

  • AUTHORSファイルでは、行番号78の後にCezar Sá Espinola <cezarsa@gmail.com>が追加されています。
  • CONTRIBUTORSファイルでは、行番号126の後に同様にCezar Sá Espinola <cezarsa@gmail.com>が追加されています。

これらの変更は、Goプロジェクトへの貢献が正式に認められ、記録されたことを意味します。これは、プロジェクトの健全な運用と法的なコンプライアンスを維持するための、定期的かつ重要なプロセスの一部です。

関連リンク

参考にした情報源リンク

  • GoプロジェクトのGitHubリポジトリ: https://github.com/golang/go
  • Google Contributor License Agreement (CLA) の公式ページ: https://cla.developers.google.com/
  • 一般的なオープンソースプロジェクトにおけるAUTHORSおよびCONTRIBUTORSファイルの役割に関する知識。
  • addcaツールに関する情報は、コミットメッセージからの推測と、一般的なオープンソースプロジェクトの自動化ツールの知識に基づいています。具体的なaddcaのドキュメントやソースコードは公開されていない可能性があります。
  • Goプロジェクトの貢献ガイドライン: https://go.dev/doc/contribute
  • GoプロジェクトのCLAに関する情報: https://go.dev/doc/contribute#cla (このリンクは、Goの貢献ガイドライン内でCLAについて言及している箇所です。)