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

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

このコミットは、GoプロジェクトのAUTHORSファイルとCONTRIBUTORSファイルに、新しい貢献者であるStalkR氏のエントリを追加するものです。これは、StalkR氏がGoプロジェクトに対する個別のContributor License Agreement (CLA) に署名したことを記録するための、管理上の変更です。

コミット

commit 2e8697de36065477bf3e4aa6c7d97c794f3fde4a
Author: Brad Fitzpatrick <bradfitz@golang.org>
Date:   Sun Apr 6 20:23:45 2014 -0700

    A+C: StalkR (individual CLA)

    Generated by addca.

    R=gobot
    CC=golang-codereviews
    https://golang.org/cl/84710045

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

https://github.com/golang/go/commit/2e8697de36065477bf3e4aa6c7d97c794f3fde4a

元コミット内容

このコミットは、AUTHORSファイルとCONTRIBUTORSファイルに以下の行を追加しています。

AUTHORSファイルへの追加:

--- a/AUTHORS
+++ b/AUTHORS
@@ -364,6 +364,7 @@ Shenghou Ma <minux.ma@gmail.com>
 Shivakumar GN <shivakumar.gn@gmail.com>
 Sokolov Yura <funny.falcon@gmail.com>
 Spring Mc <heresy.mc@gmail.com>
+StalkR <stalkr@stalkr.net>
 Stefan Nilsson <snilsson@nada.kth.se> <trolleriprofessorn@gmail.com>
 Stéphane Travostino <stephane.travostino@gmail.com>
 Stephen McQuay <stephen@mcquay.me>

CONTRIBUTORSファイルへの追加:

--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -505,6 +505,7 @@ Shenghou Ma <minux.ma@gmail.com>
 Shivakumar GN <shivakumar.gn@gmail.com>
 Sokolov Yura <funny.falcon@gmail.com>
 Spring Mc <heresy.mc@gmail.com>
+StalkR <stalkr@stalkr.net>
 Stefan Nilsson <snilsson@nada.kth.se> <trolleriprofessorn@gmail.com>
 Stéphane Travostino <stephane.travostino@gmail.com>
 Stephen Ma <stephenm@golang.org>

両ファイルにおいて、StalkR <stalkr@stalkr.net>という形式で、貢献者の名前とメールアドレスが追加されています。

変更の背景

この変更の背景には、オープンソースプロジェクト、特にGoogleが関与する大規模なプロジェクトにおけるContributor License Agreement (CLA) の要件があります。

Goプロジェクトのような大規模なオープンソースプロジェクトでは、プロジェクトの知的財産権(IP)を明確にし、将来的な法的な問題を回避するために、貢献者に対してCLAへの署名を求めることが一般的です。CLAは、貢献者が自身の貢献物に対する著作権をプロジェクトの所有者(この場合はGoogle)に付与するか、または貢献物を特定のライセンスの下で利用することを許可する法的な合意です。これにより、プロジェクトのコードベース全体のライセンスの一貫性が保たれ、プロジェクトの利用者が安心してコードを使用できるようになります。

このコミットメッセージにある A+C: StalkR (individual CLA) は、「Authors and Contributors: StalkR (個人CLA)」を意味し、StalkR氏がGoプロジェクトに貢献するために必要な個別のCLAに署名したことを示しています。

Generated by addca という記述は、この変更が addca というツールによって自動生成されたものであることを示唆しています。addca はおそらく "add Contributor Agreement" の略であり、CLAが署名された後に、関連するファイル(AUTHORSCONTRIBUTORS)を自動的に更新するための内部ツールであると考えられます。これにより、手動でのエラーを防ぎ、プロセスを効率化しています。

したがって、このコミットは、StalkR氏がGoプロジェクトへの貢献を開始するための法的な手続きが完了し、その記録としてプロジェクトのメタデータファイルが更新されたことを示しています。

前提知識の解説

Contributor License Agreement (CLA)

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

  1. 知的財産権の明確化: 貢献されたコードの著作権が誰に帰属するのか、またはプロジェクトがそのコードをどのように利用できるのかを明確にします。これにより、将来的に著作権侵害やライセンス違反に関する紛争が発生するリスクを低減します。
  2. ライセンスの一貫性: プロジェクト全体で一貫したライセンスモデルを維持するために重要です。CLAを通じて、すべての貢献がプロジェクトの選択したオープンソースライセンス(例: Apache License 2.0, MIT Licenseなど)の下で再配布可能であることを保証します。
  3. プロジェクトの保護: プロジェクトの所有者や利用者が、貢献されたコードを安心して利用できるように、法的な保護を提供します。

CLAは、Developer Certificate of Origin (DCO) とは異なります。DCOは、貢献者が自身のコミットが自身の著作物であること、または適切なライセンスの下で貢献する権利があることを宣言するもので、通常はコミットメッセージに Signed-off-by: 行を追加することで行われます。DCOは法的な合意というよりは宣言であり、CLAの方がより厳格な法的拘束力を持つことが多いです。Googleが関与する多くのオープンソースプロジェクトでは、CLAの署名が求められます。

AUTHORS/CONTRIBUTORS ファイル

AUTHORSファイルとCONTRIBUTORSファイルは、多くのオープンソースプロジェクトで見られるテキストファイルです。これらは通常、プロジェクトに貢献した個人や組織の名前と、場合によっては連絡先情報(メールアドレスなど)をリストアップするために使用されます。

  • AUTHORS: 主にプロジェクトの主要な作者や、初期の貢献者、またはプロジェクトの方向性を決定するような重要な役割を担った人々をリストアップするために使われることがあります。
  • CONTRIBUTORS: プロジェクトに何らかの形で貢献したすべての個人や組織を網羅的にリストアップするために使われることが多いです。これには、コードのコミットだけでなく、バグ報告、ドキュメントの改善、テストの作成、翻訳など、様々な形の貢献が含まれる場合があります。

これらのファイルは、貢献者への感謝を示すとともに、プロジェクトの歴史と貢献の記録としての役割も果たします。また、法的な観点からは、プロジェクトの著作権表示の一部として機能し、貢献されたコードの出所を追跡するのに役立つ場合があります。

Goプロジェクトの貢献プロセス

Goプロジェクトへの貢献は、通常、Gerritというコードレビューシステムを通じて行われます。貢献者は、変更を提案する「変更リスト(Change List, CL)」を作成し、Gerritにアップロードします。このCLは、Goチームのメンバーや他の貢献者によってレビューされ、承認されるとメインのコードベースにマージされます。

CLAの署名は、この貢献プロセスの初期段階で完了している必要があります。CLAが署名されると、その貢献者はGoプロジェクトにコードをコミットする資格を得ます。このコミットは、その資格が有効になったことを示す管理上の記録の一部です。

技術的詳細

このコミット自体は、Go言語のランタイムや標準ライブラリの機能的な変更を伴うものではありません。純粋にプロジェクトのメタデータ、具体的には貢献者リストを更新するものです。

  • ファイル形式: AUTHORSCONTRIBUTORSは、プレーンテキストファイルです。各行に貢献者の名前とメールアドレスが記述されています。
  • 変更の性質: 既存のファイルの特定の行に新しい行が追加されるという、非常に単純な変更です。Gitの差分(diff)を見てもわかるように、行の追加のみが行われています。
  • addcaツールの役割: コミットメッセージにある Generated by addca は、この変更が手動ではなく、自動化されたプロセスによって行われたことを示しています。これは、CLAの署名がシステムによって検出された後、その情報に基づいてこれらのファイルを自動的に更新するスクリプトまたはツールが存在することを示唆しています。このような自動化は、大規模なプロジェクトで多数の貢献者を管理する際に、一貫性を保ち、ヒューマンエラーを減らす上で非常に重要です。

このコミットは、ソフトウェア開発における「コード」そのものよりも、「プロジェクト管理」や「法務」の側面に関連するものです。しかし、オープンソースプロジェクトの健全な運営には不可欠な要素であり、プロジェクトの透明性と信頼性を高める上で重要な役割を果たします。

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

このコミットにおける「コアとなるコードの変更箇所」は、Goのソースコードではなく、プロジェクトのメタデータファイルであるAUTHORSCONTRIBUTORSへの変更です。

diff --git a/AUTHORS b/AUTHORS
index 72b422d28c..43913d84e0 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -364,6 +364,7 @@ Shenghou Ma <minux.ma@gmail.com>
 Shivakumar GN <shivakumar.gn@gmail.com>
 Sokolov Yura <funny.falcon@gmail.com>
 Spring Mc <heresy.mc@gmail.com>
+StalkR <stalkr@stalkr.net>
 Stefan Nilsson <snilsson@nada.kth.se> <trolleriprofessorn@gmail.com>
 Stéphane Travostino <stephane.travostino@gmail.com>
 Stephen McQuay <stephen@mcquay.me>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index a0a01fdae8..73040fd30a 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -505,6 +505,7 @@ Shenghou Ma <minux.ma@gmail.com>
 Shivakumar GN <shivakumar.gn@gmail.com>
 Sokolov Yura <funny.falcon@gmail.com>
 Spring Mc <heresy.mc@gmail.com>
+StalkR <stalkr@stalkr.net>
 Stefan Nilsson <snilsson@nada.kth.se> <trolleriprofessorn@gmail.com>
 Stéphane Travostino <stephane.travostino@gmail.com>
 Stephen Ma <stephenm@golang.org>

コアとなるコードの解説

上記の差分が示すように、変更は非常に単純です。

  • AUTHORSファイルとCONTRIBUTORSファイルの両方に、+StalkR <stalkr@stalkr.net>という行が追加されています。
  • この行は、既存の貢献者リストの中にアルファベット順に挿入されています。これは、これらのファイルが通常、貢献者の名前でソートされていることを示唆しています。

この変更は、Goのコードベースの機能やパフォーマンスに直接的な影響を与えるものではありません。これは、プロジェクトの管理と法的なコンプライアンスを維持するための、必要なメタデータの更新です。

関連リンク

  • Goプロジェクトへの貢献ガイドライン: Goプロジェクトの公式ドキュメントには、貢献方法に関する詳細なガイドラインがあります。CLAに関する情報も含まれているはずです。
  • GoogleのCLAに関する情報: GoogleがオープンソースプロジェクトでCLAをどのように扱っているかについての一般的な情報。

参考にした情報源リンク

  • Goプロジェクトのコミット履歴 (GitHub)
  • Goプロジェクトの公式ドキュメント (go.dev)
  • Google Open Sourceのウェブサイト (opensource.google)
  • Contributor License Agreement (CLA) および Developer Certificate of Origin (DCO) に関する一般的な知識。
  • Gerritコードレビューシステムに関する一般的な知識。
  • AUTHORSおよびCONTRIBUTORSファイルの一般的な慣習に関する知識。```markdown

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

このコミットは、GoプロジェクトのAUTHORSファイルとCONTRIBUTORSファイルに、新しい貢献者であるStalkR氏のエントリを追加するものです。これは、StalkR氏がGoプロジェクトに対する個別のContributor License Agreement (CLA) に署名したことを記録するための、管理上の変更です。

コミット

commit 2e8697de36065477bf3e4aa6c7d97c794f3fde4a
Author: Brad Fitzpatrick <bradfitz@golang.org>
Date:   Sun Apr 6 20:23:45 2014 -0700

    A+C: StalkR (individual CLA)

    Generated by addca.

    R=gobot
    CC=golang-codereviews
    https://golang.org/cl/84710045

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

https://github.com/golang/go/commit/2e8697de36065477bf3e4aa6c7d97c794f3fde4a

元コミット内容

このコミットは、AUTHORSファイルとCONTRIBUTORSファイルに以下の行を追加しています。

AUTHORSファイルへの追加:

--- a/AUTHORS
+++ b/AUTHORS
@@ -364,6 +364,7 @@ Shenghou Ma <minux.ma@gmail.com>
 Shivakumar GN <shivakumar.gn@gmail.com>
 Sokolov Yura <funny.falcon@gmail.com>
 Spring Mc <heresy.mc@gmail.com>
+StalkR <stalkr@stalkr.net>
 Stefan Nilsson <snilsson@nada.kth.se> <trolleriprofessorn@gmail.com>
 Stéphane Travostino <stephane.travostino@gmail.com>
 Stephen McQuay <stephen@mcquay.me>

CONTRIBUTORSファイルへの追加:

--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -505,6 +505,7 @@ Shenghou Ma <minux.ma@gmail.com>
 Shivakumar GN <shivakumar.gn@gmail.com>
 Sokolov Yura <funny.falcon@gmail.com>
 Spring Mc <heresy.mc@gmail.com>
+StalkR <stalkr@stalkr.net>
 Stefan Nilsson <snilsson@nada.kth.se> <trolleriprofessorn@gmail.com>
 Stéphane Travostino <stephane.travostino@gmail.com>
 Stephen Ma <stephenm@golang.org>

両ファイルにおいて、StalkR <stalkr@stalkr.net>という形式で、貢献者の名前とメールアドレスが追加されています。

変更の背景

この変更の背景には、オープンソースプロジェクト、特にGoogleが関与する大規模なプロジェクトにおけるContributor License Agreement (CLA) の要件があります。

Goプロジェクトのような大規模なオープンソースプロジェクトでは、プロジェクトの知的財産権(IP)を明確にし、将来的な法的な問題を回避するために、貢献者に対してCLAへの署名を求めることが一般的です。CLAは、貢献者が自身の貢献物に対する著作権をプロジェクトの所有者(この場合はGoogle)に付与するか、または貢献物を特定のライセンスの下で利用することを許可する法的な合意です。これにより、プロジェクトのコードベース全体のライセンスの一貫性が保たれ、プロジェクトの利用者が安心してコードを使用できるようになります。

このコミットメッセージにある A+C: StalkR (individual CLA) は、「Authors and Contributors: StalkR (個人CLA)」を意味し、StalkR氏がGoプロジェクトに貢献するために必要な個別のCLAに署名したことを示しています。

Generated by addca という記述は、この変更が addca というツールによって自動生成されたものであることを示唆しています。addca はおそらく "add Contributor Agreement" の略であり、CLAが署名された後に、関連するファイル(AUTHORSCONTRIBUTORS)を自動的に更新するための内部ツールであると考えられます。これにより、手動でのエラーを防ぎ、プロセスを効率化します。

したがって、このコミットは、StalkR氏がGoプロジェクトへの貢献を開始するための法的な手続きが完了し、その記録としてプロジェクトのメタデータファイルが更新されたことを示しています。

前提知識の解説

Contributor License Agreement (CLA)

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

  1. 知的財産権の明確化: 貢献されたコードの著作権が誰に帰属するのか、またはプロジェクトがそのコードをどのように利用できるのかを明確にします。これにより、将来的に著作権侵害やライセンス違反に関する紛争が発生するリスクを低減します。
  2. ライセンスの一貫性: プロジェクト全体で一貫したライセンスモデルを維持するために重要です。CLAを通じて、すべての貢献がプロジェクトの選択したオープンソースライセンス(例: Apache License 2.0, MIT Licenseなど)の下で再配布可能であることを保証します。
  3. プロジェクトの保護: プロジェクトの所有者や利用者が、貢献されたコードを安心して利用できるように、法的な保護を提供します。

CLAは、Developer Certificate of Origin (DCO) とは異なります。DCOは、貢献者が自身のコミットが自身の著作物であること、または適切なライセンスの下で貢献する権利があることを宣言するもので、通常はコミットメッセージに Signed-off-by: 行を追加することで行われます。DCOは法的な合意というよりは宣言であり、CLAの方がより厳格な法的拘束力を持つことが多いです。Googleが関与する多くのオープンソースプロジェクトでは、CLAの署名が求められます。

AUTHORS/CONTRIBUTORS ファイル

AUTHORSファイルとCONTRIBUTORSファイルは、多くのオープンソースプロジェクトで見られるテキストファイルです。これらは通常、プロジェクトに貢献した個人や組織の名前と、場合によっては連絡先情報(メールアドレスなど)をリストアップするために使用されます。

  • AUTHORS: 主にプロジェクトの主要な作者や、初期の貢献者、またはプロジェクトの方向性を決定するような重要な役割を担った人々をリストアップするために使われることがあります。
  • CONTRIBUTORS: プロジェクトに何らかの形で貢献したすべての個人や組織を網羅的にリストアップするために使われることが多いです。これには、コードのコミットだけでなく、バグ報告、ドキュメントの改善、テストの作成、翻訳など、様々な形の貢献が含まれる場合があります。

これらのファイルは、貢献者への感謝を示すとともに、プロジェクトの歴史と貢献の記録としての役割も果たします。また、法的な観点からは、プロジェクトの著作権表示の一部として機能し、貢献されたコードの出所を追跡するのに役立つ場合があります。

Goプロジェクトの貢献プロセス

Goプロジェクトへの貢献は、通常、Gerritというコードレビューシステムを通じて行われます。貢献者は、変更を提案する「変更リスト(Change List, CL)」を作成し、Gerritにアップロードします。このCLは、Goチームのメンバーや他の貢献者によってレビューされ、承認されるとメインのコードベースにマージされます。

CLAの署名は、この貢献プロセスの初期段階で完了している必要があります。CLAが署名されると、その貢献者はGoプロジェクトにコードをコミットする資格を得ます。このコミットは、その資格が有効になったことを示す管理上の記録の一部です。

技術的詳細

このコミット自体は、Go言語のランタイムや標準ライブラリの機能的な変更を伴うものではありません。純粋にプロジェクトのメタデータ、具体的には貢献者リストを更新するものです。

  • ファイル形式: AUTHORSCONTRIBUTORSは、プレーンテキストファイルです。各行に貢献者の名前とメールアドレスが記述されています。
  • 変更の性質: 既存のファイルの特定の行に新しい行が追加されるという、非常に単純な変更です。Gitの差分(diff)を見てもわかるように、行の追加のみが行われています。
  • addcaツールの役割: コミットメッセージにある Generated by addca は、この変更が手動ではなく、自動化されたプロセスによって行われたことを示しています。これは、CLAの署名がシステムによって検出された後、その情報に基づいてこれらのファイルを自動的に更新するスクリプトまたはツールが存在することを示唆しています。このような自動化は、大規模なプロジェクトで多数の貢献者を管理する際に、一貫性を保ち、ヒューマンエラーを減らす上で非常に重要です。

このコミットは、ソフトウェア開発における「コード」そのものよりも、「プロジェクト管理」や「法務」の側面に関連するものです。しかし、オープンソースプロジェクトの健全な運営には不可欠な要素であり、プロジェクトの透明性と信頼性を高める上で重要な役割を果たします。

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

このコミットにおける「コアとなるコードの変更箇所」は、Goのソースコードではなく、プロジェクトのメタデータファイルであるAUTHORSCONTRIBUTORSへの変更です。

diff --git a/AUTHORS b/AUTHORS
index 72b422d28c..43913d84e0 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -364,6 +364,7 @@ Shenghou Ma <minux.ma@gmail.com>
 Shivakumar GN <shivakumar.gn@gmail.com>
 Sokolov Yura <funny.falcon@gmail.com>
 Spring Mc <heresy.mc@gmail.com>
+StalkR <stalkr@stalkr.net>
 Stefan Nilsson <snilsson@nada.kth.se> <trolleriprofessorn@gmail.com>
 Stéphane Travostino <stephane.travostino@gmail.com>
 Stephen McQuay <stephen@mcquay.me>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index a0a01fdae8..73040fd30a 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -505,6 +505,7 @@ Shenghou Ma <minux.ma@gmail.com>
 Shivakumar GN <shivakumar.gn@gmail.com>
 Sokolov Yura <funny.falcon@gmail.com>
 Spring Mc <heresy.mc@gmail.com>
+StalkR <stalkr@stalkr.net>
 Stefan Nilsson <snilsson@nada.kth.se> <trolleriprofessorn@gmail.com>
 Stéphane Travostino <stephane.travostino@gmail.com>
 Stephen Ma <stephenm@golang.org>

コアとなるコードの解説

上記の差分が示すように、変更は非常に単純です。

  • AUTHORSファイルとCONTRIBUTORSファイルの両方に、+StalkR <stalkr@stalkr.net>という行が追加されています。
  • この行は、既存の貢献者リストの中にアルファベット順に挿入されています。これは、これらのファイルが通常、貢献者の名前でソートされていることを示唆しています。

この変更は、Goのコードベースの機能やパフォーマンスに直接的な影響を与えるものではありません。これは、プロジェクトの管理と法的なコンプライアンスを維持するための、必要なメタデータの更新です。

関連リンク

  • Goプロジェクトへの貢献ガイドライン: Goプロジェクトの公式ドキュメントには、貢献方法に関する詳細なガイドラインがあります。CLAに関する情報も含まれているはずです。
  • GoogleのCLAに関する情報: GoogleがオープンソースプロジェクトでCLAをどのように扱っているかについての一般的な情報。

参考にした情報源リンク

  • Goプロジェクトのコミット履歴 (GitHub)
  • Goプロジェクトの公式ドキュメント (go.dev)
  • Google Open Sourceのウェブサイト (opensource.google)
  • Contributor License Agreement (CLA) および Developer Certificate of Origin (DCO) に関する一般的な知識。
  • Gerritコードレビューシステムに関する一般的な知識。
  • AUTHORSおよびCONTRIBUTORSファイルの一般的な慣習に関する知識。