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

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

このコミットは、Go言語プロジェクトのコントリビューターリストに新しいエントリを追加するものです。具体的には、Michael Matloob氏がGoogle CLA(Contributor License Agreement)に署名したことを反映し、CONTRIBUTORSファイルにその名前とメールアドレスが追加されています。

コミット

commit 208c83096a19154cb5012f8121c1f6bde0772c40
Author: Robert Griesemer <gri@golang.org>
Date:   Thu Feb 14 11:25:33 2013 -0800

    C: add Michael Matloob (Google CLA)
    
    R=golang-dev, bradfitz
    CC=golang-dev
    https://golang.org/cl/7343043

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

https://github.com/golang/go/commit/208c83096a19154cb5012f8121c1f6bde0772c40

元コミット内容

このコミットの目的は、Michael Matloob氏をGoプロジェクトのコントリビューターとして追加することです。コミットメッセージには、彼がGoogle CLA(Contributor License Agreement)に署名済みであることが明記されています。これは、Goプロジェクトへの貢献が正式に認められるための重要なステップです。

変更の背景

オープンソースプロジェクト、特にGoogleが主導するGoのような大規模なプロジェクトでは、外部からのコード貢献を受け入れる際に、法的な側面を明確にするためにContributor License Agreement (CLA) の署名を求めることが一般的です。CLAは、貢献されたコードの著作権がプロジェクトの所有者(この場合はGoogle)に適切にライセンスされることを保証し、将来的なライセンス問題を防ぐ役割を果たします。

Michael Matloob氏がGoプロジェクトに貢献するにあたり、Google CLAに署名したため、その貢献が公式に認められるようにCONTRIBUTORSファイルに彼の名前を追加する必要がありました。このコミットは、その管理的なプロセスの一環として行われました。

前提知識の解説

Contributor License Agreement (CLA)

CLA(Contributor License Agreement)は、個人または企業がオープンソースプロジェクトにコードやドキュメントなどの貢献を行う際に、その貢献物の著作権をプロジェクトの所有者(または指定された団体)にライセンス供与することに同意する法的な文書です。

  • 目的:
    • 著作権の明確化: 貢献されたコードの著作権が誰に帰属し、どのように利用されるかを明確にします。これにより、将来的な著作権侵害の訴訟リスクを軽減します。
    • ライセンスの統一性: プロジェクト全体のコードベースが単一のライセンス(例: Apache License 2.0)の下で配布されることを保証し、ライセンスの混在による複雑さを回避します。
    • プロジェクトの持続性: プロジェクトの所有者が貢献されたコードを自由に利用、変更、再配布できる権利を持つことで、プロジェクトの長期的な維持と発展を保証します。

Googleが主導する多くのオープンソースプロジェクト(Go、Kubernetesなど)では、貢献者にCLAの署名を義務付けています。これにより、Googleは貢献されたコードを自社の製品やサービスに組み込む際の法的な障壁を取り除き、プロジェクトの健全なエコシステムを維持しています。

CONTRIBUTORS ファイル

多くのオープンソースプロジェクトでは、プロジェクトに貢献した人々の名前をリストアップしたCONTRIBUTORS(またはAUTHORSCREDITSなど)というファイルが存在します。このファイルは、以下のような目的で利用されます。

  • 貢献者への謝意: プロジェクトの成功に貢献した人々を公式に認識し、感謝の意を表します。
  • 透明性: プロジェクトが誰によって支えられているかを示すことで、コミュニティの透明性を高めます。
  • 法的な記録: CLAと合わせて、誰がどの時点でプロジェクトに貢献したかの記録の一部として機能することもあります。

このファイルは通常、プレーンテキスト形式で、各行に貢献者の名前と、場合によってはメールアドレスや所属が記載されます。

技術的詳細

このコミットの技術的な変更は非常にシンプルで、GoプロジェクトのリポジトリのルートにあるCONTRIBUTORSというファイルに新しい行を追加するだけです。

変更前後のCONTRIBUTORSファイルの内容を比較すると、以下のようになります。

  • 変更対象ファイル: CONTRIBUTORS
  • 変更内容: 272行目の後に、Michael Matloob <matloob@google.com>という行が1行追加されています。

これは、Gitの差分表示で+記号で示される「追加」の変更です。ファイルのインデックス(index 6b23c1d8eb..64ec4f2ece 100644)が変更されているのは、ファイルの内容が変更されたためです。100644は、ファイルが通常のファイルであり、実行可能ではないことを示すパーミッションモードです。

この変更は、Goプロジェクトのビルドプロセスやランタイム動作には直接的な影響を与えません。これは純粋にプロジェクトの管理と法的な記録に関連する変更です。

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

diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 6b23c1d8eb..64ec4f2ece 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -272,6 +272,7 @@ Michael Elkins <michael.elkins@gmail.com>
 Michael Gehring <mg@ebfe.org>
 Michael Hoisie <hoisie@gmail.com>
 Michael Lewis <mikelikespie@gmail.com>
+Michael Matloob <matloob@google.com>
 Michael Shields <mshields@google.com>
 Michael Stapelberg <michael@stapelberg.de> <mstplbrg@googlemail.com>
 Michael T. Jones <mtj@google.com> <michael.jones@gmail.com>

コアとなるコードの解説

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

  • --- a/CONTRIBUTORS+++ b/CONTRIBUTORS は、それぞれ変更前のファイルと変更後のファイルを示しています。
  • @@ -272,6 +272,7 @@ は、変更がファイルの272行目から始まり、変更前は6行、変更後は7行のコンテキストが表示されていることを示します。
  • +Michael Matloob <matloob@google.com> の行が追加された唯一の変更点です。この行は、Michael Matloob氏の名前とGoogleのメールアドレスを、既存のコントリビューターリストの適切な位置(アルファベット順)に挿入しています。

この変更は、Goプロジェクトの公式なコントリビューターリストにMichael Matloob氏が追加されたことを意味し、彼がGoプロジェクトに貢献する準備が整ったことを示しています。

関連リンク

参考にした情報源リンク