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

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

このコミットは、GoプロジェクトのCONTRIBUTORSファイルに新しい貢献者であるDave Borowitz氏を追加するものです。これは、彼がGoogleのContributor License Agreement (CLA)に署名したことを受けて行われました。

コミット

  • コミットハッシュ: c27a7dbf78e976a4655478711da03537a38a206d
  • Author: Brad Fitzpatrick bradfitz@golang.org
  • Date: Wed Aug 22 09:01:30 2012 -0700
  • コミットメッセージ:
    CONTRIBUTORS: Add Dave Borowitz (Google CLA)
    
    R=golang-dev, r
    CC=golang-dev
    https://golang.org/cl/6484046
    

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

https://github.com/golang/go/commit/c27a7dbf78e976a4655478711da03537a38a206d

元コミット内容

CONTRIBUTORS: Add Dave Borowitz (Google CLA)

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

変更の背景

オープンソースプロジェクト、特にGoogleが管理するGoのような大規模プロジェクトでは、貢献者からのコードがプロジェクトに統合される前に、法的な側面を明確にすることが非常に重要です。このコミットは、Dave Borowitz氏がGoプロジェクトに貢献する準備が整ったことを示しています。そのために、彼はGoogleのContributor License Agreement (CLA)に署名しました。CLAは、貢献されたコードの著作権とライセンスに関する権利を明確にし、プロジェクトがそのコードを自由に利用・配布できるようにするための法的な合意です。この合意が完了したため、彼の名前が正式な貢献者リストであるCONTRIBUTORSファイルに追加されました。

前提知識の解説

Contributor License Agreement (CLA)

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

  1. 著作権の明確化: 貢献されたコードの著作権が誰に帰属するかを明確にします。多くの場合、貢献者は自身の著作権を保持しつつ、プロジェクトの所有者に対して、そのコードをプロジェクトのライセンスの下で利用、配布、変更する永続的で取り消し不能な権利を付与します。
  2. ライセンスの保証: 貢献されたコードが、プロジェクトのオープンソースライセンス(例: Apache License, MIT Licenseなど)と互換性があることを保証します。これにより、プロジェクト全体が単一のライセンスの下で配布されることが可能になります。
  3. 法的な保護: プロジェクトの所有者とユーザーを、将来的な著作権侵害や特許侵害の主張から保護します。CLAは、貢献者が貢献するコードに対する必要な権利をすべて持っていることを確認します。

Google CLA

Googleは、Goを含む多くのオープンソースプロジェクトでCLAを要求しています。GoogleのCLAには主に2つのタイプがあります。

  • Individual CLA (ICLA): 個人が自身の能力で貢献する場合に署名します。これは通常、オンラインで簡単に完了できます。
  • Corporate CLA (CCLA): 貢献が企業や組織を代表して行われる場合、または貢献されるコードの著作権が企業に帰属する場合に必要です。この場合、組織の権限を持つ署名者がCCLAに署名し、その後、その組織から貢献する個人を承認された貢献者リストに追加する必要があります。

Goプロジェクトへの貢献者は、コードを提出する前に有効なCLAを締結している必要があります。CLAは一度署名すれば、Googleのすべてのオープンソースプロジェクトに適用されます。

技術的詳細

Goプロジェクトでは、貢献者のリストをCONTRIBUTORSというテキストファイルで管理しています。このファイルは、プロジェクトにコードを貢献したすべての個人または組織の名前と連絡先情報(通常はメールアドレス)を記録しています。

新しい貢献者がプロジェクトに参加し、必要なCLAを締結すると、その貢献者の名前がこのCONTRIBUTORSファイルに追加されます。このプロセスは、プロジェクトの透明性を保ち、誰がプロジェクトに貢献しているかを明確にするために重要です。

このコミットでは、CONTRIBUTORSファイルに新しい行を追加することで、Dave Borowitz氏が正式な貢献者として認識されたことを示しています。これは、Goプロジェクトのガバナンスと貢献者管理プロセスの一部です。

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

diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 4dfd708b5a..b8a2967f8e 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -106,6 +106,7 @@ Daniel Morsing <daniel.morsing@gmail.com>
 Daniel Nadasi <dnadasi@google.com>
 Daniel Theophanes <kardianos@gmail.com>
 Darren Elwood <darren@textnode.com>
+Dave Borowitz <dborowitz@google.com>
 Dave Cheney <dave@cheney.net>
 Dave Grijalva <dgrijalva@ngmoco.com>
 David Anderson <danderson@google.com>

コアとなるコードの解説

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

  • --- a/CONTRIBUTORS は変更前のファイルを示します。
  • +++ b/CONTRIBUTORS は変更後のファイルを示します。
  • @@ -106,6 +106,7 @@ は、変更がファイルの106行目から始まり、変更前は6行、変更後は7行であることを示しています。
  • +Dave Borowitz <dborowitz@google.com> の行が追加されています。これは、Dave Borowitz氏の名前とGoogleのメールアドレスが、既存の貢献者リストの適切な位置に挿入されたことを意味します。

この変更は、単にテキストファイルに1行追加するだけのシンプルなものですが、Goプロジェクトにおける貢献者の正式な承認と記録という重要な意味を持っています。

関連リンク

参考にした情報源リンク