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

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

このコミットは、AUTHORS ファイルと CONTRIBUTORS ファイルという2つのファイルを変更しています。これらのファイルは、オープンソースプロジェクトにおいて、プロジェクトに貢献した人々を記録するために一般的に使用されます。

コミット

  • コミットハッシュ: e57a6167b6c4ac4e3d3d34ab8f9f6471be6f2703
  • 作者: Russ Cox rsc@golang.org
  • コミット日時: 2012年3月15日 木曜日 23:15:38 -0400

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

https://github.com/golang/go/commit/e57a6167b6c4ac4e3d3d34ab8f9f6471be6f2703

元コミット内容

A+C: Christopher Redden (individual CLA)

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5845043

変更の背景

このコミットの背景は、Christopher Redden氏がGoプロジェクトに貢献し、その貢献が認められたことにあります。オープンソースプロジェクトでは、コードの貢献者が増えるにつれて、その貢献を公式に記録し、認識することが重要になります。特に、CLA (Contributor License Agreement) は、貢献者が自身の貢献に対するライセンスをプロジェクトに付与することを保証するための法的な文書です。Christopher Redden氏が個別のCLAを提出したことにより、彼の名前がプロジェクトの公式な貢献者リストに追加されることになりました。

前提知識の解説

AUTHORSファイルとCONTRIBUTORSファイル

オープンソースプロジェクトにおいて、AUTHORS および CONTRIBUTORS ファイルは、プロジェクトの歴史と貢献者を追跡するための重要な役割を果たします。

  • AUTHORSファイル: 通常、プロジェクトの主要な作者や、プロジェクトの初期段階から深く関わっている人々をリストアップします。これは、プロジェクトの知的財産権や著作権の帰属を示す場合もあります。
  • CONTRIBUTORSファイル: より広範な貢献者、つまりコードの修正、バグ報告、ドキュメントの改善、翻訳など、様々な形でプロジェクトに貢献した人々をリストアップします。このファイルは、コミュニティの努力と多様な貢献を認識するために使用されます。

これらのファイルは、プロジェクトの透明性を高め、貢献者への感謝を示すだけでなく、法的な観点からも重要です。特に、ライセンス契約や著作権に関する問題が発生した場合に、誰がどのような貢献をしたかを明確にするための記録として機能します。

CLA (Contributor License Agreement)

CLA(Contributor License Agreement)は、オープンソースプロジェクトにおいて、貢献者が自身のコードやその他の貢献物に対するライセンスをプロジェクトの所有者(またはプロジェクトをホストする組織)に付与するための法的な合意書です。CLAは、プロジェクトが貢献されたコードを自由に利用、配布、変更できるようにするために不可欠です。

CLAの主な目的は以下の通りです。

  1. ライセンスの明確化: 貢献されたコードが、プロジェクトのライセンス(例: Apache License, MIT License)の下で適切に利用されることを保証します。
  2. 知的財産権の保護: プロジェクトの所有者が、貢献されたコードに対する必要な権利を確実に取得し、将来的な知的財産権に関する紛争を防ぎます。
  3. 再ライセンスの可能性: プロジェクトが将来的にライセンスを変更する必要が生じた場合に、すべての貢献者から必要な権利が事前に付与されているため、スムーズな移行が可能になります。

CLAには「個人CLA」と「法人CLA」の2種類があります。Christopher Redden氏の場合は「個人CLA」を提出したと記載されており、これは彼が個人として貢献し、その貢献に対するライセンスをGoプロジェクトに付与したことを意味します。

技術的詳細

このコミットは、Goプロジェクトのソースコードリポジトリ内の2つのテキストファイル、AUTHORSCONTRIBUTORS に、Christopher Redden氏の名前とメールアドレスを追加しています。

具体的には、以下の行が追加されています。

  • AUTHORS ファイル: Christopher Redden <christopher.redden@gmail.com>
  • CONTRIBUTORS ファイル: Christopher Redden <christopher.redden@gmail.com>

これらのファイルは、プロジェクトのルートディレクトリに配置されており、プロジェクトのビルドプロセスやドキュメント生成プロセスの一部として参照されることがあります。変更自体は非常に単純なテキストの追加ですが、その背後には、貢献者の法的な合意(CLA)と、プロジェクトへの正式な参加という重要な意味合いがあります。

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

diff --git a/AUTHORS b/AUTHORS
index 49ce5f0aff..cc95a7d52a 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -44,6 +44,7 @@ Chris Lennert <calennert@gmail.com>
 Christian Himpel <chressie@googlemail.com>
 Christoph Hack <christoph@tux21b.org>
 Christopher Nielsen <m4dh4tt3r@gmail.com>
+Christopher Redden <christopher.redden@gmail.com>
 Christopher Wedgwood <cw@f00f.org>
 Clement Skau <clementskau@gmail.com>
 Conrad Meyer <cemeyer@cs.washington.edu>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 24815c9641..edbd96b476 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -80,6 +80,7 @@ Chris Lennert <calennert@gmail.com>
 Christian Himpel <chressie@googlemail.com> <chressie@gmail.com>
 Christoph Hack <christoph@tux21b.org>
 Christopher Nielsen <m4dh4tt3r@gmail.com>
+Christopher Redden <christopher.redden@gmail.com>
 Christopher Wedgwood <cw@f00f.org>
 Clement Skau <clementskau@gmail.com>
 Conrad Meyer <cemeyer@cs.washington.edu>

コアとなるコードの解説

上記の差分は、AUTHORS ファイルと CONTRIBUTORS ファイルの両方に、Christopher Redden <christopher.redden@gmail.com> という行が追加されたことを示しています。

  • --- a/AUTHORS+++ b/AUTHORS は、AUTHORS ファイルの変更前と変更後を示しています。
  • @@ -44,6 +44,7 @@ は、AUTHORS ファイルの44行目から6行が変更され、結果として7行になったことを示しています。具体的には、44行目から数えて5行目に新しい行が追加されています。
  • +Christopher Redden <christopher.redden@gmail.com> の行頭の + は、この行が新しく追加されたことを意味します。

同様に、CONTRIBUTORS ファイルでも同じ行が追加されています。これは、Christopher Redden氏がGoプロジェクトの正式な貢献者として認識され、その記録がプロジェクトの公式なドキュメントに反映されたことを明確に示しています。

関連リンク

  • Goプロジェクトの公式ウェブサイト: https://golang.org/
  • Goプロジェクトの貢献ガイドライン(一般的なオープンソースプロジェクトの貢献プロセスを理解する上で参考になります): https://go.dev/doc/contribute

参考にした情報源リンク

  • GoプロジェクトのGitHubリポジトリ: https://github.com/golang/go
  • CLA (Contributor License Agreement) に関する一般的な情報源(例: Wikipedia, 各オープンソース財団のドキュメントなど)