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

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

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

コミット

  • コミットハッシュ: 1276e507bb9299b0abcf8b94bd8dec291938907d
  • 作者: David Symonds <dsymonds@golang.org>
  • コミット日時: 2013年5月27日 月曜日 10:59:34 +1000

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

https://github.com/golang/go/commit/1276e507bb9299b0abcf8b94bd8dec291938907d

元コミット内容

A+C: Brian G. Merrell (individual CLA)

Generated by addca.

R=gobot
CC=golang-dev
https://golang.org/cl/9797044

変更の背景

オープンソースプロジェクト、特にGoogleが関与するプロジェクトでは、貢献者がコードを提出する前に貢献者ライセンス契約(Contributor License Agreement, CLA)に署名することが一般的です。これは、プロジェクトの知的財産権を保護し、将来的なライセンス変更や法的な問題を回避するために行われます。

このコミットは、Brian G. Merrell氏がGoプロジェクトに貢献するためのIndividual CLAを締結したことを反映しています。CLAが締結されると、その貢献者の名前がプロジェクトのAUTHORSおよびCONTRIBUTORSファイルに追加され、正式にプロジェクトの貢献者として認識されるようになります。このプロセスは通常、自動化されたツール(この場合はaddca)によって行われます。

前提知識の解説

貢献者ライセンス契約 (CLA)

CLAは、個人または企業がオープンソースプロジェクトに貢献する際に、その貢献物の著作権をプロジェクトの所有者(または指定された団体)に譲渡するか、または特定のライセンスの下で使用することを許可する法的な合意書です。これにより、プロジェクトの所有者は、貢献されたコードをプロジェクトのライセンス条件に従って自由に利用、配布、変更する権利を得ます。

Goプロジェクトのような大規模なオープンソースプロジェクトでは、CLAは以下の目的で重要です。

  • 知的財産権の明確化: 誰がコードの著作権を所有しているかを明確にし、将来的な紛争を防ぎます。
  • ライセンスの柔軟性: プロジェクトのライセンスを変更する必要が生じた場合でも、すべての貢献者から許可を得る手間を省きます。
  • 法的な保護: 悪意のあるコードや著作権侵害のコードがプロジェクトに混入するリスクを軽減します。

Goプロジェクトでは、GoogleがCLAを管理しており、貢献者はGoogle Developersのウェブサイトを通じてCLAに署名します。

AUTHORSファイルとCONTRIBUTORSファイル

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

  • AUTHORSファイル: 通常、プロジェクトの主要な作者や、特に重要な貢献をした人々の名前が記載されます。
  • CONTRIBUTORSファイル: より広範な貢献者、例えばバグ修正、ドキュメントの改善、テストの追加など、様々な形でプロジェクトに貢献したすべての人々の名前が記載されます。

これらのファイルは、貢献者への感謝を示すとともに、プロジェクトの歴史とコミュニティの成長を記録する役割も果たします。

addcaツール

コミットメッセージに「Generated by addca」とあるように、この変更はaddcaというツールによって生成されたものです。addcaは「add contributor agreement」の略であり、Google内部で使用されるツールで、CLAが締結された際に、自動的にGoリポジトリのAUTHORSおよびCONTRIBUTORSファイルに該当する貢献者の情報を追加するために使用されます。これにより、手動での更新ミスを防ぎ、プロセスを効率化します。

技術的詳細

このコミットは、Goプロジェクトのソースコード自体に機能的な変更を加えるものではなく、プロジェクトのメタデータ、具体的には貢献者リストを更新するものです。

変更は以下の2つのファイルに対して行われています。

  1. AUTHORS: プロジェクトの主要な作者リスト。
  2. CONTRIBUTORS: プロジェクトに貢献したすべての個人のリスト。

これらのファイルは、単なるテキストファイルであり、特定のフォーマットに従って貢献者の名前とメールアドレスが記述されています。addcaツールは、CLAの締結が確認されると、これらのファイルに新しいエントリを追記します。

コミットメッセージの各行の意味は以下の通りです。

  • A+C: Brian G. Merrell (individual CLA): AUTHORSCONTRIBUTORSファイルにBrian G. Merrell氏を追加したことを示し、彼が個人CLAを締結したことを明記しています。
  • Generated by addca.: この変更がaddcaツールによって自動生成されたものであることを示します。
  • R=gobot: レビュー担当者がgobotであることを示します。gobotはGoプロジェクトにおける自動化されたレビューボットである可能性があります。
  • CC=golang-dev: この変更がgolang-devメーリングリストにCC(カーボンコピー)されたことを示します。これは、Go開発コミュニティ全体にこの変更が通知されたことを意味します。
  • https://golang.org/cl/9797044: この変更に対応するGerrit Code Reviewのチェンジリスト(CL)へのリンクです。Goプロジェクトでは、コードレビューにGerritを使用しています。

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

diff --git a/AUTHORS b/AUTHORS
index 822d6f356d..62d8355b42 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -50,6 +50,7 @@ Bjorn Tipling <bjorn.tipling@gmail.com>
 Blake Mizerany <blake.mizerany@gmail.com>
 Bobby Powers <bobbypowers@gmail.com>
 Brian Dellisanti <briandellisanti@gmail.com>
+Brian G. Merrell <bgmerrell@gmail.com>
 Brian Ketelsen <bketelsen@gmail.com>
 Caine Tighe <arctanofyourface@gmail.com>
 Caleb Spare <cespare@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 324a62f380..80b01d8a97 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -90,6 +90,7 @@ Bobby Powers <bobbypowers@gmail.com>
 Brad Fitzpatrick <bradfitz@golang.org> <bradfitz@gmail.com>
 Brendan O'Dea <bod@golang.org>
 Brian Dellisanti <briandellisanti@gmail.com>
+Brian G. Merrell <bgmerrell@gmail.com>
 Brian Ketelsen <bketelsen@gmail.com>
 Brian Slesinsky <skybrian@google.com>
 Caine Tighe <arctanofyourface@gmail.com>

コアとなるコードの解説

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

  • AUTHORSファイルへの変更:

    • @@ -50,6 +50,7 @@ は、元のファイルでは50行目から6行が変更され、新しいファイルでは50行目から7行に変更されたことを示します。
    • +Brian G. Merrell <bgmerrell@gmail.com> の行が追加されています。これは、Brian Dellisanti氏のエントリの直後にBrian G. Merrell氏の名前とメールアドレスが挿入されたことを意味します。
  • CONTRIBUTORSファイルへの変更:

    • @@ -90,6 +90,7 @@ は、元のファイルでは90行目から6行が変更され、新しいファイルでは90行目から7行に変更されたことを示します。
    • +Brian G. Merrell <bgmerrell@gmail.com> の行が追加されています。これは、Brian Dellisanti氏のエントリの直後にBrian G. Merrell氏の名前とメールアドレスが挿入されたことを意味します。

これらの変更は、Brian G. Merrell氏がGoプロジェクトの正式な貢献者として認識され、その名前がプロジェクトの公式な貢献者リストに記録されたことを明確に示しています。

関連リンク

参考にした情報源リンク