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

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

このコミットは、GoプロジェクトのAUTHORSファイルとCONTRIBUTORSファイルに、新たな貢献者であるRon Minnich氏の情報を追加するものです。これは、Ron Minnich氏がGoプロジェクトへの貢献を開始するにあたり、個別のContributor License Agreement (CLA) に署名したことを示す記録となります。

コミット

  • コミットハッシュ: 8fee9bc8c21090b70139216eefebe3bc3c3fa92c
  • 作者: Russ Cox rsc@golang.org
  • コミット日時: 2011年10月26日(水)12:40:45 -0700

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

https://github.com/golang/go/commit/8fee9bc8c21090b70139216eefebe3bc3c3fa92c

元コミット内容

A+C: Ron Minnich (individual CLA)

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/5308057

変更の背景

オープンソースプロジェクト、特にGoogleが主導するGoのような大規模プロジェクトでは、コードの著作権とライセンスに関する明確な取り決めが非常に重要です。新しい貢献者がコードを提出する際には、通常、Contributor License Agreement (CLA) に署名することが求められます。CLAは、貢献されたコードの著作権がプロジェクトの所有者(この場合はGoogle)に適切に帰属し、プロジェクトのライセンス(Goの場合はBSDライセンス)の下で配布されることを保証するための法的な合意書です。

このコミットは、Ron Minnich氏がGoプロジェクトの個別のCLAに署名したことを示しています。CLAへの署名が完了すると、その貢献者の名前がプロジェクトのAUTHORSファイル(著作権保持者または主要な貢献者)とCONTRIBUTORSファイル(コードに貢献したすべての個人)に追加されます。これにより、プロジェクトの透明性が保たれ、誰がプロジェクトに貢献しているかが明確になります。

前提知識の解説

Contributor License Agreement (CLA)

CLAは、個人または企業がオープンソースプロジェクトに貢献する際に、その貢献がプロジェクトのライセンスと互換性があることを保証するために署名する法的な文書です。CLAの主な目的は以下の通りです。

  1. 著作権の明確化: 貢献されたコードの著作権がプロジェクトの所有者(または指定されたエンティティ)に譲渡されるか、またはプロジェクトのライセンスの下で利用可能になることを明確にします。これにより、将来的なライセンスに関する紛争を防ぎます。
  2. ライセンスの統一性: プロジェクト全体で一貫したライセンスが適用されることを保証し、異なるライセンスのコードが混在することによる複雑さを回避します。
  3. プロジェクトの法的保護: プロジェクトの所有者が、貢献されたコードを自由に利用、配布、変更する権利を持つことを保証し、法的リスクからプロジェクトを保護します。

Goプロジェクトのように企業が主導するプロジェクトでは、CLAは非常に一般的です。これにより、GoogleはGo言語のコードベース全体に対する明確な法的権利を維持し、将来的なライセンス変更や再配布の際に柔軟性を持つことができます。

AUTHORSファイルと CONTRIBUTORSファイル

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

  • AUTHORSファイル: このファイルは通常、プロジェクトの主要な作者、著作権保持者、またはプロジェクトの歴史において重要な役割を果たした個人をリストアップします。Goプロジェクトの場合、著作権表示に関連する情報が含まれることがあります。
  • CONTRIBUTORSファイル: このファイルは、プロジェクトにコード、ドキュメント、その他の形で貢献したすべての個人をリストアップします。これは、プロジェクトへの貢献を認識し、コミュニティの努力を可視化するための一般的な慣行です。

これらのファイルは、プロジェクトの透明性とコミュニティへの感謝を示す役割も果たします。

技術的詳細

このコミットは、GoプロジェクトのGitリポジトリにおける非常に単純な変更です。具体的には、2つのテキストファイル(AUTHORSCONTRIBUTORS)に新しい行を追加するものです。

Gitのdiff出力を見るとわかるように、変更は以下の通りです。

  • AUTHORSファイルに+Ron Minnich <rminnich@gmail.com>という行が追加されました。
  • CONTRIBUTORSファイルに+Ron Minnich <rminnich@gmail.com>という行が追加されました。

これは、Gitの基本的なファイル変更操作であり、特別な技術的複雑性はありません。コミットメッセージのA+Cは、AUTHORSCONTRIBUTORSファイルへの追加を簡潔に示していると考えられます。R=CC=は、コードレビューの担当者(golang-dev, adg)とCC(golang-dev)を示しており、Goプロジェクトのコードレビュープロセスの一部です。https://golang.org/cl/5308057は、この変更に対応するGerrit Change-IDへのリンクであり、GoプロジェクトがコードレビューにGerritを使用していることを示唆しています。

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

diff --git a/AUTHORS b/AUTHORS
index 004e0f37da..cec9f02cb6 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -144,6 +144,7 @@ Risto Jaakko Saarelma <rsaarelm@gmail.com>
 Robert Hencke <robert.hencke@gmail.com>
 Roger Pau Monné <royger@gmail.com>
 Roger Peppe <rogpeppe@gmail.com>
+Ron Minnich <rminnich@gmail.com>
 Ross Light <rlight2@gmail.com>
 Ryan Hitchman <hitchmanr@gmail.com>
 Scott Lawrence <bytbox@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index a3155cdeea..f7b317140f 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -216,6 +216,7 @@ Robert Griesemer <gri@golang.org>
 Robert Hencke <robert.hencke@gmail.com>
 Roger Pau Monné <royger@gmail.com>
 Roger Peppe <rogpeppe@gmail.com>
+Ron Minnich <rminnich@gmail.com>
 Ross Light <rlight2@gmail.com>
 Russ Cox <rsc@golang.org>
 Ryan Hitchman <hitchmanr@gmail.com>

コアとなるコードの解説

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

  • AUTHORSファイルでは、既存の貢献者リストのアルファベット順の適切な位置に、Ron Minnich <rminnich@gmail.com>という新しい行が挿入されています。
  • 同様に、CONTRIBUTORSファイルでも、既存の貢献者リストの適切な位置に、Ron Minnich <rminnich@gmail.com>という新しい行が挿入されています。

これらの変更は、Goプロジェクトのコードベース自体には影響を与えません。これらはプロジェクトのメタデータの一部であり、貢献者の記録と管理のために行われるものです。このコミットは、Ron Minnich氏がGoプロジェクトの正式な貢献者として認識され、将来的にコードを提出する準備が整ったことを意味します。

関連リンク

参考にした情報源リンク