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

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

このコミットは、GoプロジェクトのCONTRIBUTORSファイルに新しい貢献者であるPawel Szczur氏を追加するものです。これは、彼がGoogleのContributor License Agreement (CLA) に同意したことを示しています。

コミット

CONTRIBUTORS: add Pawel Szczur (Google CLA)

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6820049

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

https://github.com/golang/go/commit/8010a430a238659a567c8b6f6492feb625651562

元コミット内容

commit 8010a430a238659a567c8b6f6492feb625651562
Author: Brad Fitzpatrick <bradfitz@golang.org>
Date:   Mon Oct 29 17:54:22 2012 +0100

    CONTRIBUTORS: add Pawel Szczur (Google CLA)
    
    R=golang-dev, r
    CC=golang-dev
    https://golang.org/cl/6820049
---
 CONTRIBUTORS | 1 +
 1 file changed, 1 insertion(+)

diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 44f07136ac..720c434af2 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -272,6 +272,7 @@ Patrick Gavlin <pgavlin@gmail.com>
 Patrick Higgins <patrick.allen.higgins@gmail.com>
 Patrick Mylund Nielsen <patrick@patrickmn.com>
 Patrick Smith <pat42smith@gmail.com>
+Pawel Szczur <filemon@google.com>
 Paul Borman <borman@google.com>
 Paul Chang <paulchang@google.com>
 Paul Lalonde <paul.a.lalonde@gmail.com>

変更の背景

このコミットの背景には、オープンソースプロジェクト、特にGoogleが主導するGoのような大規模プロジェクトにおける貢献者管理のプロセスがあります。新しい貢献者がコードベースに貢献する際、プロジェクトのライセンスと知的財産権を保護するために、Contributor License Agreement (CLA) への署名が求められることが一般的です。

Pawel Szczur氏がGoプロジェクトに貢献するにあたり、GoogleのCLAに同意したため、その事実を公式に記録するためにCONTRIBUTORSファイルに彼の名前が追加されました。これにより、プロジェクト側は彼の貢献を受け入れる法的根拠を確保し、将来的なライセンス問題を防ぐことができます。

前提知識の解説

CONTRIBUTORS ファイルとは

多くのオープンソースプロジェクトでは、プロジェクトに貢献した人々の名前をリストアップしたCONTRIBUTORSAUTHORS、または類似のファイルが存在します。このファイルは、プロジェクトの歴史と、その成功に寄与した個人を認識するためのものです。法的な意味合いを持つこともありますが、多くの場合、感謝の意を示す目的で維持されます。

Contributor License Agreement (CLA) とは

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

  1. ライセンスの明確化: 貢献されたコードがプロジェクトのライセンス(例: BSDライセンス、MITライセンスなど)の下で配布されることを明確にします。これにより、プロジェクトの利用者は、貢献されたコードについてもプロジェクトのライセンスに従って利用できることが保証されます。
  2. 知的財産権の保護: 貢献者が自身の貢献に対する著作権を保持しつつ、プロジェクトの所有者に対して、その貢献をプロジェクトの目的のために利用、変更、再配布する広範な権利を付与します。これにより、プロジェクトの所有者は、将来的にライセンスに関する紛争が発生するリスクを低減し、プロジェクトの継続的な開発と配布を保証できます。
  3. 再ライセンスの可能性: 一部のCLAでは、プロジェクトの所有者が将来的にプロジェクトのライセンスを変更する権利を保持することがあります。これは、プロジェクトの長期的な持続可能性を確保するために重要となる場合があります。

Googleのような大企業が主導するプロジェクトでは、法務部門がCLAの遵守を厳格に管理しており、貢献者がCLAに署名しない限り、その貢献を受け入れない方針を取ることが一般的です。これは、企業が自社の製品やサービスにオープンソースコンポーネントを組み込む際に、法的なリスクを最小限に抑えるためです。

Goプロジェクトにおける貢献プロセス

Goプロジェクトへの貢献は、通常、以下のステップを踏みます。

  1. Issueの特定または提案: 既存のバグを修正するか、新機能を追加するかを決定します。
  2. コードの変更: 提案された変更を実装します。
  3. テストの追加/更新: 変更が正しく機能し、既存の機能に影響を与えないことを確認するためのテストを作成または更新します。
  4. CLAへの署名: 初めての貢献の場合、Google CLAに署名します。これは通常、オンラインで行われます。
  5. 変更リスト (Change List: CL) の作成: git-clツールなどを使用して、変更をレビューシステム(GerritベースのGo Code Review)にアップロードします。
  6. レビューと承認: 他のGo開発者(コミッター)が変更をレビューし、フィードバックを提供します。必要に応じて修正を行い、最終的に承認を得ます。
  7. コミット: 承認された変更は、プロジェクトのメインリポジトリにコミットされます。

このコミットは、上記のステップ4と7の間、またはステップ7の直後に、CLAへの同意が確認された後にCONTRIBUTORSファイルが更新されたことを示しています。

技術的詳細

このコミットは、GoプロジェクトのルートディレクトリにあるCONTRIBUTORSというプレーンテキストファイルに対する非常に単純な変更です。具体的には、ファイルに1行のテキストが追加されています。

  • ファイル: CONTRIBUTORS
  • 変更の種類: 1行の追加
  • 追加された内容: Pawel Szczur <filemon@google.com>

この変更は、Gitの差分(diff)によって明確に示されており、ファイルの特定の位置(272行目)に新しい行が挿入されたことがわかります。ファイルのインデックス(44f07136acから720c434af2への変更)とモード(100644)は、ファイルの内容が変更されたことを示しています。

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

diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 44f07136ac..720c434af2 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -272,6 +272,7 @@ Patrick Gavlin <pgavlin@gmail.com>
 Patrick Higgins <patrick.allen.higgins@gmail.com>
 Patrick Mylund Nielsen <patrick@patrickmn.com>
 Patrick Smith <pat42smith@gmail.com>
+Pawel Szczur <filemon@google.com>
 Paul Borman <borman@google.com>
 Paul Chang <paulchang@google.com>
 Paul Lalonde <paul.a.lalonde@gmail.com>

コアとなるコードの解説

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

  • --- a/CONTRIBUTORS+++ b/CONTRIBUTORS は、それぞれ変更前のファイル(a)と変更後のファイル(b)を示します。
  • @@ -272,6 +272,7 @@ は、変更がファイルの272行目から始まり、変更前は6行、変更後は7行のコンテキストがあることを示しています。
  • 行頭に+が付いている行 +Pawel Szczur <filemon@google.com> が、新たに追加された行です。これは、Pawel Szczur氏の名前とメールアドレスがCONTRIBUTORSファイルに追記されたことを意味します。
  • その他の行は、変更のコンテキストとして表示されており、変更されていない既存の行です。

この変更は、Goプロジェクトの貢献者リストにPawel Szczur氏が正式に追加されたことを記録するものであり、彼の今後の貢献がプロジェクトによって認識され、適切にライセンスされるための手続きの一部です。

関連リンク

参考にした情報源リンク

  • Gitの差分表示に関する一般的な情報
  • オープンソースプロジェクトにおけるCLAの役割に関する一般的な情報
  • Goプロジェクトの公式ドキュメントおよび貢献ガイドライン (Go公式サイト)
  • GoogleのCLAに関する情報 (Google Developersサイト)