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

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

このコミットは、GoプロジェクトのCONTRIBUTORSファイルに新しい貢献者であるTodd Wang氏を追加するものです。これは、Goプロジェクトへの貢献者が正式に認識され、その貢献がプロジェクトのライセンス要件に準拠していることを示すための、標準的な手続きの一部です。

コミット

commit efdbf0811c86f32eb029ff3f2affdf63337ed2fa
Author: David Symonds <dsymonds@golang.org>
Date:   Wed Aug 21 14:02:58 2013 +1000

    C: add Todd Wang (Google CLA).
    
    R=r, adg
    CC=golang-dev, toddwang
    https://golang.org/cl/13149043

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

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

元コミット内容

このコミットの目的は、GoプロジェクトのCONTRIBUTORSファイルに「Todd Wang (Google CLA)」というエントリを追加することです。これは、Todd Wang氏がGoプロジェクトへの貢献を開始するにあたり、GoogleのContributor License Agreement (CLA) に署名したことを示しています。

変更の背景

オープンソースプロジェクト、特にGoogleが主導するGoのような大規模なプロジェクトでは、貢献されたコードの知的財産権(IP)とライセンスの明確性を確保することが非常に重要です。このコミットは、新しい貢献者がプロジェクトにコードを提出する前に、必要な法的合意(この場合はGoogle CLA)を完了したことを公式に記録するための一環として行われました。

CONTRIBUTORSファイルは、プロジェクトに貢献した個人や団体をリストアップする役割を果たします。このファイルに名前が追加されることは、その貢献者がプロジェクトの貢献ガイドラインと法的要件を満たしていることの証となります。これにより、プロジェクトは将来的なライセンス問題や知的財産権に関する紛争から保護されます。

前提知識の解説

Contributor License Agreement (CLA)

CLA(Contributor License Agreement)は、オープンソースプロジェクトにコードを貢献する個人または団体と、プロジェクトの所有者(または管理団体)との間で締結される法的文書です。CLAの主な目的は以下の通りです。

  1. 知的財産権の明確化: 貢献されたコードの著作権が誰に帰属するか、プロジェクトがそのコードをどのように利用できるかを明確にします。これにより、プロジェクトは貢献されたコードを安心して配布、変更、再ライセンスすることができます。
  2. ライセンスの統一性: プロジェクト全体のコードベースが単一のライセンス(例: BSDライセンス、MITライセンスなど)の下で提供されることを保証します。これにより、異なるライセンスのコードが混在することによる複雑さを回避し、利用者がプロジェクトのコードを容易に利用できるようにします。
  3. 法的保護: 貢献されたコードが第三者の著作権を侵害していないことを貢献者が保証し、万が一侵害があった場合にプロジェクトを保護するための条項が含まれることがあります。

Google CLA

Google CLAは、Googleが管理するオープンソースプロジェクト(Go、Android、Chromiumなど)に貢献する際に署名が求められる特定のCLAです。Google CLAには、個人用と法人用の2種類があります。署名することで、貢献者はGoogleに対して、その貢献物を使用、複製、変更、配布、公開、実行、表示するための非独占的、永続的、取り消し不能、無償、全世界的なライセンスを付与します。これにより、Googleは貢献されたコードをGoプロジェクトのライセンス(BSDライセンス)の下で自由に利用・配布できるようになります。

CONTRIBUTORS ファイル

多くのオープンソースプロジェクトでは、CONTRIBUTORSAUTHORS、または類似の名前のファイルが存在します。このファイルは、プロジェクトにコード、ドキュメント、その他の形で貢献した個人や団体をリストアップするために使用されます。GoプロジェクトのCONTRIBUTORSファイルは、特にGoogle CLAに署名し、正式に貢献者として認められた個人を記録する役割を担っています。このファイルは、プロジェクトの透明性を高め、貢献者への適切なクレジットを付与する目的もあります。

Goプロジェクトへの貢献プロセス

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

  1. 問題の特定または機能の提案: バグ報告、機能リクエストなど。
  2. コードの記述: 提案された変更を実装。
  3. テストの記述: 変更が正しく機能し、既存の機能を壊さないことを確認するテストを作成。
  4. CLAへの署名: 初めての貢献の場合、Google CLAに署名。
  5. コードレビュー: 変更をGoチームに提出し、レビューを受ける。
  6. コミット: レビューが承認されると、変更がプロジェクトのリポジトリにコミットされる。この際、CONTRIBUTORSファイルへの追加が行われることがある。

技術的詳細

このコミットは、GoプロジェクトのルートディレクトリにあるCONTRIBUTORSというテキストファイルを変更しています。このファイルは、プロジェクトのビルドシステムやランタイムに直接影響を与えるコードではありませんが、プロジェクトのガバナンスと法的な側面において重要な役割を果たします。

CONTRIBUTORSファイルは、単なるプレーンテキストファイルであり、各行に貢献者の名前と、場合によっては連絡先情報や関連するCLAのステータスが記載されています。このファイルへの変更は、Gitの通常のバージョン管理プロセスを通じて行われ、他のコード変更と同様にレビューと承認の対象となります。

Todd Wang氏の名前がこのファイルに追加されたことは、彼がGoプロジェクトへの貢献に必要な法的要件(Google CLAへの署名)を満たしたことを意味します。これにより、彼が今後Goプロジェクトに提出するコードは、Goのライセンスの下で適切に利用されることが保証されます。

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

diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index b92726a531..0995911e36 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -436,6 +436,7 @@ Thomas Alan Copeland <talan.copeland@gmail.com>
 Thomas Kappler <tkappler@gmail.com>
 Timo Savola <timo.savola@gmail.com>
 Tobias Columbus <tobias.columbus@gmail.com> <tobias.columbus@googlemail.com>
+Todd Wang <toddwang@gmail.com>
 Tom Szymanski <tgs@google.com>
 Tor Andersson <tor.andersson@gmail.com>
 Trevor Strohman <trevor.strohman@gmail.com>

コアとなるコードの解説

上記の差分は、CONTRIBUTORSファイルに新しい行が1行追加されたことを示しています。

+Todd Wang <toddwang@gmail.com>

この行は、Todd Wang氏の名前とメールアドレスをファイルに追加しています。この変更自体は非常にシンプルですが、その背後にはTodd Wang氏がGoプロジェクトへの貢献者として正式に認められ、必要な法的合意(Google CLA)を完了したという重要な意味合いがあります。

このファイルはアルファベット順にソートされており、新しいエントリもその規則に従って適切な位置に挿入されています。このような変更は、プロジェクトの健全な運用と、貢献者コミュニティの成長を反映するものです。

関連リンク

参考にした情報源リンク