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

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

このコミットは、Go言語プロジェクトの AUTHORS および CONTRIBUTORS ファイルに、新たな貢献者である Patrick Higgins と Shawn Smith の名前を追加するものです。これらのファイルは、プロジェクトに貢献した個人を記録するために使用されます。

コミット

このコミットは、Goプロジェクトへの貢献者リストを更新するもので、具体的には AUTHORS ファイルと CONTRIBUTORS ファイルに2名の新しい貢献者を追加しています。これは、彼らが個別のCLA(Contributor License Agreement)を提出したことを示しています。

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

https://github.com/golang/go/commit/2785f9528e84f29429c083db4693faf536f361cc

元コミット内容

A+C: Patrick Higgins, Shawn Smith (individual CLA)

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6492067
---
 AUTHORS      | 2 ++\
 CONTRIBUTORS | 2 ++\
 2 files changed, 4 insertions(+)

diff --git a/AUTHORS b/AUTHORS
index 77f621953a..3da4bdb94f 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -178,6 +178,7 @@ Paolo Giarrusso <p.giarrusso@gmail.com>
 Pascal S. de Kloe <pascal@quies.net>
 Patrick Crosby <patrick@stathat.com>
 Patrick Gavlin <pgavlin@gmail.com>
+Patrick Higgins <patrick.allen.higgens@gmail.com>
 Patrick Mylund Nielsen <patrick@patrickmn.com>
 Paul Lalonde <paul.a.lalonde@gmail.com>
 Paul Sbarra <Sbarra.Paul@gmail.com>
@@ -206,6 +207,7 @@ Sébastien Paolacci <sebastien.paolacci@gmail.com>
 Sergei Skorobogatov <skorobo@rambler.ru>
 Sergey 'SnakE'  Gromov <snake.scaly@gmail.com>
 Sergio Luis O. B. Correia <sergio@larces.uece.br>
+Shawn Smith <shawnpsmith@gmail.com>
 Shenghou Ma <minux.ma@gmail.com>
 Spring Mc <heresy.mc@gmail.com>
 Stefan Nilsson <snilsson@nada.kth.se> <trolleriprofessorn@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index db288efe78..f4eb7860c6 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -256,6 +256,7 @@ Paolo Giarrusso <p.giarrusso@gmail.com>
 Pascal S. de Kloe <pascal@quies.net>
 Patrick Crosby <patrick@stathat.com>
 Patrick Gavlin <pgavlin@gmail.com>
+Patrick Higgins <patrick.allen.higgens@gmail.com>
 Patrick Mylund Nielsen <patrick@patrickmn.com>
 Paul Borman <borman@google.com>
 Paul Lalonde <paul.a.lalonde@gmail.com>
@@ -297,6 +298,7 @@ Sébastien Paolacci <sebastien.paolacci@gmail.com>
 Sergei Skorobogatov <skorobo@rambler.ru>
 Sergey 'SnakE' Gromov <snake.scaly@gmail.com>
 Sergio Luis O. B. Correia <sergio@larces.uece.br>
+Shawn Smith <shawnpsmith@gmail.com>
 Shenghou Ma <minux.ma@gmail.com>
 Spring Mc <heresy.mc@gmail.com>
 Stefan Nilsson <snilsson@nada.kth.se> <trolleriprofessorn@gmail.com>

変更の背景

オープンソースプロジェクト、特に大規模なものにおいては、プロジェクトへの貢献者を適切に認識し、記録することが重要です。これは、プロジェクトの透明性を高め、貢献者の努力を称えるだけでなく、法的な側面(著作権やライセンス)においても意味を持ちます。

Go言語プロジェクトでは、貢献者がコードを提出する前にCLA(Contributor License Agreement)に署名することを求めています。CLAは、貢献者が自身の貢献に対する著作権をプロジェクトに付与し、プロジェクトがそのコードを自由に利用、配布、変更できるようにするための法的な合意です。CLAに署名した貢献者は、AUTHORS および CONTRIBUTORS ファイルに名前が追加されるのが一般的です。

このコミットは、Patrick Higgins と Shawn Smith の両名が個別のCLAを提出し、Goプロジェクトに貢献する準備が整ったことを示しています。彼らの名前をこれらのファイルに追加することで、彼らの貢献が正式に認められ、将来の貢献が円滑に進むようになります。

前提知識の解説

オープンソースプロジェクトにおける貢献者リスト

多くのオープンソースプロジェクトでは、プロジェクトに貢献した人々のリストを維持しています。これは通常、AUTHORSCONTRIBUTORSTHANKS などの名前のファイルに記載されます。これらのリストは、以下のような目的で利用されます。

  • 認識と感謝: プロジェクトの成功に貢献した個人を公に認識し、感謝の意を示す。
  • 透明性: プロジェクトが誰によって構築されているかを明確にする。
  • 法的要件: 著作権表示やライセンス情報の一部として、貢献者の名前を記載する必要がある場合がある。

Contributor License Agreement (CLA)

CLA(Contributor License Agreement)は、オープンソースプロジェクトにおいて、貢献者が自身のコードをプロジェクトに提供する際に署名する法的な文書です。CLAの主な目的は以下の通りです。

  • ライセンスの明確化: 貢献されたコードがプロジェクトのライセンス(例: Apache License, MIT License)の下で配布されることを保証します。これにより、プロジェクトの利用者は、貢献されたコードを安心して利用できます。
  • 著作権の管理: プロジェクトの所有者(多くの場合、財団や企業)が、貢献されたコードの著作権を管理できるようにします。これにより、プロジェクト全体としてのライセンスの一貫性を保ち、将来的なライセンス変更や訴訟リスクを軽減できます。
  • 知的財産権の保護: 貢献されたコードが、第三者の知的財産権を侵害していないことを確認します。

CLAには、個人が署名する「Individual CLA」と、企業が署名する「Corporate CLA」があります。このコミットでは「individual CLA」と明記されており、Patrick Higgins と Shawn Smith が個人としてCLAに署名したことを示しています。

Gitの差分表示 (diff)

Gitの差分表示(diff)は、2つの異なるバージョンのファイル間の変更点を示すものです。このコミットメッセージに含まれる差分は、AUTHORS ファイルと CONTRIBUTORS ファイルに新しい行が追加されたことを明確に示しています。

  • --- a/AUTHORS+++ b/AUTHORS は、それぞれ変更前の AUTHORS ファイルと変更後の AUTHORS ファイルを示します。
  • @@ -178,6 +178,7 @@ のような行は、変更が適用されたファイルのセクションを示します。-178,6 は変更前のファイルで178行目から6行が対象であることを示し、+178,7 は変更後のファイルで178行目から7行が対象であることを示します。これは、1行が追加されたことを意味します。
  • + で始まる行は、追加された行を示します。

技術的詳細

このコミットは、Goプロジェクトのバージョン管理システム(Git)における標準的なファイル変更操作です。具体的には、以下の2つのテキストファイルが変更されています。

  1. AUTHORS: このファイルは、Goプロジェクトの主要な作者(開発者)のリストを保持しています。通常、プロジェクトの初期から深く関わっている人々や、重要な貢献をした人々がここに記載されます。
  2. CONTRIBUTORS: このファイルは、Goプロジェクトに何らかの形で貢献したすべての個人のリストを保持しています。これには、コードの提出、バグ報告、ドキュメントの改善、テストの作成など、様々な貢献が含まれます。

コミットの差分を見ると、両ファイルに以下の2行が追加されていることがわかります。

  • +Patrick Higgins <patrick.allen.higgens@gmail.com>
  • +Shawn Smith <shawnpsmith@gmail.com>

これらの行は、貢献者の氏名とメールアドレスを記載する一般的な形式に従っています。メールアドレスは、将来的な連絡や、貢献者の識別に使用されることがあります。

この変更は、Goプロジェクトのガバナンスと貢献プロセスの一部であり、新しい貢献者がプロジェクトのエコシステムに正式に組み込まれたことを意味します。

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

このコミットにおける「コード」の変更は、厳密にはプログラムコードではなく、プロジェクトのメタデータファイルである AUTHORSCONTRIBUTORS のテキスト内容の変更です。

  • AUTHORS ファイルの179行目(変更後)に Patrick Higgins <patrick.allen.higgens@gmail.com> が追加されました。
  • AUTHORS ファイルの208行目(変更後)に Shawn Smith <shawnpsmith@gmail.com> が追加されました。
  • CONTRIBUTORS ファイルの257行目(変更後)に Patrick Higgins <patrick.allen.higgens@gmail.com> が追加されました。
  • CONTRIBUTORS ファイルの298行目(変更後)に Shawn Smith <shawnpsmith@gmail.com> が追加されました。

コアとなるコードの解説

変更されたファイルは、Goプロジェクトのソースコードリポジトリのルートディレクトリに位置しています。これらのファイルは、Go言語のコンパイラやランタイム、標準ライブラリなどの機能に直接影響を与えるものではありません。しかし、プロジェクトの管理、法務、そしてコミュニティの側面において非常に重要な役割を果たします。

これらのファイルへの追加は、以下のプロセスを経て行われたと考えられます。

  1. 貢献: Patrick Higgins と Shawn Smith がGoプロジェクトに対して何らかの貢献(例: パッチの提出)を行った。
  2. CLA署名: 貢献が受け入れられる前に、彼らが個別のCLAに署名し、Goプロジェクトにその貢献のライセンスを付与することに同意した。
  3. レビュー: CLAの署名が確認され、彼らの名前を貢献者リストに追加する変更がレビューされた(コミットメッセージの R=golang-dev, r はレビューが行われたことを示唆しています)。
  4. コミット: レビューが承認された後、この変更がリポジトリにコミットされた。

この一連のプロセスは、オープンソースプロジェクトが貢献を安全かつ合法的に受け入れるための標準的なプラクティスです。

関連リンク

  • Go言語の公式ウェブサイト: https://golang.org/
  • Go言語の貢献ガイドライン: Goプロジェクトへの貢献方法に関する公式ドキュメント。CLAに関する情報も含まれているはずです。通常、CONTRIBUTING.md や公式ウェブサイトの「貢献」セクションにあります。
  • Contributor License Agreement (CLA) の詳細: CLAの概念についてより深く理解するための一般的な情報源。

参考にした情報源リンク

  • Go言語のGitHubリポジトリ: https://github.com/golang/go
  • Gitのドキュメンテーション(特に git diff コマンドについて)
  • オープンソースプロジェクトにおけるCLAの一般的なプラクティスに関する情報(例: Linux Foundation, Apache Software Foundationなどのウェブサイト)
  • コミットメッセージ内の https://golang.org/cl/6492067 は、GoプロジェクトのGerritコードレビューシステムへのリンクであり、この変更がレビューされた際の詳細な議論や履歴を確認できます。
    • https://golang.org/cl/6492067 (このリンクは古い可能性があり、現在のGerritシステムでは異なるURL構造になっている場合がありますが、当時のコミットメッセージに記載されていたものです。)