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

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

このコミットは、Go言語プロジェクトの貢献者リストに新しい個人貢献者であるJimmy Zelinskie氏を追加するものです。具体的には、AUTHORSファイルとCONTRIBUTORSファイルに彼の名前とメールアドレスが追記されています。これは、彼がGoプロジェクトへの貢献を開始するにあたり、Individual Contributor License Agreement (CLA) に署名したことを示しています。

コミット

commit a3d116cf78cc349fd4e0dd51c8cca64c27b2f4eb
Author: Andrew Gerrand <adg@golang.org>
Date:   Thu Oct 11 11:20:01 2012 +1100

    A+C: add Jimmy Zelinskie (Individual CLA)
    
    R=golang-dev, iant
    CC=golang-dev
    https://golang.org/cl/6642068

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

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

元コミット内容

A+C: add Jimmy Zelinskie (Individual CLA)

このコミットメッセージは、「AUTHORSファイルとCONTRIBUTORSファイルにJimmy Zelinskie氏を追加する(個人CLA)」という意味です。

変更の背景

オープンソースプロジェクト、特にGoogleが主導するGoのような大規模プロジェクトでは、貢献者からの知的財産権の帰属を明確にするために、Contributor License Agreement (CLA) の署名を求めることが一般的です。CLAは、貢献者が自身のコードをプロジェクトに提供する際に、プロジェクトがそのコードを自由に利用、配布、変更できることを保証する法的な合意書です。

このコミットの背景には、Jimmy Zelinskie氏がGoプロジェクトにコードを貢献する準備が整い、その前提としてIndividual CLAに署名が完了したことがあります。CLAの署名が確認された後、プロジェクトの公式な貢献者リストであるAUTHORSファイルとCONTRIBUTORSファイルに彼の情報が追加されました。これにより、彼の将来の貢献がプロジェクトのライセンスの下で適切に扱われることが保証されます。

前提知識の解説

Contributor License Agreement (CLA)

CLAは、オープンソースプロジェクトにおいて、貢献者(コントリビューター)が自身の作成したコードやドキュメントなどの著作物をプロジェクトに提供する際に、その著作物の利用許諾範囲を明確にするための法的な契約です。

  • 目的:

    • 知的財産権の明確化: 貢献されたコードの著作権が誰に帰属し、プロジェクトがそれをどのように利用できるかを明確にします。これにより、将来的な著作権侵害の訴訟リスクを軽減します。
    • ライセンスの統一性: プロジェクト全体のコードベースが単一のライセンス(例: BSDライセンス、MITライセンスなど)の下で配布されることを保証します。もしCLAがない場合、各貢献者のコードが異なるライセンスを持つ可能性があり、プロジェクト全体のライセンス管理が複雑になります。
    • 再ライセンスの可能性: プロジェクトが将来的にライセンスを変更する必要が生じた場合、CLAによって貢献者から事前に再ライセンスの許可を得ているため、スムーズな移行が可能になります。
  • 種類:

    • Individual CLA (ICLA): 個人がプロジェクトに貢献する際に署名するものです。
    • Corporate CLA (CCLA): 企業が従業員を通じてプロジェクトに貢献する際に署名するものです。企業は、従業員の貢献が企業の知的財産権を侵害しないことを保証します。

Goプロジェクトでは、Googleが主導しているため、Googleのオープンソースプロジェクトにおける標準的なCLA運用に従っています。

AUTHORSファイルとCONTRIBUTORSファイル

多くのオープンソースプロジェクトでは、プロジェクトに貢献した人々を記録するための特別なファイルが存在します。

  • AUTHORSファイル: 主にプロジェクトの主要な作者や、著作権表示の対象となる人々をリストアップするために使用されます。このファイルは、プロジェクトの著作権情報の一部として機能することがあります。
  • CONTRIBUTORSファイル: プロジェクトに何らかの形で貢献したすべての人々(コードのコミット、バグ報告、ドキュメント作成、翻訳など)をリストアップするために使用されます。これは、プロジェクトへの貢献を認識し、感謝を示すためのものです。

これらのファイルは、プロジェクトの透明性を高め、コミュニティのメンバーシップを可視化する役割も果たします。

技術的詳細

このコミットは、Goプロジェクトのソースコードリポジトリ内の2つのテキストファイル、AUTHORSCONTRIBUTORSに対して行われた単純な追記変更です。

  • AUTHORSファイル: このファイルは、Goプロジェクトの主要な作者や、著作権表示に関連する個人を列挙しています。Jimmy Zelinskie氏の名前がここに追加されたことは、彼がプロジェクトの公式な作者の一員として認識されたことを意味します。
  • CONTRIBUTORSファイル: このファイルは、Goプロジェクトに貢献したすべての個人を列挙しています。彼の名前がここに追加されたことは、彼がGoプロジェクトの貢献者コミュニティの一員として正式に認められたことを意味します。

変更自体は非常にシンプルで、各ファイルの末尾に新しい行としてJimmy Zelinskie氏の名前とメールアドレスが追加されています。これは、Gitの差分表示からも明らかです。

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

diff --git a/AUTHORS b/AUTHORS
index 9d205cc71e..e18726cee3 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -121,6 +121,7 @@ Jeff R. Allen <jra@nella.org>
 Jeff Wendling <jeff@spacemonkey.com>
 Jeremy Jackins <jeremyjackins@gmail.com>
 Jim McGrath <jimmc2@gmail.com>
+Jimmy Zelinskie <jimmyzelinskie@gmail.com>
 Joakim Sernbrant <serbaut@gmail.com>
 Joe Poirier <jdpoirier@gmail.com>
 John Asmuth <jasmuth@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 9bb0b2940b..9073ae7849 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -181,6 +181,7 @@ Jeff R. Allen <jra@nella.org> <jeff.allen@gmail.com>
 Jeff Wendling <jeff@spacemonkey.com>
 Jeremy Jackins <jeremyjackins@gmail.com>
 Jim McGrath <jimmc2@gmail.com>
+Jimmy Zelinskie <jimmyzelinskie@gmail.com>
 Joakim Sernbrant <serbaut@gmail.com>
 Joe Poirier <jdpoirier@gmail.com>
 Joel Sing <jsing@google.com>

コアとなるコードの解説

上記の差分は、AUTHORSファイルとCONTRIBUTORSファイルの両方に、Jimmy Zelinskie <jimmyzelinskie@gmail.com>という行が追加されたことを示しています。

  • AUTHORSファイルでは、既存のJim McGrath <jimmc2@gmail.com>の行の直後に新しい行が挿入されています。
  • CONTRIBUTORSファイルでも同様に、既存のJim McGrath <jimmc2@gmail.com>の行の直後に新しい行が挿入されています。

この変更は、Goプロジェクトの貢献者管理プロセスの一部であり、Jimmy Zelinskie氏が正式にプロジェクトの貢献者として認識され、彼の将来のコード貢献がプロジェクトのライセンスと知的財産権の枠組みの中で適切に扱われるための準備が完了したことを示しています。技術的な複雑さはなく、単なるデータ追加のコミットです。

関連リンク

参考にした情報源リンク