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

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

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

コミット

commit 17623c0f13c123a20edaa41845587f46e3ad5f0a
Author: Russ Cox <rsc@golang.org>
Date:   Mon Nov 12 15:34:09 2012 -0500

    A+C: Rick Arnold (individual CLA)
    
    R=golang-dev, iant
    CC=golang-dev
    https://golang.org/cl/6821110

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

https://github.com/golang/go/commit/17623c0f13c123a20edaa41845587f46e3ad5f0a

元コミット内容

A+C: Rick Arnold (individual CLA)

R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/6821110

変更の背景

このコミットの背景には、オープンソースプロジェクト、特にGoogleが主導するGoプロジェクトにおける貢献者の管理と法的な側面があります。Goプロジェクトのような大規模なオープンソースプロジェクトでは、多くの個人や企業がコードベースに貢献します。これらの貢献が将来的にプロジェクトのライセンスや知的財産権に関する問題を引き起こさないようにするため、プロジェクトはコントリビューターライセンス契約(CLA)の締結を義務付けていることが一般的です。

Rick Arnold氏がGoプロジェクトに貢献するにあたり、個人CLAを締結したため、その事実をプロジェクトの公式な記録であるAUTHORSファイルとCONTRIBUTORSファイルに反映させる必要がありました。このコミットは、その管理プロセスの一環として行われたものです。コミットメッセージの "A+C" は "AUTHORS + CONTRIBUTORS" を意味し、両ファイルへの追加を示唆しています。

前提知識の解説

AUTHORSファイルとCONTRIBUTORSファイル

多くのオープンソースプロジェクトでは、プロジェクトに貢献した人々を記録するために、AUTHORSCONTRIBUTORSといったテキストファイルをリポジトリのルートに配置しています。

  • AUTHORSファイル: 主にプロジェクトの主要な作者や、著作権を持つ個人・団体をリストアップするために使用されます。法的な意味合いが強い場合があります。
  • CONTRIBUTORSファイル: プロジェクトに何らかの形で貢献したすべての個人をリストアップするために使用されます。コードの貢献だけでなく、ドキュメントの作成、バグ報告、テスト、デザインなど、幅広い貢献が含まれることがあります。

これらのファイルは、プロジェクトの透明性を高め、貢献者への感謝を示す役割も果たします。Goプロジェクトでは、これらのファイルが貢献者の公式な記録として機能しています。

コントリビューターライセンス契約 (Contributor License Agreement, CLA)

CLAは、個人または企業がオープンソースプロジェクトに貢献する際に、プロジェクトの所有者(この場合はGoogle)と締結する法的な契約です。CLAの主な目的は以下の通りです。

  1. 知的財産権の明確化: 貢献されたコードの知的財産権が、貢献者からプロジェクトの所有者へ適切にライセンスされることを保証します。これにより、プロジェクトの所有者は、将来的にコードを再ライセンスしたり、商用利用したりする際に、法的な問題に直面するリスクを低減できます。
  2. ライセンスの一貫性: プロジェクト全体のライセンス(例: BSDライセンス、MITライセンスなど)が、個々の貢献によって損なわれないようにします。
  3. 訴訟リスクの軽減: 貢献されたコードに起因する著作権侵害などの訴訟が発生した場合に、プロジェクトの所有者を保護する役割を果たします。

Googleが主導する多くのオープンソースプロジェクト(Android, Chromium, Goなど)では、貢献者にCLAの締結を義務付けています。CLAには「個人CLA」と「企業CLA」があり、個人が自身の名義で貢献する場合は個人CLAを、企業が従業員を通じて貢献する場合は企業CLAを締結します。

Gerrit (Goプロジェクトにおけるコードレビューシステム)

コミットメッセージにある https://golang.org/cl/6821110 は、Goプロジェクトが使用しているコードレビューシステムであるGerritへのリンクです。GerritはGitをベースとしたWebベースのコードレビューツールで、変更セット(Change-ID)ごとにレビュープロセスを管理します。

Goプロジェクトの典型的な開発ワークフローは以下のようになります。

  1. 開発者がローカルでコード変更を行う。
  2. git-clなどのツールを使って変更をGerritにアップロードする。この際、一意のChange-IDが割り当てられる。
  3. Gerrit上で他の開発者(レビュアー)がコードレビューを行う。コメントや提案がGerrit上でやり取りされる。
  4. レビューが承認されると、変更はGoのリポジトリにマージされる。

このコミットメッセージのリンクは、Rick Arnold氏のCLA締結に関連する変更がGerrit上でレビューされ、承認されたことを示唆しています。

技術的詳細

このコミットは、Goプロジェクトのルートディレクトリにある2つのテキストファイル、AUTHORSCONTRIBUTORSに新しい行を追加する非常にシンプルな変更です。

  • AUTHORSファイル:

    • 変更前: Richard Eric Gavaletz <gavaletz@gmail.com> の次に Risto Jaakko Saarelma <rsaarelm@gmail.com> が続く。
    • 変更後: Richard Eric Gavaletz <gavaletz@gmail.com> の次に Rick Arnold <rickarnoldjr@gmail.com> が挿入され、その後に Risto Jaakko Saarelma <rsaarelm@gmail.com> が続く。
    • 追加された行のフォーマットは、[氏名] <[メールアドレス]> という形式で、既存のエントリと一貫しています。
  • CONTRIBUTORSファイル:

    • 変更前: Richard Eric Gavaletz <gavaletz@gmail.com> の次に Risto Jaakko Saarelma <rsaarelm@gmail.com> が続く。
    • 変更後: Richard Eric Gavaletz <gavaletz@gmail.com> の次に Rick Arnold <rickarnoldjr@gmail.com> が挿入され、その後に Risto Jaakko Saarelma <rsaarelm@gmail.com> が続く。
    • こちらもAUTHORSファイルと同様に、[氏名] <[メールアドレス]> の形式で追加されています。

これらのファイルは、特定のプログラミング言語やフレームワークに依存しないプレーンテキストファイルであり、手動またはスクリプトによって管理されます。この変更は、Goプロジェクトの管理者が、Rick Arnold氏のCLA締結を確認した後、手動で、または自動化されたプロセスの一部として行ったものと考えられます。

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

diff --git a/AUTHORS b/AUTHORS
index 75bbea50e3..c4abf46cf4 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -205,6 +205,7 @@ Quan Yong Zhai <qyzhai@gmail.com>
 Raif S. Naffah <go@naffah-raif.name>
 Rémy Oudompheng <oudomphe@phare.normalesup.org>
 Richard Eric Gavaletz <gavaletz@gmail.com>
+Rick Arnold <rickarnoldjr@gmail.com>
 Risto Jaakko Saarelma <rsaarelm@gmail.com>
 Robert Figueiredo <robfig@gmail.com>
 Robert Hencke <robert.hencke@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index a4e115b0c7..8929edb0d3 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -298,6 +298,7 @@ Raif S. Naffah <go@naffah-raif.name>
 Raph Levien <raph@google.com>
 Rémy Oudompheng <oudomphe@phare.normalesup.org> <remyoudompheng@gmail.com>
 Richard Eric Gavaletz <gavaletz@gmail.com>
+Rick Arnold <rickarnoldjr@gmail.com>
 Risto Jaakko Saarelma <rsaarelm@gmail.com>
 Rob Pike <r@golang.org>
 Robert Figueiredo <robfig@gmail.com>

コアとなるコードの解説

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

  • diff --git a/AUTHORS b/AUTHORS および diff --git a/CONTRIBUTORS b/CONTRIBUTORS:

    • これはGitのdiffコマンドの出力ヘッダーで、どのファイルが比較されているかを示します。a/は変更前のファイル、b/は変更後のファイルを表します。
  • index 75bbea50e3..c4abf46cf4 100644 (AUTHORSの場合) および index a4e115b0c7..8929edb0d3 100644 (CONTRIBUTORSの場合):

    • これはファイルのGitオブジェクトのハッシュ(変更前と変更後)と、ファイルのパーミッション(100644は通常のファイル)を示します。
  • --- a/AUTHORS および +++ b/AUTHORS (同様にCONTRIBUTORSも):

    • 変更前のファイルと変更後のファイルを示します。
  • @@ -205,6 +205,7 @@ (AUTHORSの場合):

    • これは「hunk header」と呼ばれ、変更がファイルのどこで行われたかを示します。
      • -205,6: 変更前のファイルでは、205行目から6行が表示されていることを意味します。
      • +205,7: 変更後のファイルでは、205行目から7行が表示されていることを意味します。
      • この差分(6行から7行への増加)は、1行が追加されたことを示しています。
  • Quan Yong Zhai <qyzhai@gmail.com> から Richard Eric Gavaletz <gavaletz@gmail.com> までの行:

    • これらはコンテキスト行であり、変更されていないが、変更箇所の周囲のコードを示すために表示されています。
  • +Rick Arnold <rickarnoldjr@gmail.com>:

    • この行の先頭にある+記号は、この行がファイルに追加されたことを示します。
    • Rick Arnold <rickarnoldjr@gmail.com> は、追加された貢献者の氏名とメールアドレスです。

このdiffは、Rick Arnold氏の名前とメールアドレスが、AUTHORSファイルとCONTRIBUTORSファイルの両方に、既存のアルファベット順のリストに沿って適切に挿入されたことを明確に示しています。これは、新しい貢献者がGoプロジェクトに正式に認識され、その貢献が記録されたことを意味します。

関連リンク

参考にした情報源リンク

  • コミットデータ: /home/orange/Project/comemo/commit_data/14380.txt
  • GitHubコミットページ: https://github.com/golang/go/commit/17623c0f13c123a20edaa41845587f46e3ad5f0a
  • Goプロジェクトの公式ドキュメント (貢献ガイドラインなど): https://go.dev/
  • Google Developers CLA: https://cla.developers.google.com/
  • Gerrit Code Review 公式サイト: https://www.gerritcodereview.com/
  • 一般的なオープンソースプロジェクトにおけるAUTHORSおよびCONTRIBUTORSファイルの慣習に関する知識。
  • Git diffの読み方に関する一般的な知識。
  • (必要に応じて)google_web_search を使用して「Go project CLA」「Gerrit Go」「AUTHORS file open source」などのキーワードで検索し、追加情報を収集しました。# [インデックス 14380] ファイルの概要

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

コミット

commit 17623c0f13c123a20edaa41845587f46e3ad5f0a
Author: Russ Cox <rsc@golang.org>
Date:   Mon Nov 12 15:34:09 2012 -0500

    A+C: Rick Arnold (individual CLA)
    
    R=golang-dev, iant
    CC=golang-dev
    https://golang.org/cl/6821110

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

https://github.com/golang/go/commit/17623c0f13c123a20edaa41845587f46e3ad5f0a

元コミット内容

A+C: Rick Arnold (individual CLA)

R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/6821110

変更の背景

このコミットの背景には、オープンソースプロジェクト、特にGoogleが主導するGoプロジェクトにおける貢献者の管理と法的な側面があります。Goプロジェクトのような大規模なオープンソースプロジェクトでは、多くの個人や企業がコードベースに貢献します。これらの貢献が将来的にプロジェクトのライセンスや知的財産権に関する問題を引き起こさないようにするため、プロジェクトはコントリビューターライセンス契約(CLA)の締結を義務付けていることが一般的です。

Rick Arnold氏がGoプロジェクトに貢献するにあたり、個人CLAを締結したため、その事実をプロジェクトの公式な記録であるAUTHORSファイルとCONTRIBUTORSファイルに反映させる必要がありました。このコミットは、その管理プロセスの一環として行われたものです。コミットメッセージの "A+C" は "AUTHORS + CONTRIBUTORS" を意味し、両ファイルへの追加を示唆しています。

前提知識の解説

AUTHORSファイルとCONTRIBUTORSファイル

多くのオープンソースプロジェクトでは、プロジェクトに貢献した人々を記録するために、AUTHORSCONTRIBUTORSといったテキストファイルをリポジトリのルートに配置しています。

  • AUTHORSファイル: 主にプロジェクトの主要な作者や、著作権を持つ個人・団体をリストアップするために使用されます。法的な意味合いが強い場合があります。
  • CONTRIBUTORSファイル: プロジェクトに何らかの形で貢献したすべての個人をリストアップするために使用されます。コードの貢献だけでなく、ドキュメントの作成、バグ報告、テスト、デザインなど、幅広い貢献が含まれることがあります。

これらのファイルは、プロジェクトの透明性を高め、貢献者への感謝を示す役割も果たします。Goプロジェクトでは、これらのファイルが貢献者の公式な記録として機能しています。

コントリビューターライセンス契約 (Contributor License Agreement, CLA)

CLAは、個人または企業がオープンソースプロジェクトに貢献する際に、プロジェクトの所有者(この場合はGoogle)と締結する法的な契約です。CLAの主な目的は以下の通りです。

  1. 知的財産権の明確化: 貢献されたコードの知的財産権が、貢献者からプロジェクトの所有者へ適切にライセンスされることを保証します。これにより、プロジェクトの所有者は、将来的にコードを再ライセンスしたり、商用利用したりする際に、法的な問題に直面するリスクを低減できます。
  2. ライセンスの一貫性: プロジェクト全体のライセンス(例: BSDライセンス、MITライセンスなど)が、個々の貢献によって損なわれないようにします。
  3. 訴訟リスクの軽減: 貢献されたコードに起因する著作権侵害などの訴訟が発生した場合に、プロジェクトの所有者を保護する役割を果たします。

Googleが主導する多くのオープンソースプロジェクト(Android, Chromium, Goなど)では、貢献者にCLAの締結を義務付けています。CLAには「個人CLA」と「企業CLA」があり、個人が自身の名義で貢献する場合は個人CLAを、企業が従業員を通じて貢献する場合は企業CLAを締結します。

Gerrit (Goプロジェクトにおけるコードレビューシステム)

コミットメッセージにある https://golang.org/cl/6821110 は、Goプロジェクトが使用しているコードレビューシステムであるGerritへのリンクです。GerritはGitをベースとしたWebベースのコードレビューツールで、変更セット(Change-ID)ごとにレビュープロセスを管理します。

Goプロジェクトの典型的な開発ワークフローは以下のようになります。

  1. 開発者がローカルでコード変更を行う。
  2. git-clなどのツールを使って変更をGerritにアップロードする。この際、一意のChange-IDが割り当てられる。
  3. Gerrit上で他の開発者(レビュアー)がコードレビューを行う。コメントや提案がGerrit上でやり取りされる。
  4. レビューが承認されると、変更はGoのリポジトリにマージされる。

このコミットメッセージのリンクは、Rick Arnold氏のCLA締結に関連する変更がGerrit上でレビューされ、承認されたことを示唆しています。

技術的詳細

このコミットは、Goプロジェクトのルートディレクトリにある2つのテキストファイル、AUTHORSCONTRIBUTORSに新しい行を追加する非常にシンプルな変更です。

  • AUTHORSファイル:

    • 変更前: Richard Eric Gavaletz <gavaletz@gmail.com> の次に Risto Jaakko Saarelma <rsaarelm@gmail.com> が続く。
    • 変更後: Richard Eric Gavaletz <gavaletz@gmail.com> の次に Rick Arnold <rickarnoldjr@gmail.com> が挿入され、その後に Risto Jaakko Saarelma <rsaarelm@gmail.com> が続く。
    • 追加された行のフォーマットは、[氏名] <[メールアドレス]> という形式で、既存のエントリと一貫しています。
  • CONTRIBUTORSファイル:

    • 変更前: Richard Eric Gavaletz <gavaletz@gmail.com> の次に Risto Jaakko Saarelma <rsaarelm@gmail.com> が続く。
    • 変更後: Richard Eric Gavaletz <gavaletz@gmail.com> の次に Rick Arnold <rickarnoldjr@gmail.com> が挿入され、その後に Risto Jaakko Saarelma <rsaarelm@gmail.com> が続く。
    • こちらもAUTHORSファイルと同様に、[氏名] <[メールアドレス]> の形式で追加されています。

これらのファイルは、特定のプログラミング言語やフレームワークに依存しないプレーンテキストファイルであり、手動またはスクリプトによって管理されます。この変更は、Goプロジェクトの管理者が、Rick Arnold氏のCLA締結を確認した後、手動で、または自動化されたプロセスの一部として行ったものと考えられます。

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

diff --git a/AUTHORS b/AUTHORS
index 75bbea50e3..c4abf46cf4 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -205,6 +205,7 @@ Quan Yong Zhai <qyzhai@gmail.com>
 Raif S. Naffah <go@naffah-raif.name>
 Rémy Oudompheng <oudomphe@phare.normalesup.org>
 Richard Eric Gavaletz <gavaletz@gmail.com>
+Rick Arnold <rickarnoldjr@gmail.com>
 Risto Jaakko Saarelma <rsaarelm@gmail.com>
 Robert Figueiredo <robfig@gmail.com>
 Robert Hencke <robert.hencke@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index a4e115b0c7..8929edb0d3 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -298,6 +298,7 @@ Raif S. Naffah <go@naffah-raif.name>
 Raph Levien <raph@google.com>
 Rémy Oudompheng <oudomphe@phare.normalesup.org> <remyoudompheng@gmail.com>
 Richard Eric Gavaletz <gavaletz@gmail.com>
+Rick Arnold <rickarnoldjr@gmail.com>
 Risto Jaakko Saarelma <rsaarelm@gmail.com>
 Rob Pike <r@golang.org>
 Robert Figueiredo <robfig@gmail.com>

コアとなるコードの解説

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

  • diff --git a/AUTHORS b/AUTHORS および diff --git a/CONTRIBUTORS b/CONTRIBUTORS:

    • これはGitのdiffコマンドの出力ヘッダーで、どのファイルが比較されているかを示します。a/は変更前のファイル、b/は変更後のファイルを表します。
  • index 75bbea50e3..c4abf46cf4 100644 (AUTHORSの場合) および index a4e115b0c7..8929edb0d3 100644 (CONTRIBUTORSの場合):

    • これはファイルのGitオブジェクトのハッシュ(変更前と変更後)と、ファイルのパーミッション(100644は通常のファイル)を示します。
  • --- a/AUTHORS および +++ b/AUTHORS (同様にCONTRIBUTORSも):

    • 変更前のファイルと変更後のファイルを示します。
  • @@ -205,6 +205,7 @@ (AUTHORSの場合):

    • これは「hunk header」と呼ばれ、変更がファイルのどこで行われたかを示します。
      • -205,6: 変更前のファイルでは、205行目から6行が表示されていることを意味します。
      • +205,7: 変更後のファイルでは、205行目から7行が表示されていることを意味します。
      • この差分(6行から7行への増加)は、1行が追加されたことを示しています。
  • Quan Yong Zhai <qyzhai@gmail.com> から Richard Eric Gavaletz <gavaletz@gmail.com> までの行:

    • これらはコンテキスト行であり、変更されていないが、変更箇所の周囲のコードを示すために表示されています。
  • +Rick Arnold <rickarnoldjr@gmail.com>:

    • この行の先頭にある+記号は、この行がファイルに追加されたことを示します。
    • Rick Arnold <rickarnoldjr@gmail.com> は、追加された貢献者の氏名とメールアドレスです。

このdiffは、Rick Arnold氏の名前とメールアドレスが、AUTHORSファイルとCONTRIBUTORSファイルの両方に、既存のアルファベット順のリストに沿って適切に挿入されたことを明確に示しています。これは、新しい貢献者がGoプロジェクトに正式に認識され、その貢献が記録されたことを意味します。

関連リンク

参考にした情報源リンク

  • コミットデータ: /home/orange/Project/comemo/commit_data/14380.txt
  • GitHubコミットページ: https://github.com/golang/go/commit/17623c0f13c123a20edaa41845587f46e3ad5f0a
  • Goプロジェクトの公式ドキュメント (貢献ガイドラインなど): https://go.dev/
  • Google Developers CLA: https://cla.developers.google.com/
  • Gerrit Code Review 公式サイト: https://www.gerritcodereview.com/
  • 一般的なオープンソースプロジェクトにおけるAUTHORSおよびCONTRIBUTORSファイルの慣習に関する知識。
  • Git diffの読み方に関する一般的な知識。
  • (必要に応じて)google_web_search を使用して「Go project CLA」「Gerrit Go」「AUTHORS file open source」などのキーワードで検索し、追加情報を収集しました。