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

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

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

コミット

  • コミットハッシュ: c6b6c4ac39b274ad82b0dc5380502654ab94a652
  • 作者: Brad Fitzpatrick bradfitz@golang.org
  • コミット日時: 2013年5月23日 木曜日 14:17:32 -0700
  • コミットメッセージ:
    A+C: Frederick Kelly Mayle III (individual CLA)
    
    Generated by addca.
    
    R=gobot
    CC=golang-dev
    https://golang.org/cl/9669044
    

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

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

元コミット内容

A+C: Frederick Kelly Mayle III (individual CLA)

Generated by addca.

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

変更の背景

このコミットの背景には、オープンソースプロジェクトにおける貢献者の管理と法的な側面があります。Goプロジェクトのような大規模なオープンソースプロジェクトでは、コードベースの所有権とライセンスの明確化が非常に重要です。新しい貢献者がコードを提出する際には、通常、プロジェクトのライセンスと貢献ポリシーに同意する必要があります。これは多くの場合、コントリビューターライセンス契約(CLA)の締結によって行われます。

このコミットは、Frederick Kelly Mayle III氏がGoプロジェクトに貢献するための個人CLAを締結したことを記録するために作成されました。コミットメッセージにある「Generated by addca.」という記述から、この変更がaddcaという内部ツールによって自動生成されたものであることがわかります。これは、Goプロジェクトが貢献者の追加プロセスを効率化するための自動化されたワークフローを持っていることを示唆しています。

前提知識の解説

コントリビューターライセンス契約 (CLA)

コントリビューターライセンス契約(Contributor License Agreement, CLA)は、個人または企業がオープンソースプロジェクトにコードやドキュメントなどの貢献を行う際に、プロジェクトの所有者に対してその貢献物の使用、複製、変更、配布などの権利を許諾するための法的な合意書です。

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

  1. ライセンスの明確化: 貢献されたコードがプロジェクトのライセンス(例: BSDライセンス、MITライセンスなど)の下で適切に配布されることを保証します。これにより、将来的なライセンスに関する紛争や不明確さを防ぎます。
  2. 所有権の保護: プロジェクトの所有者(この場合はGoogle)が、貢献されたコードに対する十分な権利を保持し、プロジェクト全体のライセンスを管理できるようにします。これは、プロジェクトのライセンスを変更したり、商用利用したりする際に重要になります。
  3. 著作権侵害のリスク軽減: 貢献者が提出するコードが、第三者の著作権を侵害していないことを確認し、プロジェクトが法的な問題に巻き込まれるリスクを軽減します。

GoプロジェクトのようなGoogleが主導するプロジェクトでは、通常、貢献者に対してCLAの締結を義務付けています。これにより、GoogleはGo言語とその関連プロジェクトの知的財産権を適切に管理し、将来的な発展を保証することができます。

AUTHORS および CONTRIBUTORS ファイル

多くのオープンソースプロジェクトでは、プロジェクトに貢献した個人や組織をリストアップするために、AUTHORSCONTRIBUTORSといったテキストファイルをリポジトリ内に保持しています。

  • AUTHORS: 通常、プロジェクトの主要な作者や、著作権を保持する個人/組織がリストされます。このファイルは、プロジェクトの著作権表示の根拠となることがあります。
  • CONTRIBUTORS: プロジェクトに何らかの形で貢献したすべての個人や組織がリストされます。これには、コードの寄稿者だけでなく、ドキュメントの作成者、バグ報告者、テスターなども含まれる場合があります。

これらのファイルは、プロジェクトの透明性を高め、貢献者への感謝を示す役割も果たします。

addca ツール (推測)

コミットメッセージにある「Generated by addca.」という記述は、addcaがGoプロジェクト内部で使用されるツールであることを示唆しています。このツールの具体的な機能は公開されていませんが、その名前("add" + "ca")と文脈から、以下のような役割を持つと推測されます。

  • CLA管理の自動化: 新しい貢献者がCLAを締結した際に、その情報を自動的に取得し、関連するリポジトリファイル(AUTHORSCONTRIBUTORSなど)を更新する。
  • 貢献者情報の追加: 貢献者の名前とメールアドレスを、プロジェクトの公式な貢献者リストに正確に追加する。
  • コミットの生成: 上記のファイル変更を含むコミットメッセージを自動的に生成し、Gitリポジトリにコミットする。

このような自動化ツールは、大規模なオープンソースプロジェクトにおいて、管理オーバーヘッドを削減し、一貫性を保つ上で非常に有用です。

技術的詳細

このコミットは、GoプロジェクトのGitリポジトリ内の2つのファイル、AUTHORSCONTRIBUTORSに新しい行を追加するものです。

AUTHORS ファイルの変更

AUTHORSファイルは、Goプロジェクトの主要な作者や著作権保持者をリストアップしています。このファイルへの追加は、Frederick Kelly Mayle III氏がGoプロジェクトの正式な貢献者として認識され、彼の貢献がプロジェクトの著作権の一部となることを意味します。

変更前:

@@ -111,6 +111,7 @@ Firmansyah Adiputra <frm.adiputra@gmail.com>
 Florian Uekermann <florian@uekermann-online.de>
 Florian Weimer <fw@deneb.enyo.de>
 Francisco Souza <franciscossouza@gmail.com>
+Frederick Kelly Mayle III <frederickmayle@gmail.com>
 Frithjof Schulze <schulze@math.uni-hannover.de>
 Gary Burd <gary@beagledreams.com>
 Georg Reinke <guelfey@gmail.com>

この差分は、Francisco Souza <franciscossouza@gmail.com>のエントリの後に、新しい行が追加されたことを示しています。

CONTRIBUTORS ファイルの変更

CONTRIBUTORSファイルは、Goプロジェクトに貢献したすべての個人をリストアップしています。このファイルへの追加は、Frederick Kelly Mayle III氏がGoプロジェクトの貢献者コミュニティの一員となったことを明確に示します。

変更前:

@@ -169,6 +169,7 @@ Florian Uekermann <florian@uekermann-online.de> <f1@uekermann-online.de>
 Florian Weimer <fw@deneb.enyo.de>
 Francesc Campoy <campoy@golang.org>
 Francisco Souza <franciscossouza@gmail.com>
+Frederick Kelly Mayle III <frederickmayle@gmail.com>
 Frithjof Schulze <schulze@math.uni-hannover.de>
 Fumitoshi Ukai <ukai@google.com>
 Gaal Yahas <gaal@google.com>

この差分も同様に、Francisco Souza <franciscossouza@gmail.com>のエントリの後に、新しい行が追加されたことを示しています。

両ファイルへの追加は、貢献者の名前とメールアドレスの形式で一貫して行われています。これは、これらのファイルが特定のフォーマットに従って管理されていることを示唆しています。

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

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

AUTHORS ファイルへの追加

--- a/AUTHORS
+++ b/AUTHORS
@@ -111,6 +111,7 @@ Firmansyah Adiputra <frm.adiputra@gmail.com>
 Florian Uekermann <florian@uekermann-online.de>
 Florian Weimer <fw@deneb.enyo.de>
 Francisco Souza <franciscossouza@gmail.com>
+Frederick Kelly Mayle III <frederickmayle@gmail.com>
 Frithjof Schulze <schulze@math.uni-hannover.de>
 Gary Burd <gary@beagledreams.com>
 Georg Reinke <guelfey@gmail.com>

CONTRIBUTORS ファイルへの追加

--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -169,6 +169,7 @@ Florian Uekermann <florian@uekermann-online.de> <f1@uekermann-online.de>
 Florian Weimer <fw@deneb.enyo.de>
 Francesc Campoy <campoy@golang.org>
 Francisco Souza <franciscossouza@gmail.com>
+Frederick Kelly Mayle III <frederickmayle@gmail.com>
 Frithjof Schulze <schulze@math.uni-hannover.de>
 Fumitoshi Ukai <ukai@google.com>
 Gaal Yahas <gaal@google.com>

コアとなるコードの解説

追加された行は、新しい貢献者の氏名とメールアドレスをAUTHORSおよびCONTRIBUTORSファイルに記録しています。

  • Frederick Kelly Mayle III <frederickmayle@gmail.com>:
    • Frederick Kelly Mayle III: 貢献者のフルネーム。
    • <frederickmayle@gmail.com>: 貢献者のメールアドレス。

この形式は、Gitのコミット情報や一般的なソフトウェアプロジェクトにおける貢献者リストでよく見られる標準的なものです。これらの情報がファイルに追加されることで、Goプロジェクトの公式な記録として、Frederick Kelly Mayle III氏がプロジェクトに貢献する権利と義務を持つことが明示されます。

関連リンク

特になし。

参考にした情報源リンク

特になし。