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

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

このコミットは、GoプロジェクトのコントリビューターリストにKatrina Owen氏を追加するものです。具体的には、AUTHORSファイルとCONTRIBUTORSファイルに彼女の名前とメールアドレスが追記されています。これは、彼女がGoプロジェクトへの貢献を開始するにあたり、個人貢献者ライセンス契約(Individual CLA)を締結したことを反映しています。

コミット

  • コミットハッシュ: 28c64e300663a34067d09f2e6536cd72e6e0bf01
  • Author: Andrew Gerrand adg@golang.org
  • Date: Wed May 29 13:49:31 2013 +1000

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

https://github.com/golang/go/commit/28c64e300663a34067d09f2e6536cd72e6e0bf01

元コミット内容

A+C: add Katrina Owen (individual CLA)

R=golang-dev
CC=golang-dev
https://golang.org/cl/9853043

変更の背景

このコミットの背景には、オープンソースプロジェクトにおける貢献者ライセンス契約(CLA)の重要性があります。Goプロジェクトのような大規模なオープンソースプロジェクトでは、プロジェクトの知的財産権を保護し、将来的なライセンス変更や訴訟リスクを管理するために、貢献者からCLAの締結を求めるのが一般的です。

Katrina Owen氏がGoプロジェクトに貢献を始めるにあたり、彼女は個人貢献者ライセンス契約(Individual CLA)を締結しました。この契約が完了したことを受けて、彼女の名前がプロジェクトの正式な貢献者リストであるAUTHORSファイルとCONTRIBUTORSファイルに追加されました。これにより、彼女の将来の貢献がプロジェクトのライセンスの下で適切に扱われることが保証されます。

前提知識の解説

貢献者ライセンス契約 (Contributor License Agreement, CLA)

CLAは、個人または企業がオープンソースプロジェクトにコードやドキュメントなどの貢献を行う際に、その貢献物の著作権をプロジェクトの所有者(または指定された団体)に譲渡するか、あるいは特定のライセンスの下で使用することを許可する法的な合意書です。

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

  1. 知的財産権の明確化: 貢献されたコードの著作権が誰に帰属するかを明確にし、将来的な著作権紛争を防ぎます。
  2. ライセンスの柔軟性: プロジェクトの所有者が、将来的にプロジェクトのライセンスを変更する際に、すべての貢献物に対してその変更を適用できる権利を確保します。これは、例えば、より寛容なライセンスへの移行や、ビジネスモデルの変更に対応するために重要です。
  3. 訴訟リスクの軽減: 貢献されたコードに起因する可能性のある著作権侵害訴訟からプロジェクトを保護します。

Goプロジェクトの場合、Googleがプロジェクトの主要な管理者であり、貢献者はGoogleに対してCLAを締結します。これにより、Go言語のコードベース全体の知的財産権がGoogleによって一元的に管理され、プロジェクトの安定性と持続性が確保されています。

AUTHORSファイルとCONTRIBUTORSファイル

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

  • AUTHORSファイル: 主にプロジェクトの主要な作者や、コードベースの大部分を執筆した人々をリストアップするために使用されます。歴史的な記録としての意味合いが強いです。
  • CONTRIBUTORSファイル: プロジェクトに何らかの形で貢献したすべての人々(コードのコミット、バグ報告、ドキュメントの改善、翻訳など)をリストアップするために使用されます。こちらはより広範な貢献者を網羅します。

これらのファイルは、プロジェクトへの貢献を可視化し、貢献者への感謝を示す役割も果たします。

技術的詳細

このコミットは、Goプロジェクトのソースコードリポジトリ内の2つのテキストファイル、AUTHORSCONTRIBUTORSを修正しています。

Gitの差分(diff)を見ると、両方のファイルに以下の行が追加されていることがわかります。

+Katrina Owen <katrina.owen@gmail.com>

これは、単にテキストファイルに新しい行を追加する操作であり、特別なプログラミング言語やフレームワークの知識は必要ありません。しかし、この変更がGoプロジェクトの公式な貢献者リストを更新するという点で、その意味合いは重要です。

コミットメッセージにはR=golang-devCC=golang-devという記述があります。これは、Goプロジェクトのコードレビュープロセスにおける慣習的な表記です。

  • R=golang-dev: レビュー担当者(Reviewer)としてgolang-devメーリングリストが指定されていることを意味します。これは、この変更がGo開発者コミュニティによってレビューされたことを示唆しています。
  • CC=golang-dev: カーボンコピー(Carbon Copy)としてgolang-devメーリングリストが指定されていることを意味します。これは、この変更に関する通知がgolang-devメーリングリストに送られたことを示します。

また、https://golang.org/cl/9853043というリンクは、Goプロジェクトが使用しているコードレビューシステムであるGerritのチェンジリスト(CL: Change List)へのリンクです。このリンクを辿ることで、このコミットに至るまでのレビューの経緯や議論、関連する変更の詳細を確認することができます。

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

diff --git a/AUTHORS b/AUTHORS
index 62d8355b42..c4a4cbc753 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -171,6 +171,7 @@ Julian Phillips <julian@quantumfyre.co.uk>
 Julien Schmidt <google@julienschmidt.com>
 Kai Backman <kaib@golang.org>
 Kamil Kisiel <kamil@kamilkisiel.net> <kamil.kisiel@gmail.com>
+Katrina Owen <katrina.owen@gmail.com>
 Kei Son <hey.calmdown@gmail.com>
 Keith Rarick <kr@xph.us>
 Ken Friedenbach <kenliz@cruzio.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 80b01d8a97..a9714b1bef 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -253,6 +253,7 @@ Julian Phillips <julian@quantumfyre.co.uk>
 Julien Schmidt <google@julienschmidt.com>
 Kai Backman <kaib@golang.org>
 Kamil Kisiel <kamil@kamilkisiel.net> <kamil.kisiel@gmail.com>
+Katrina Owen <katrina.owen@gmail.com>
 Kei Son <hey.calmdown@gmail.com>
 Keith Randall <khr@golang.org>
 Keith Rarick <kr@xph.us>

コアとなるコードの解説

上記の差分が示すように、変更は非常にシンプルです。

  1. AUTHORSファイル: 既存の貢献者リストのアルファベット順に、Katrina Owen <katrina.owen@gmail.com>という行が追加されています。これは、彼女がGoプロジェクトの正式な作者の一員として認識されたことを意味します。
  2. CONTRIBUTORSファイル: 同様に、既存の貢献者リストのアルファベット順に、Katrina Owen <katrina.owen@gmail.com>という行が追加されています。これは、彼女がGoプロジェクトに貢献した人々の一員として記録されたことを意味します。

これらの変更は、Katrina Owen氏がGoプロジェクトへの貢献を開始するための法的な要件(CLAの締結)を満たしたことを示す、形式的かつ重要なステップです。

関連リンク

参考にした情報源リンク