[インデックス 13670] ファイルの概要
このコミットは、Go言語プロジェクトのAUTHORS
ファイルとCONTRIBUTORS
ファイルに、新しい貢献者であるCarlos Castillo氏の情報を追加するものです。これは、彼がプロジェクトに貢献するためのIndividual Contributor License Agreement (CLA) を提出したことを示しています。
コミット
commit a738f2b2a24019ff205c79f4de9c8a14f478ef2c
Author: Rob Pike <r@golang.org>
Date: Wed Aug 22 20:48:54 2012 -0700
C+A: add Carlos Castillo cookieo9@gmail.com (individual CLA)
R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/6479045
---
AUTHORS | 1 +
CONTRIBUTORS | 1 +
2 files changed, 2 insertions(+)
diff --git a/AUTHORS b/AUTHORS
index f5a9ea2912..8d7c3bf2b2 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -43,6 +43,7 @@ Bjorn Tipling <bjorn.tipling@gmail.com>
Blake Mizerany <blake.mizerany@gmail.com>
Bobby Powers <bobbypowers@gmail.com>
Caine Tighe <arctanofyourface@gmail.com>
+Carlos Castillo <cookieo9@gmail.com>
Charles L. Dorian <cldorian@gmail.com>
Chris Dollin <ehog.hedge@gmail.com>
Chris Farmiloe <chrisfarms@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index b8a2967f8e..b779323c93 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -80,6 +80,7 @@ Brad Fitzpatrick <bradfitz@golang.org> <bradfitz@gmail.com>
Brian Dellisanti <briandellisanti@gmail.com>
Brendan O'Dea <bod@golang.org>
Caine Tighe <arctanofyourface@gmail.com>
+Carlos Castillo <cookieo9@gmail.com>
Cary Hull <chull@google.com>
Charles L. Dorian <cldorian@gmail.com>
Chris Dollin <ehog.hedge@gmail.com>
GitHub上でのコミットページへのリンク
https://github.com/golang/go/commit/a738f2b2a24019ff205c79f4de9c8a14f478ef2c
元コミット内容
このコミットの元々の目的は、GoプロジェクトにCarlos Castillo氏を新しい貢献者として追加することです。これは、彼がIndividual Contributor License Agreement (CLA) に署名したことを受けて行われました。コミットメッセージの "C+A" は "Contributor + Agreement" を意味していると考えられます。
変更の背景
オープンソースプロジェクト、特にGoogleが主導するような大規模なプロジェクトでは、知的財産権の管理が非常に重要になります。プロジェクトにコードを貢献する際、そのコードの著作権が誰に帰属するのか、プロジェクトがそのコードをどのように利用できるのかを明確にする必要があります。このために、多くのプロジェクトではCLA(Contributor License Agreement)の提出を義務付けています。
このコミットは、Carlos Castillo氏がGoプロジェクトへの貢献を開始するにあたり、必要なCLAを提出したため、正式に貢献者リストに追加されたという背景があります。これにより、Goプロジェクトは彼の貢献したコードを安心して利用し、配布できるようになります。
前提知識の解説
Contributor License Agreement (CLA)
CLA(Contributor License Agreement)は、オープンソースプロジェクトにコードを貢献する開発者と、プロジェクトの管理者(またはその背後にある組織)との間で締結される法的な合意書です。CLAの主な目的は以下の通りです。
- 著作権の明確化: 貢献されたコードの著作権が誰に帰属するかを明確にします。多くの場合、貢献者は自身のコードの著作権を保持しつつ、プロジェクトに対してそのコードを特定のライセンス(例: Apache License, MIT License)の下で利用、変更、配布する権利を付与します。一部のCLAでは、著作権をプロジェクトの管理組織に譲渡する場合もあります(例: GoogleのCLA)。
- ライセンスの保証: 貢献されたコードが、プロジェクトのライセンスと互換性があり、第三者の著作権を侵害していないことを貢献者が保証します。
- プロジェクトの法的保護: プロジェクトが将来的にライセンスに関する紛争に巻き込まれるリスクを軽減します。CLAがあることで、プロジェクトは貢献されたすべてのコードに対して適切な利用権限を持っていることを証明できます。
Go言語プロジェクトのようにGoogleが関与するプロジェクトでは、通常、GoogleのCLAが適用されます。これは、貢献者が自身の著作権を保持しつつ、Googleに対して非独占的、永続的、取り消し不能なライセンスを付与する形式が一般的です。
AUTHORSファイルとCONTRIBUTORSファイル
多くのオープンソースプロジェクトでは、プロジェクトに貢献した人々を記録するために、AUTHORS
やCONTRIBUTORS
といったファイルがリポジトリのルートに配置されています。
- AUTHORSファイル: 主にプロジェクトの主要な作者や、初期の貢献者、あるいは著作権を保持する個人や団体をリストアップするために使用されます。法的な著作権表示の目的で利用されることもあります。
- CONTRIBUTORSファイル: プロジェクトに何らかの形で貢献したすべての個人をリストアップするために使用されます。これには、コードの貢献者だけでなく、ドキュメントの作成者、バグ報告者、テスター、翻訳者なども含まれる場合があります。このファイルは、コミュニティへの感謝と透明性を示す役割も果たします。
Go言語プロジェクトでは、これら二つのファイルが併用されており、新しい貢献者がCLAを提出すると、通常、両方のファイルに名前が追加されます。
技術的詳細
このコミット自体は、Go言語のソースコードに対する機能的な変更を含んでいません。純粋にプロジェクトのメタデータ、具体的には貢献者リストを更新するものです。
Gitの差分を見ると、AUTHORS
ファイルとCONTRIBUTORS
ファイルの両方に、Carlos Castillo <cookieo9@gmail.com>
という行が追加されていることがわかります。これは、テキストファイルへの単純な行追加操作であり、特別な技術的複雑性はありません。
コミットメッセージにはhttps://golang.org/cl/6479045
というリンクが含まれています。これは、Goプロジェクトが内部的に使用しているコードレビューシステム(Gerritベース)のChange-IDを示しています。このリンクを辿ることで、この変更がどのようにレビューされ、承認されたかの詳細な履歴を確認できます。これは、オープンソースプロジェクトにおける透明性と共同作業の典型的な例です。
コアとなるコードの変更箇所
このコミットにおける「コアとなるコードの変更箇所」は、Go言語の機能やロジックを変更するものではなく、プロジェクトのメタデータファイルである以下の2つのファイルです。
AUTHORS
CONTRIBUTORS
これらのファイルに、Carlos Castillo氏の名前とメールアドレスが追加されています。
diff --git a/AUTHORS b/AUTHORS
index f5a9ea2912..8d7c3bf2b2 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -43,6 +43,7 @@ Bjorn Tipling <bjorn.tipling@gmail.com>
Blake Mizerany <blake.mizerany@gmail.com>
Bobby Powers <bobbypowers@gmail.com>
Caine Tighe <arctanofyourface@gmail.com>
+Carlos Castillo <cookieo9@gmail.com>
Charles L. Dorian <cldorian@gmail.com>
Chris Dollin <ehog.hedge@gmail.com>
Chris Farmiloe <chrisfarms@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index b8a2967f8e..b779323c93 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -80,6 +80,7 @@ Brad Fitzpatrick <bradfitz@golang.org> <bradfitz@gmail.com>
Brian Dellisanti <briandellisanti@gmail.com>
Brendan O'Dea <bod@golang.org>
Caine Tighe <arctanofyourface@gmail.com>
+Carlos Castillo <cookieo9@gmail.com>
Cary Hull <chull@google.com>
Charles L. Dorian <cldorian@gmail.com>
Chris Dollin <ehog.hedge@gmail.com>
コアとなるコードの解説
上記の差分が示すように、AUTHORS
ファイルとCONTRIBUTORS
ファイルの両方に、アルファベット順でCarlos Castillo <cookieo9@gmail.com>
という行が追加されています。これは、新しい貢献者がプロジェクトに加わったことを公式に記録するための標準的な手順です。
これらのファイルは、プロジェクトの歴史と貢献者を追跡するために重要であり、特に大規模なオープンソースプロジェクトでは、誰がどのような貢献をしたかを明確にする上で不可欠な役割を果たします。CLAと合わせて、プロジェクトの法的健全性を保つ上でも重要な要素となります。
関連リンク
- Go言語の公式ウェブサイト: https://golang.org/
- Go言語のGitHubリポジトリ: https://github.com/golang/go
- GoogleのCLAに関する情報(一般的なもの): https://cla.developers.google.com/
参考にした情報源リンク
- Gitの差分表示に関する一般的な知識
- オープンソースプロジェクトにおけるCLAの役割に関する一般的な知識
- オープンソースプロジェクトにおける
AUTHORS
およびCONTRIBUTORS
ファイルの慣習に関する一般的な知識 - Go言語プロジェクトのコミット履歴と構造に関する一般的な知識
- Gerritコードレビューシステムに関する一般的な知識