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

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

このコミットは、GoプロジェクトのAUTHORSファイルとCONTRIBUTORSファイルに、Pavel Zinovkin氏の名前を追加するものです。これは、彼がGoプロジェクトに貢献するための個人Contributor License Agreement (CLA)を締結したことを示す、管理上の変更です。

コミット

commit 3a765be98c9667746855f7f46d5a773b13b0084f
Author: Brad Fitzpatrick <bradfitz@golang.org>
Date:   Thu Jan 2 11:00:14 2014 -0800

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

https://github.com/golang/go/commit/3a765be98c9667746855f7f46d5a773b13b0084f

元コミット内容

A+C: Pavel Zinovkin (individual CLA)

Generated by addca.

R=gobot
CC=golang-codereviews
https://golang.org/cl/39780047

変更の背景

オープンソースプロジェクトにおいて、貢献者がコードを提出する際には、プロジェクトのライセンスと知的財産権に関する合意を明確にするために、Contributor License Agreement (CLA)の締結が求められることがよくあります。Goプロジェクトも例外ではありません。

このコミットは、Pavel Zinovkin氏がGoプロジェクトへの貢献を開始するにあたり、個人CLAを締結したことを反映するためのものです。AUTHORSファイルとCONTRIBUTORSファイルは、プロジェクトに貢献した人々を公式に記録するためのものであり、CLAの締結はこれらのリストに追加されるための前提条件となることが一般的です。コミットメッセージにあるGenerated by addcaは、CLAの追加を自動化するツールによってこの変更が生成されたことを示唆しています。

前提知識の解説

AUTHORSファイルとCONTRIBUTORSファイル

多くのオープンソースプロジェクトでは、プロジェクトに貢献した個人や組織を記録するために、AUTHORSCONTRIBUTORSといったファイルがリポジトリのルートに配置されています。

  • AUTHORSファイル: 主にプロジェクトの主要な作者や、著作権を保持する個人・組織をリストアップするために使用されます。
  • CONTRIBUTORSファイル: プロジェクトにコード、ドキュメント、バグ報告、デザインなど、何らかの形で貢献したすべての個人をリストアップするために使用されます。

これらのファイルは、プロジェクトの透明性を高め、貢献者への適切なクレジットを付与する役割を果たします。

Contributor License Agreement (CLA)

CLA(貢献者ライセンス同意書)は、オープンソースプロジェクトにおいて、貢献者がその貢献物(コード、ドキュメントなど)の著作権をプロジェクトの所有者(または特定の財団など)に譲渡するか、あるいは特定のライセンスの下で利用することを許可する法的な合意書です。

CLAを導入する主な目的は以下の通りです。

  1. ライセンスの明確化: 貢献されたコードがプロジェクトのライセンスと矛盾しないことを保証し、将来的なライセンス変更や再ライセンスの際に問題が生じないようにします。
  2. 知的財産権の管理: プロジェクトの所有者が、貢献されたコードに対する明確な知的財産権を持つことで、訴訟リスクを軽減し、プロジェクトの安定性を確保します。
  3. プロジェクトのガバナンス: 大規模なプロジェクトでは、多数の貢献者からのコードを統合する際に、法的な複雑さを避けるためにCLAが役立ちます。

Goプロジェクトの場合、Googleがプロジェクトの主要な管理者であり、貢献者はGoogleに対してCLAを締結することが求められます。これにより、GoogleはGoプロジェクトのコードベース全体に対する明確な権利を持ち、プロジェクトの長期的な健全性を維持することができます。

技術的詳細

このコミットは、Goのランタイムやコンパイラ、標準ライブラリといったコアな機能に技術的な変更を加えるものではありません。純粋にプロジェクトの管理ファイルであるAUTHORSCONTRIBUTORSに新しい行を追加する、テキストベースの変更です。

具体的には、AUTHORSファイルとCONTRIBUTORSファイルの両方に、Pavel Zinovkin氏の名前とメールアドレスを含む新しいエントリが追加されています。この変更は、diffコマンドの出力からもわかるように、既存のファイルに1行ずつ挿入される形で行われています。

このような変更は、通常、プロジェクトのビルドプロセスや実行時の動作に影響を与えることはありません。これは、プロジェクトのガバナンスと貢献者の追跡に関する側面を反映したものです。

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

このコミットによって変更されたファイルは以下の2つです。

  1. AUTHORS
  2. CONTRIBUTORS

それぞれのファイルに対する変更は以下の通りです。

diff --git a/AUTHORS b/AUTHORS
index 8d5759ea2e..59274a6e30 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -278,6 +278,7 @@ Patrick Smith <pat42smith@gmail.com>
 Paul Lalonde <paul.a.lalonde@gmail.com>
 Paul Sbarra <Sbarra.Paul@gmail.com>
 Paul van Brouwershaven <paul@vanbrouwershaven.com>
+Pavel Zinovkin <pavel.zinovkin@gmail.com>
 Petar Maymounkov <petarm@gmail.com>
 Peter Armitage <peter.armitage@gmail.com>
 Peter Froehlich <peter.hans.froehlich@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 4af49da3ce..a319e6baac 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -396,6 +396,7 @@ Paul Chang <paulchang@google.com>
 Paul Lalonde <paul.a.lalonde@gmail.com>
 Paul Sbarra <Sbarra.Paul@gmail.com>
 Paul van Brouwershaven <paul@vanbrouwershaven.com>
+Pavel Zinovkin <pavel.zinovkin@gmail.com>
 Pawel Szczur <filemon@google.com>
 Petar Maymounkov <petarm@gmail.com>
 Peter Armitage <peter.armitage@gmail.com>

コアとなるコードの解説

上記のdiffが示すように、変更は非常に単純です。

  • AUTHORSファイルでは、既存の貢献者リストのアルファベット順の適切な位置に、Pavel Zinovkin <pavel.zinovkin@gmail.com>という行が追加されています。
  • 同様に、CONTRIBUTORSファイルでも、同じ行が追加されています。

これらのファイルは、単なるテキストファイルであり、各行が貢献者の名前とメールアドレスを表しています。この変更は、Pavel Zinovkin氏がGoプロジェクトの公式な貢献者リストに加わったことを意味します。

関連リンク

  • GoプロジェクトのGitHubリポジトリ: https://github.com/golang/go
  • GoプロジェクトのCLAに関する情報(一般的な情報源として、Goの公式ドキュメントや貢献ガイドラインを参照すると良いでしょう。具体的なCLAのページは変更される可能性があるため、ここでは一般的なリンクに留めます。):

参考にした情報源リンク