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

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

このコミットは、Go言語プロジェクトの AUTHORS ファイルから特定の貢献者エントリを削除するものです。これは、その貢献者の寄与がGoogleのContributor License Agreement (CLA)によってカバーされるようになったためです。

コミット

commit 522562e71214ef3b6cb1e6b84b535049acbcd426
Author: Russ Cox <rsc@golang.org>
Date:   Tue Jan 22 22:42:08 2013 -0500

    AUTHORS: remove Vega Garcia Luis Alfonso (covered by Google CLA)
    
    R=dsymonds, adg
    CC=golang-dev
    https://golang.org/cl/7180050

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

https://github.com/golang/go/commit/522562e71214ef3b6cb1e6b84b535049acbcd426

元コミット内容

AUTHORS: remove Vega Garcia Luis Alfonso (covered by Google CLA)

このコミットメッセージは、AUTHORS ファイルから Vega Garcia Luis Alfonso という名前の貢献者を削除したことを明確に示しています。削除の理由は、彼の貢献がGoogleのContributor License Agreement (CLA)によってカバーされるようになったためであると説明されています。

変更の背景

オープンソースプロジェクト、特に企業が主導する大規模なプロジェクトでは、知的財産権の管理が非常に重要になります。AUTHORS ファイルは、プロジェクトに貢献した個々の開発者の名前をリストアップするために使用されることがよくあります。しかし、貢献者が企業(この場合はGoogle)の従業員であり、その貢献が雇用契約やContributor License Agreement (CLA)の下で行われる場合、その貢献の著作権は個々の開発者ではなく、企業に帰属することがあります。

このコミットの背景には、Vega Garcia Luis Alfonso 氏がGoプロジェクトに貢献した際、その貢献がGoogleのCLAの対象となったという事実があります。CLAは、貢献者がその貢献の著作権をプロジェクトの所有者(この場合はGoogle)に譲渡するか、またはプロジェクトの所有者がその貢献を使用、配布、変更する権利を付与することを保証する法的な合意です。

CLAが締結されると、個々の貢献者の名前を AUTHORS ファイルに明示的に記載する必要性が薄れる場合があります。特に、プロジェクトの所有者(Google)がすでにその貢献の権利を保有している場合、個々の貢献者の名前を AUTHORS ファイルから削除することで、ファイルの内容をより正確に、かつ法的な状況に合わせて維持することができます。これは、プロジェクトの法務部門の要件や、プロジェクトの貢献者リストの管理ポリシーに基づくものです。

前提知識の解説

AUTHORS ファイル

多くのオープンソースプロジェクトでは、AUTHORS または CONTRIBUTORS といった名前のテキストファイルがリポジトリのルートに存在します。このファイルは、プロジェクトにコード、ドキュメント、デザインなどの形で貢献した個々の開発者の名前をリストアップするために使用されます。これは、貢献者への感謝を示すとともに、プロジェクトの歴史と貢献の帰属を記録する目的があります。

Contributor License Agreement (CLA)

Contributor License Agreement (CLA) は、オープンソースプロジェクトへの貢献者が、その貢献の著作権をプロジェクトの所有者(個人、企業、または財団など)に譲渡するか、またはプロジェクトの所有者がその貢献を使用、配布、変更する権利を付与することを保証するための法的な文書です。

CLAが導入される主な理由は以下の通りです。

  1. 知的財産権の明確化: プロジェクトの所有者が、すべての貢献に対する明確な知的財産権を確保できるようにします。これにより、将来的なライセンス問題や著作権侵害の訴訟リスクを軽減できます。
  2. ライセンスの再配布: プロジェクトの所有者が、将来的にプロジェクトのライセンスを変更する際に、すべての貢献者の許可を個別に得る必要がなくなります。CLAによって、貢献者はプロジェクトの所有者が貢献を異なるライセンスの下で再配布することを許可します。
  3. 法的な保護: プロジェクトの所有者が、貢献されたコードが第三者の著作権を侵害していないことを保証するための手段となります。

Googleのような大企業が主導するオープンソースプロジェクトでは、CLAの利用は一般的です。これは、企業が自社の法務部門の要件を満たし、プロジェクトの長期的な持続可能性と法的健全性を確保するために不可欠とされています。

技術的詳細

このコミットは、Goプロジェクトの AUTHORS ファイルから特定の行を削除するという、非常に単純なファイル変更です。しかし、その背後にある意味合いは、オープンソースプロジェクトにおける知的財産権管理の複雑さを示しています。

CLAの導入は、プロジェクトのガバナンスモデルと密接に関連しています。貢献者がCLAに署名することで、彼らの貢献はプロジェクトの所有者によってより柔軟に管理できるようになります。これは、特に大規模なプロジェクトや、商業的な利用が想定されるプロジェクトにおいて重要です。

この変更は、Goプロジェクトがその貢献者リストを積極的に管理し、法的な要件に準拠していることを示唆しています。AUTHORS ファイルは単なるリストではなく、プロジェクトの法的および歴史的な記録の一部として機能します。したがって、CLAによってカバーされる貢献者のエントリを削除することは、この記録を最新かつ正確に保つための措置と解釈できます。

バージョン管理システム(Git)の観点からは、この変更は単なる1行の削除として記録されます。しかし、この変更がコミットされた日付(2013年1月22日)は、Goプロジェクトがその初期段階から知的財産権の管理に真剣に取り組んでいたことを示しています。

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

diff --git a/AUTHORS b/AUTHORS
index 655549713e..9c634611ec 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -262,7 +262,6 @@ Tor Andersson <tor.andersson@gmail.com>
 Ugorji Nwoke <ugorji@gmail.com>
 Uriel Mangado <uriel@berlinblue.org>
 Vadim Vygonets <unixdj@gmail.com>
-Vega Garcia Luis Alfonso <vegacom@gmail.com>
 Vincent Ambo <tazjin@googlemail.com>
 Vincent Vanackere <vincent.vanackere@gmail.com>
 Vinu Rajashekhar <vinutheraj@gmail.com>

コアとなるコードの解説

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

  • --- a/AUTHORS+++ b/AUTHORS は、それぞれ変更前のファイルと変更後のファイルを示します。
  • @@ -262,7 +262,6 @@ は、変更がファイルの262行目から始まり、変更前は7行、変更後は6行であることを示しています。
  • -Vega Garcia Luis Alfonso <vegacom@gmail.com> の行頭の - は、この行がファイルから削除されたことを意味します。

この変更は、Vega Garcia Luis Alfonso <vegacom@gmail.com> というエントリが AUTHORS ファイルから削除されたことを明確に示しています。これは、コミットメッセージで述べられているように、彼の貢献がGoogleのCLAによってカバーされるようになったためです。

関連リンク

参考にした情報源リンク

  • Google検索: "Google Contributor License Agreement"
  • GoプロジェクトのGitHubリポジトリ
  • コミットメッセージとdiff情報