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

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

このコミットは、GoプロジェクトのCONTRIBUTORSファイルに対する変更です。CONTRIBUTORSファイルは、プロジェクトに貢献した個人の名前と連絡先(通常はメールアドレス)をリストアップするテキストファイルです。オープンソースプロジェクトにおいて、このファイルはプロジェクトへの貢献者を公式に認識し、感謝の意を示す役割を果たします。

コミット

  • コミットハッシュ: 8e2b0e1cb85bc95115c4d6a5c3bf7a5917dc78b1
  • 作者: Robert Griesemer gri@golang.org
  • 日付: 2013年2月14日 木曜日 13:35:52 -0800
  • コミットメッセージ:
    C: add Cosmos Nicolaou (Google CLA)
    
    R=golang-dev, bradfitz
    CC=golang-dev
    https://golang.org/cl/7314103
    

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

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

元コミット内容

C: add Cosmos Nicolaou (Google CLA)

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/7314103

変更の背景

このコミットの背景には、Goプロジェクトへの新しい貢献者であるCosmos Nicolaou氏が、GoogleのContributor License Agreement (CLA) に署名し、プロジェクトへの貢献が公式に認められたという事実があります。

オープンソースプロジェクト、特にGoogleのような大企業が主導するプロジェクトでは、知的財産権の管理と将来的なライセンス問題の回避のために、貢献者に対してCLAへの署名を求めることが一般的です。CLAに署名することで、貢献者は自身のコードがプロジェクトのライセンスの下で利用されることを許可し、プロジェクト側は安心してそのコードを統合・配布できるようになります。

CLAへの署名が完了した後、その貢献者の名前がCONTRIBUTORSファイルに追加されることで、公式にプロジェクトの貢献者として記録されます。これは、プロジェクトの透明性を高め、誰がどのような貢献をしているかを明確にするための重要なステップです。

前提知識の解説

Contributor License Agreement (CLA)

CLA(Contributor License Agreement)は、オープンソースプロジェクトにおいて、貢献者が自身の作成したコードやドキュメントなどの著作物をプロジェクトに提供する際に、その著作物の利用許諾に関する条件を定める法的な合意書です。

CLAの主な目的と重要性:

  1. 知的財産権の明確化: 貢献されたコードの著作権が誰に帰属し、どのように利用されるかを明確にします。これにより、将来的な著作権侵害やライセンスに関する紛争のリスクを低減します。
  2. ライセンスの統一性: プロジェクト全体でコードのライセンスを統一的に管理することを可能にします。例えば、プロジェクトのライセンスを変更する際に、個々の貢献者から改めて許諾を得る必要がなくなります。
  3. プロジェクトの安定性: 大企業が主導するプロジェクトでは、企業がプロジェクトの知的財産権を管理することで、プロジェクトの長期的な安定性と継続性を保証しやすくなります。
  4. 再ライセンスの可能性: プロジェクトが将来的に異なるライセンスでコードを配布する可能性を考慮し、貢献者からそのための許諾を得ておく場合があります。

Googleが主導するGoプロジェクトのような大規模なオープンソースプロジェクトでは、多数の貢献者からのコードを受け入れるため、CLAはプロジェクトの法的健全性を保つ上で不可欠なツールとなっています。

CONTRIBUTORS ファイル

CONTRIBUTORSファイルは、オープンソースプロジェクトのリポジトリ内に存在するテキストファイルで、そのプロジェクトにコード、ドキュメント、デザインなどで貢献した個人の名前をリストアップします。

CONTRIBUTORSファイルの役割:

  • 貢献者の認識と感謝: プロジェクトに貢献した人々を公式に認識し、その努力に感謝の意を表します。
  • 透明性: プロジェクトの背後にいる人々を明確にし、コミュニティの透明性を高めます。
  • 歴史的記録: プロジェクトの進化とともに、誰がどのような役割を果たしてきたかの歴史的な記録となります。

このファイルは通常、アルファベット順に名前が並べられ、場合によってはメールアドレスや所属組織が併記されます。新しい貢献者が加わるたびに、このファイルが更新されます。

技術的詳細

このコミットは、GoプロジェクトのルートディレクトリにあるCONTRIBUTORSという名前のプレーンテキストファイルを変更しています。変更内容は非常にシンプルで、新しい行が1行追加されています。

CONTRIBUTORSファイルは、各行に貢献者の名前とメールアドレス(またはその他の識別子)が記述される形式を取っています。このファイルは、特別なフォーマットや構造を持つわけではなく、人間が読みやすいように整形されています。

新しい貢献者を追加する際の一般的な手順は以下の通りです。

  1. CLAの完了: 貢献者がContributor License Agreementに署名し、プロジェクトの法的要件を満たします。
  2. 名前の追加: CONTRIBUTORSファイルを開き、新しい貢献者の名前を適切な位置(通常はアルファベット順)に挿入します。
  3. コミットとレビュー: 変更をコミットし、プロジェクトのレビュープロセス(この場合はGerritのコードレビューシステム)を通じてレビューを受けます。

このコミットでは、git diffの出力からわかるように、CONTRIBUTORSファイルに1行が追加されただけです。これは、Goプロジェクトにおける通常の貢献者追加フローの一部であり、技術的には非常に単純なファイル操作です。

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

diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 64ec4f2ece..c39f414808 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -113,6 +113,7 @@ Clement Skau <clementskau@gmail.com>
 Colby Ranger <cranger@google.com>
 Conrad Meyer <cemeyer@cs.washington.edu>
 Corey Thomasson <cthom.lists@gmail.com>
+Cosmos Nicolaou <cnicolaou@google.com>
 Damian Gryski <dgryski@gmail.com>
 Dan Callahan <dan.callahan@gmail.com>
 Dan Sinclair <dan.sinclair@gmail.com>

コアとなるコードの解説

上記のdiff出力は、CONTRIBUTORSファイルに対する変更を示しています。

  • --- a/CONTRIBUTORS+++ b/CONTRIBUTORS は、変更前のファイル(a)と変更後のファイル(b)を示しています。
  • @@ -113,6 +113,7 @@ は、変更がファイルの113行目から始まり、変更前は6行、変更後は7行のコンテキストがあることを示しています。
  • +Cosmos Nicolaou <cnicolaou@google.com> の行は、ファイルに新しく追加された行です。これは、Cosmos Nicolaou氏の名前とメールアドレスがCONTRIBUTORSファイルに挿入されたことを意味します。

この変更は、既存の貢献者リストのアルファベット順を維持するように、適切な位置に新しいエントリが追加されていることを示唆しています。具体的には、"Corey Thomasson" の後に "Cosmos Nicolaou" が追加されており、これはアルファベット順に沿った追加です。

関連リンク

参考にした情報源リンク

  • GoプロジェクトのGitHubリポジトリ: https://github.com/golang/go
  • Goプロジェクトの貢献ガイドライン: https://go.dev/doc/contribute
  • Google Contributor License Agreement (CLA) のウェブサイト: https://cla.developers.google.com/
  • Gitのdiffコマンドに関する一般的な情報。
  • オープンソースプロジェクトにおけるCLAの役割に関する一般的な知識。
  • オープンソースプロジェクトにおけるCONTRIBUTORSファイルの役割に関する一般的な知識。# [インデックス 15255] ファイルの概要

このコミットは、GoプロジェクトのCONTRIBUTORSファイルに対する変更です。CONTRIBUTORSファイルは、プロジェクトに貢献した個人の名前と連絡先(通常はメールアドレス)をリストアップするテキストファイルです。オープンソースプロジェクトにおいて、このファイルはプロジェクトへの貢献者を公式に認識し、感謝の意を示す役割を果たします。

コミット

  • コミットハッシュ: 8e2b0e1cb85bc95115c4d6a5c3bf7a5917dc78b1
  • 作者: Robert Griesemer gri@golang.org
  • 日付: 2013年2月14日 木曜日 13:35:52 -0800
  • コミットメッセージ:
    C: add Cosmos Nicolaou (Google CLA)
    
    R=golang-dev, bradfitz
    CC=golang-dev
    https://golang.org/cl/7314103
    

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

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

元コミット内容

C: add Cosmos Nicolaou (Google CLA)

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/7314103

変更の背景

このコミットの背景には、Goプロジェクトへの新しい貢献者であるCosmos Nicolaou氏が、GoogleのContributor License Agreement (CLA) に署名し、プロジェクトへの貢献が公式に認められたという事実があります。

オープンソースプロジェクト、特にGoogleのような大企業が主導するプロジェクトでは、知的財産権の管理と将来的なライセンス問題の回避のために、貢献者に対してCLAへの署名を求めることが一般的です。CLAに署名することで、貢献者は自身のコードがプロジェクトのライセンスの下で利用されることを許可し、プロジェクト側は安心してそのコードを統合・配布できるようになります。

CLAへの署名が完了した後、その貢献者の名前がCONTRIBUTORSファイルに追加されることで、公式にプロジェクトの貢献者として記録されます。これは、プロジェクトの透明性を高め、誰がどのような貢献をしているかを明確にするための重要なステップです。

前提知識の解説

Contributor License Agreement (CLA)

CLA(Contributor License Agreement)は、オープンソースプロジェクトにおいて、貢献者が自身の作成したコードやドキュメントなどの著作物をプロジェクトに提供する際に、その著作物の利用許諾に関する条件を定める法的な合意書です。

CLAの主な目的と重要性:

  1. 知的財産権の明確化: 貢献されたコードの著作権が誰に帰属し、どのように利用されるかを明確にします。これにより、将来的な著作権侵害やライセンスに関する紛争のリスクを低減します。
  2. ライセンスの統一性: プロジェクト全体でコードのライセンスを統一的に管理することを可能にします。例えば、プロジェクトのライセンスを変更する際に、個々の貢献者から改めて許諾を得る必要がなくなります。
  3. プロジェクトの安定性: 大企業が主導するプロジェクトでは、企業がプロジェクトの知的財産権を管理することで、プロジェクトの長期的な安定性と継続性を保証しやすくなります。
  4. 再ライセンスの可能性: プロジェクトが将来的に異なるライセンスでコードを配布する可能性を考慮し、貢献者からそのための許諾を得ておく場合があります。

Googleが主導するGoプロジェクトのような大規模なオープンソースプロジェクトでは、多数の貢献者からのコードを受け入れるため、CLAはプロジェクトの法的健全性を保つ上で不可欠なツールとなっています。

CONTRIBUTORS ファイル

CONTRIBUTORSファイルは、オープンソースプロジェクトのリポジトリ内に存在するテキストファイルで、そのプロジェクトにコード、ドキュメント、デザインなどで貢献した個人の名前をリストアップします。

CONTRIBUTORSファイルの役割:

  • 貢献者の認識と感謝: プロジェクトに貢献した人々を公式に認識し、その努力に感謝の意を表します。
  • 透明性: プロジェクトの背後にいる人々を明確にし、コミュニティの透明性を高めます。
  • 歴史的記録: プロジェクトの進化とともに、誰がどのような役割を果たしてきたかの歴史的な記録となります。

このファイルは通常、アルファベット順に名前が並べられ、場合によってはメールアドレスや所属組織が併記されます。新しい貢献者が加わるたびに、このファイルが更新されます。

技術的詳細

このコミットは、GoプロジェクトのルートディレクトリにあるCONTRIBUTORSという名前のプレーンテキストファイルを変更しています。変更内容は非常にシンプルで、新しい行が1行追加されています。

CONTRIBUTORSファイルは、各行に貢献者の名前とメールアドレス(またはその他の識別子)が記述される形式を取っています。このファイルは、特別なフォーマットや構造を持つわけではなく、人間が読みやすいように整形されています。

新しい貢献者を追加する際の一般的な手順は以下の通りです。

  1. CLAの完了: 貢献者がContributor License Agreementに署名し、プロジェクトの法的要件を満たします。
  2. 名前の追加: CONTRIBUTORSファイルを開き、新しい貢献者の名前を適切な位置(通常はアルファベット順)に挿入します。
  3. コミットとレビュー: 変更をコミットし、プロジェクトのレビュープロセス(この場合はGerritのコードレビューシステム)を通じてレビューを受けます。

このコミットでは、git diffの出力からわかるように、CONTRIBUTORSファイルに1行が追加されただけです。これは、Goプロジェクトにおける通常の貢献者追加フローの一部であり、技術的には非常に単純なファイル操作です。

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

diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 64ec4f2ece..c39f414808 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -113,6 +113,7 @@ Clement Skau <clementskau@gmail.com>
 Colby Ranger <cranger@google.com>
 Conrad Meyer <cemeyer@cs.washington.edu>
 Corey Thomasson <cthom.lists@gmail.com>
+Cosmos Nicolaou <cnicolaou@google.com>
 Damian Gryski <dgryski@gmail.com>
 Dan Callahan <dan.callahan@gmail.com>
 Dan Sinclair <dan.sinclair@gmail.com>

コアとなるコードの解説

上記のdiff出力は、CONTRIBUTORSファイルに対する変更を示しています。

  • --- a/CONTRIBUTORS+++ b/CONTRIBUTORS は、変更前のファイル(a)と変更後のファイル(b)を示しています。
  • @@ -113,6 +113,7 @@ は、変更がファイルの113行目から始まり、変更前は6行、変更後は7行のコンテキストがあることを示しています。
  • +Cosmos Nicolaou <cnicolaou@google.com> の行は、ファイルに新しく追加された行です。これは、Cosmos Nicolaou氏の名前とメールアドレスがCONTRIBUTORSファイルに挿入されたことを意味します。

この変更は、既存の貢献者リストのアルファベット順を維持するように、適切な位置に新しいエントリが追加されていることを示唆しています。具体的には、"Corey Thomasson" の後に "Cosmos Nicolaou" が追加されており、これはアルファベット順に沿った追加です。

関連リンク

参考にした情報源リンク

  • GoプロジェクトのGitHubリポジトリ: https://github.com/golang/go
  • Goプロジェクトの貢献ガイドライン: https://go.dev/doc/contribute
  • Google Contributor License Agreement (CLA) のウェブサイト: https://cla.developers.google.com/
  • Gitのdiffコマンドに関する一般的な情報。
  • オープンソースプロジェクトにおけるCLAの役割に関する一般的な知識。
  • オープンソースプロジェクトにおけるCONTRIBUTORSファイルの役割に関する一般的な知識。