[インデックス 12825] ファイルの概要
このコミットは、GoプロジェクトのAUTHORS
ファイルとCONTRIBUTORS
ファイルにMichael Lewis氏を追加するものです。これは、Michael Lewis氏がGoプロジェクトへの貢献を開始するにあたり、個人貢献者ライセンス契約(Individual CLA)を締結したことを示しています。
コミット
commit 49397fe14557af2fc9e5becf03b543009a5b73a2
Author: Brad Fitzpatrick <bradfitz@golang.org>
Date: Tue Apr 3 13:38:57 2012 -0700
A+C: add Michael Lewis (Individual CLA)
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5970077
GitHub上でのコミットページへのリンク
https://github.com/golang/go/commit/49397fe14557af2fc9e5becf03b543009a5b73a2
元コミット内容
このコミットの元の内容は、Michael Lewis氏をGoプロジェクトのAUTHORS
ファイルとCONTRIBUTORS
ファイルに追加することです。コミットメッセージには「A+C: add Michael Lewis (Individual CLA)」とあり、これは「AUTHORSとCONTRIBUTORSにMichael Lewisを追加する(個人CLA)」という意味です。
変更の背景
オープンソースプロジェクトにおいて、貢献者がコードを提出する際には、プロジェクトがそのコードを合法的に利用・配布できることを保証するために、ライセンス契約を締結することが一般的です。特に大規模なプロジェクトや企業が主導するプロジェクトでは、貢献者ライセンス契約(CLA: Contributor License Agreement)の締結が求められることがあります。
このコミットは、Michael Lewis氏がGoプロジェクトに貢献する準備が整い、その一環として個人CLAを締結したことを示しています。CLAの締結後、その貢献者の名前がプロジェクトの公式な貢献者リストに追加されるのが一般的な流れです。これにより、プロジェクトはMichael Lewis氏の将来の貢献を法的に受け入れる準備ができたことになります。
前提知識の解説
AUTHORSファイルとCONTRIBUTORSファイル
多くのオープンソースプロジェクトでは、プロジェクトに貢献した人々を記録するために、AUTHORS
ファイルとCONTRIBUTORS
ファイルが使用されます。
AUTHORS
ファイル: 主にプロジェクトの主要な作者や、著作権を持つ個人・団体をリストアップするために使用されます。プロジェクトのライセンス表示の一部として機能することもあります。CONTRIBUTORS
ファイル: プロジェクトに何らかの形で貢献したすべての個人をリストアップするために使用されます。これには、コードの寄稿者だけでなく、ドキュメントの作成者、バグ報告者、テスター、翻訳者なども含まれる場合があります。
これらのファイルは、プロジェクトの透明性を高め、貢献者への適切なクレジットを付与する役割を果たします。
貢献者ライセンス契約 (CLA: Contributor License Agreement)
CLAは、オープンソースプロジェクトにおいて、貢献者がその貢献物(コード、ドキュメントなど)の著作権をプロジェクトの所有者(または特定の団体)に譲渡するか、またはプロジェクトのライセンスの下で利用することを許可する法的な合意書です。
CLAを導入する主な理由は以下の通りです。
- ライセンスの明確化: 貢献されたコードがどのライセンスの下で配布されるかを明確にし、将来的なライセンス問題を防ぎます。
- 知的財産権の管理: プロジェクトの所有者が、すべての貢献物の知的財産権を一元的に管理できるようにします。これにより、プロジェクト全体のライセンス変更や、将来的な訴訟リスクの軽減が可能になります。
- 企業からの貢献: 企業が従業員にオープンソースプロジェクトへの貢献を許可する際に、企業がその貢献物の権利を放棄しないようにするために、企業CLA(Corporate CLA)が使用されることもあります。
Goプロジェクトのような大規模なオープンソースプロジェクトでは、法的な問題を避けるためにCLAの締結が必須とされています。
技術的詳細
このコミット自体は、Go言語のコードベースに対する技術的な変更を含むものではありません。これはプロジェクトのガバナンスと法務に関する変更であり、具体的には以下のファイルが修正されています。
AUTHORS
CONTRIBUTORS
これらのファイルはプレーンテキストファイルであり、貢献者の名前とメールアドレスがリスト形式で記述されています。コミットは、Michael Lewis氏の名前とメールアドレスをこれらのファイルの適切な位置に追加しています。
コミットメッセージの R=golang-dev, rsc
と CC=golang-dev
は、コードレビューのプロセスを示しています。
R=
はレビュー担当者(Reviewer)を示し、golang-dev
(Go開発者メーリングリスト)とrsc
(Russ Cox氏、Goプロジェクトの主要開発者の一人)がレビューを行ったことを意味します。CC=
はカーボンコピー(Carbon Copy)を示し、golang-dev
に通知が送られたことを意味します。https://golang.org/cl/5970077
は、この変更がGoプロジェクトのコードレビューシステム(Gerritベース)における変更リスト(Change List)のURLであることを示しています。
コアとなるコードの変更箇所
このコミットにおける「コアとなるコード」は、Go言語のソースコードそのものではなく、プロジェクトのメタデータファイルであるAUTHORS
とCONTRIBUTORS
です。
diff --git a/AUTHORS b/AUTHORS
index cc95a7d52a..027fd5232a 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -136,6 +136,7 @@ Matthew Horsnell <matthew.horsnell@gmail.com>
Micah Stetson <micah.stetson@gmail.com>
Michael Elkins <michael.elkins@gmail.com>
Michael Hoisie <hoisie@gmail.com>
+Michael Lewis <mikelikespie@gmail.com>
Michał Derkacz <ziutek@lnet.pl>
Miek Gieben <miek@miek.nl>
Mikael Tillenius <mikti42@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 71b8dd0a32..586856cb62 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -203,6 +203,7 @@ Maxim Ushakov <ushakov@google.com>
Micah Stetson <micah.stetson@gmail.com>
Michael Elkins <michael.elkins@gmail.com>
Michael Hoisie <hoisie@gmail.com>
+Michael Lewis <mikelikespie@gmail.com>
Michael Shields <mshields@google.com>
Michael T. Jones <mtj@google.com> <michael.jones@gmail.com>
Michał Derkacz <ziutek@lnet.pl>
コアとなるコードの解説
上記のdiffを見ると、AUTHORS
ファイルとCONTRIBUTORS
ファイルの両方に、以下の行が追加されていることがわかります。
+Michael Lewis <mikelikespie@gmail.com>
これは、Michael Lewis氏の名前とメールアドレスが、既存の貢献者リストのアルファベット順に挿入されたことを示しています。この変更により、Michael Lewis氏は正式にGoプロジェクトの貢献者として認識され、将来の貢献がスムーズに受け入れられるようになります。
関連リンク
- Goプロジェクトの公式ウェブサイト: https://golang.org/
- Goプロジェクトの貢献ガイドライン(CLAに関する情報が含まれることが多い): Goプロジェクトの公式ドキュメントやGitHubリポジトリ内で「contributing」や「CLA」で検索すると見つかる可能性があります。
参考にした情報源リンク
- GoプロジェクトのGitHubリポジトリ: https://github.com/golang/go
- 一般的なオープンソースプロジェクトにおけるCLAの概念に関する情報源(例: Wikipedia, 各プロジェクトの貢献ガイドライン)