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

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

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

コミット

  • コミットハッシュ: 6f7b66db5008722a91a81b659fd9bb8dbdee050a
  • 作者: Robert Griesemer gri@golang.org
  • 日付: Mon Oct 8 17:14:44 2012 -0700
  • コミットメッセージ:
    A+C: added Robin Eklind (individual CLA)
    
    R=alex.brainman, r
    CC=golang-dev
    https://golang.org/cl/6643045
    

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

https://github.com/golang/go/commit/6f7b66db5008722a91a81b659fd9bb8dbdee050a

元コミット内容

A+C: added Robin Eklind (individual CLA)

R=alex.brainman, r
CC=golang-dev
https://golang.org/cl/6643045

変更の背景

オープンソースプロジェクト、特にGoogleが主導するGoのような大規模なプロジェクトでは、知的財産権の管理が非常に重要です。新しい貢献者がコードを提出する際、その貢献がプロジェクトのライセンスと互換性があり、将来的な法的な問題を引き起こさないことを保証するために、貢献者ライセンス契約(Contributor License Agreement, CLA)の締結が求められることが一般的です。

このコミットは、Robin Eklind氏がGoプロジェクトに貢献するための前提条件として、個人CLAを締結したことを記録するものです。CLAが締結されると、その貢献者の名前がプロジェクトの公式な貢献者リストに追加されます。これにより、プロジェクト側は、提出されたコードの著作権が適切に処理され、プロジェクトのライセンスの下で利用可能であることを確認できます。

前提知識の解説

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

貢献者ライセンス契約(CLA)は、個人または企業がオープンソースプロジェクトにコードやドキュメントなどの貢献を行う際に、プロジェクトの所有者(または管理団体)との間で締結する法的な合意書です。CLAの主な目的は以下の通りです。

  1. 知的財産権の明確化: 貢献されたコードの著作権が誰に帰属するか、そしてプロジェクトがそのコードをどのように利用できるかを明確にします。多くの場合、貢献者は自身の著作権を保持しつつ、プロジェクトに対してそのコードをプロジェクトのライセンスの下で利用、配布、変更する永続的、非独占的、無償の権利を付与します。
  2. ライセンスの統一性: プロジェクト全体で一貫したライセンスモデルを維持するために役立ちます。これにより、プロジェクトのコードベース全体が単一のライセンスの下で利用可能であることが保証され、将来的なライセンスの変更や再ライセンスが容易になります。
  3. 法的リスクの軽減: 貢献されたコードが第三者の著作権を侵害していないことを貢献者が保証することで、プロジェクトが将来的に著作権侵害訴訟に巻き込まれるリスクを軽減します。
  4. プロジェクトの持続可能性: プロジェクトの管理団体が、貢献されたコードを自由に利用・配布できる法的根拠を持つことで、プロジェクトの長期的な発展と持続可能性を確保します。

GoプロジェクトのようなGoogleが関与するプロジェクトでは、GoogleがCLAを通じて貢献されたコードの権利を管理し、プロジェクトの安定性と法的健全性を保っています。

AUTHORSファイルとCONTRIBUTORSファイル

多くのオープンソースプロジェクトでは、プロジェクトに貢献した人々を記録するためのテキストファイルが用意されています。Goプロジェクトでは、主に以下の2つのファイルがその役割を担っています。

  • AUTHORS: このファイルは、プロジェクトの主要な作者や、特に重要な貢献をした人々をリストアップするために使用されます。通常、プロジェクトの初期からの主要な開発者や、設計に大きく関与した人々が含まれます。
  • CONTRIBUTORS: このファイルは、プロジェクトに何らかの形で貢献したすべての個人をリストアップするために使用されます。コードのコミットだけでなく、バグ報告、ドキュメントの改善、テストの作成など、様々な貢献が含まれる場合があります。CLAを締結した新しい貢献者は、通常このファイルに追加されます。

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

技術的詳細

このコミットは、Goプロジェクトのソースコードリポジトリ内の2つのプレーンテキストファイル、AUTHORSCONTRIBUTORSを修正しています。Gitの差分(diff)を見ると、それぞれのファイルの末尾近くに新しい行が追加されていることがわかります。

追加された行は以下の形式です。

Robin Eklind <r.eklind.87@gmail.com>

これは、貢献者の氏名とメールアドレスを記述する一般的な形式です。これらのファイルは、Goのビルドシステムやドキュメント生成プロセスによって直接利用されることは稀ですが、プロジェクトの歴史的記録として、また法的な側面(CLAの遵守)を示すものとして重要です。

変更は非常に単純で、既存のリストに新しいエントリを追加するだけです。ファイルのソート順序は厳密に強制されているわけではありませんが、通常はアルファベット順に並べられます。このコミットでは、既存のリストの適切な位置(アルファベット順)に挿入されています。

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

diff --git a/AUTHORS b/AUTHORS
index 51b911d26d..fed8fb2238 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -200,6 +200,7 @@ Rémy Oudompheng <oudomphe@phare.normalesup.org>
 Risto Jaakko Saarelma <rsaarelm@gmail.com>
 Robert Figueiredo <robfig@gmail.com>
 Robert Hencke <robert.hencke@gmail.com>
+Robin Eklind <r.eklind.87@gmail.com>
 Roger Pau Monné <royger@gmail.com>
 Roger Peppe <rogpeppe@gmail.com>
 Ron Minnich <rminnich@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index f126a00296..b2af2d9812 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -292,6 +292,7 @@ Rob Pike <r@golang.org>
 Robert Figueiredo <robfig@gmail.com>
 Robert Griesemer <gri@golang.org>
 Robert Hencke <robert.hencke@gmail.com>
+Robin Eklind <r.eklind.87@gmail.com>
 Roger Pau Monné <royger@gmail.com>
 Roger Peppe <rogpeppe@gmail.com>
 Ron Minnich <rminnich@gmail.com>

コアとなるコードの解説

上記の差分は、AUTHORSファイルとCONTRIBUTORSファイルに対する変更を示しています。

  • AUTHORSファイル:

    • @@ -200,6 +200,7 @@ は、変更がファイルの200行目から始まり、元の6行が新しい7行になることを示しています。
    • +Robin Eklind <r.eklind.87@gmail.com> の行が追加されています。これは、既存のRobert Henckeの後に、アルファベット順でRobin Eklindが挿入されたことを意味します。
  • CONTRIBUTORSファイル:

    • @@ -292,6 +292,7 @@ は、変更がファイルの292行目から始まり、元の6行が新しい7行になることを示しています。
    • 同様に、+Robin Eklind <r.eklind.87@gmail.com> の行が追加されています。ここでも、既存のRobert Henckeの後にRobin Eklindが挿入されています。

この変更は、Goプロジェクトの貢献者リストにRobin Eklind氏が正式に追加されたことを記録するものであり、CLAの締結という法的な手続きが完了したことを反映しています。コードの機能的な変更は一切なく、プロジェクトのメタデータに関する更新です。

関連リンク

参考にした情報源リンク