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

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

このコミットは、GoプロジェクトのCONTRIBUTORSファイルに新しい貢献者を追加するものです。具体的には、Josh Hoak氏がGoogle CLA(Contributor License Agreement)に署名したことを記録しています。

コミット

commit e49bda659f8aade2e76f429deab33ca7f3f8ee63
Author: David Symonds <dsymonds@golang.org>
Date:   Wed Jun 12 14:05:13 2013 +1000

    C: add Josh Hoak (Google CLA).
    
    R=golang-dev, rsc
    CC=golang-dev, jhoak
    https://golang.org/cl/10217043

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

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

元コミット内容

このコミットの元の内容は、CONTRIBUTORSファイルにJosh Hoak氏の名前とメールアドレスを追加することです。コミットメッセージには「C: add Josh Hoak (Google CLA).」とあり、Josh Hoak氏がGoogleのContributor License Agreementに署名したことを示しています。

変更の背景

オープンソースプロジェクトにおいて、外部からの貢献(コード、ドキュメント、バグ報告など)を受け入れる際、プロジェクトのライセンスと整合性を保つために、貢献者ライセンス同意書(CLA: Contributor License Agreement)の署名を求めることが一般的です。Googleが主導するGoプロジェクトも例外ではありません。

このコミットの背景には、Josh Hoak氏がGoプロジェクトに貢献する意向があり、その貢献を受け入れるために必要な手続きとして、Google CLAへの署名が完了したことがあります。CLAへの署名が完了した貢献者は、プロジェクトのCONTRIBUTORSファイルに名前が追加されるのが慣例です。これにより、プロジェクトの公式な貢献者として認識され、将来的な貢献がスムーズに行えるようになります。

前提知識の解説

貢献者ライセンス同意書 (CLA: Contributor License Agreement)

CLAは、オープンソースプロジェクトにコードやその他の著作物を提供する際に、貢献者とプロジェクトの所有者(または管理団体)の間で締結される法的な合意書です。CLAの主な目的は以下の通りです。

  1. ライセンスの明確化: 貢献されたコードがプロジェクトのライセンス(例: BSDライセンス、MITライセンスなど)の下で配布されることを明確にします。これにより、プロジェクトの利用者は、貢献されたコードについてもプロジェクトのライセンスに従って利用できることが保証されます。
  2. 著作権の帰属: 貢献されたコードの著作権が誰に帰属するかを定めます。多くの場合、CLAは貢献者が著作権を保持しつつ、プロジェクトの所有者に対して、そのコードをプロジェクトのライセンスの下で利用、配布、変更する永続的で取り消し不能な権利を付与する形式を取ります。これにより、プロジェクトの所有者は、将来的なライセンス変更や訴訟リスクからプロジェクトを保護することができます。
  3. 法的な保護: プロジェクトの所有者が、貢献されたコードに関する著作権侵害やその他の法的な問題から保護されるための条項が含まれることがあります。

Google CLA

Googleは、多くのオープンソースプロジェクトを主導しており、それらのプロジェクトへの貢献者に対してGoogle CLAへの署名を求めています。Google CLAは、貢献者が自身の著作権を保持しつつ、Googleに対して、貢献されたコードをGoogleのオープンソースプロジェクトのライセンスの下で利用、配布、変更する権利を付与するものです。これにより、Googleはプロジェクトの法的な健全性を維持し、将来にわたってプロジェクトを自由に発展させることができます。

CONTRIBUTORSファイル

多くのオープンソースプロジェクトには、プロジェクトに貢献した人々の名前をリストアップしたCONTRIBUTORS(またはAUTHORSCREDITSなど)ファイルが存在します。このファイルは、プロジェクトへの貢献を公式に認め、感謝を示す役割を果たします。CLAへの署名が完了した貢献者は、通常このファイルに追加されます。

技術的詳細

このコミット自体は、Go言語のランタイムやコンパイラといったコアな技術的側面には直接関係しません。これは、プロジェクトの管理および法的な側面に関する変更です。

CLAのプロセスは、プロジェクトのガバナンスモデルの一部であり、以下の点で重要です。

  • 知的財産権の管理: オープンソースプロジェクトは、多数の貢献者からのコードが集まって構成されます。各貢献者からのコードが、プロジェクトのライセンスと整合性を持つ形で提供されることを保証することは、プロジェクトの長期的な持続可能性にとって不可欠です。CLAは、この知的財産権の管理を簡素化し、法的な不確実性を排除する役割を果たします。
  • プロジェクトの信頼性: 適切なCLAプロセスを持つことは、プロジェクトが法的に健全であり、将来的なライセンス問題や著作権紛争のリスクが低いことを示します。これは、企業や大規模な組織がプロジェクトを採用する際の重要な判断基準となります。
  • 自動化されたプロセス: 大規模なプロジェクトでは、CLAの署名プロセスが自動化されていることがよくあります。貢献者がオンラインでCLAに署名し、その情報がデータベースに記録され、その後、自動的にCONTRIBUTORSファイルが更新されるようなシステムが構築されている場合があります。このコミットも、そのような自動化されたプロセスの一部である可能性があります。

このコミットは、Goプロジェクトが健全なオープンソースエコシステムを維持するために、法的な側面にも配慮していることを示しています。

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

このコミットによる変更は、CONTRIBUTORSファイルのみです。

diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 074e4150d7..a3712fad5d 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -248,6 +248,7 @@ Jos Visser <josv@google.com>
 Jose Luis Vázquez González <josvazg@gmail.com>
 Joseph Bonneau <jcb@google.com>
 Josh Goebel <dreamer3@gmail.com>
+Josh Hoak <jhoak@google.com>
 Josh Holland <jrh@joshh.co.uk>
 Jukka-Pekka Kekkonen <karatepekka@gmail.com>
 Julian Phillips <julian@quantumfyre.co.uk>

コアとなるコードの解説

変更箇所は、CONTRIBUTORSファイルの248行目の後に、以下の行が追加されているだけです。

+Josh Hoak <jhoak@google.com>

これは、Josh Hoak氏の名前とGoogleのメールアドレスを、既存の貢献者リストにアルファベット順で追加したものです。この変更自体は、Go言語の機能やパフォーマンスに影響を与えるものではなく、プロジェクトの管理上の記録です。

関連リンク

参考にした情報源リンク