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

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

このコミットは、GoプロジェクトのCONTRIBUTORSファイルに新しい貢献者であるKevin Klues氏を追加するものです。これは、Goプロジェクトへの貢献を開始する際に必要となる、Google Contributor License Agreement (CLA) の署名が完了したことを示すメタデータ変更です。

コミット

commit 188ddaa4872f70e2859331655442fca3bfd5128a
Author: Brad Fitzpatrick <bradfitz@golang.org>
Date:   Wed Jul 24 16:39:38 2013 -0700

    C: add Kevin Klues (Google CLA)
    
    R=golang-dev, adg
    CC=golang-dev
    https://golang.org/cl/11797043
---
 CONTRIBUTORS | 1 +
 1 file changed, 1 insertion(+)

diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index a3f7db4b20..3c6ed558f2 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -274,6 +274,7 @@ Ken Friedenbach <kenliz@cruzio.com>
 Ken Rockot <ken@oz.gs> <ken.rockot@gmail.com>
 Ken Thompson <ken@golang.org>
 Kevin Ballard <kevin@sb.org>
+Kevin Klues <klueska@gmail.com> <klueska@google.com>
 Kirklin McDonald <kirklin.mcdonald@gmail.com>
 Kyle Consalus <consalus@gmail.com>
 Kyle Lemons <kyle@kylelemons.net> <kevlar@google.com>

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

https://github.com/golang/go/commit/188ddaa4872f70e2859331655442fca3bfd5128a

元コミット内容

このコミットの目的は、Goプロジェクトの貢献者リストにKevin Klues氏を追加することです。コミットメッセージ「C: add Kevin Klues (Google CLA)」が示すように、これはKevin Klues氏がGoogle Contributor License Agreement (CLA) に署名したことを反映したものです。これにより、彼がGoプロジェクトにコードやドキュメントなどの貢献を行う法的準備が整ったことを意味します。

変更の背景

オープンソースプロジェクト、特にGoogleが主導するGoのようなプロジェクトでは、外部からの貢献を受け入れる際に、貢献者がContributor License Agreement (CLA) に署名することが一般的です。CLAは、貢献されたコードの著作権がプロジェクトの所有者(この場合はGoogle)に適切に帰属し、プロジェクトがそのコードを自由に利用、配布、ライセンスすることを保証するための法的な合意です。

このコミットは、Kevin Klues氏がGoプロジェクトに貢献するための前提条件であるCLAへの署名が完了したことを示すものです。CONTRIBUTORSファイルは、CLAに署名し、プロジェクトに貢献する資格のある個人のリストを管理するために使用されます。このファイルに名前が追加されることで、Kevin Klues氏が正式にGoプロジェクトの貢献者コミュニティの一員として認識されることになります。

前提知識の解説

Contributor License Agreement (CLA)

Contributor License Agreement (CLA) は、オープンソースプロジェクトにおいて、外部の貢献者からコードやその他の知的財産を受け入れる際に用いられる法的な文書です。CLAの主な目的は以下の通りです。

  1. 著作権の明確化: 貢献されたコードの著作権が誰に帰属するかを明確にします。多くの場合、CLAは貢献者がその著作権をプロジェクトの所有者(企業や財団など)に譲渡するか、またはプロジェクトの所有者がそのコードを特定のライセンス(例: Apache License, MIT License)の下で利用する権利を付与することを許可します。
  2. ライセンスの保証: プロジェクトの所有者が、貢献されたコードをプロジェクトのライセンス条項に従って自由に利用、配布、サブライセンスできることを保証します。これにより、将来的なライセンスに関する紛争や不確実性を防ぎます。
  3. 法的保護: プロジェクトの所有者が、貢献されたコードに起因する潜在的な法的問題(例: 著作権侵害の主張)から保護されるための条項を含みます。

Googleのような大企業が主導するオープンソースプロジェクトでは、CLAの利用は非常に一般的です。これは、プロジェクトの長期的な健全性と法的安定性を確保するために不可欠であると考えられています。CLAに署名することで、貢献者は自身の貢献がプロジェクトのライセンスモデルと整合していることを確認し、プロジェクト側は安心して貢献を受け入れることができます。

CONTRIBUTORSファイル

多くのオープンソースプロジェクトには、プロジェクトに貢献した個人や組織のリストを記載したファイルが存在します。GoプロジェクトにおけるCONTRIBUTORSファイルもその一つです。このファイルは通常、CLAに署名し、プロジェクトに貢献する資格を持つ個人の名前と連絡先情報(通常はメールアドレス)を記録します。

このファイルは、プロジェクトの透明性を高め、貢献者への感謝を示す役割も果たします。また、プロジェクトの管理者が、誰がCLAに署名済みであるかを迅速に確認するための参照点としても機能します。

技術的詳細

このコミットは、Goランタイムの動作や機能に直接的な変更を加えるものではありません。これは純粋にプロジェクトのメタデータ、具体的には貢献者リストを更新するものです。

変更は、CONTRIBUTORSというテキストファイルに対して行われています。このファイルは、Goのソースコードリポジトリのルートディレクトリに存在し、Goプロジェクトに貢献する資格を持つ個人の名前とメールアドレスがアルファベット順にリストされています。

コミットの技術的な側面は、Gitの差分(diff)によって示されるように、単一行の追加に限定されます。既存のファイルに新しい行が挿入され、新しい貢献者の情報が追加されています。これは、ソフトウェア開発におけるバージョン管理システム(Git)の基本的な操作の一つであり、ファイルの変更履歴を追跡する上で重要な記録となります。

この変更は、Goのビルドプロセスや実行時の挙動には一切影響を与えません。しかし、プロジェクトのガバナンスと法的な側面においては重要な意味を持ちます。

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

変更はCONTRIBUTORSファイルに対して行われました。具体的には、以下の1行が追加されています。

--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -274,6 +274,7 @@ Ken Friedenbach <kenliz@cruzio.com>
 Ken Rockot <ken@oz.gs> <ken.oz.gs>
 Ken Thompson <ken@golang.org>
 Kevin Ballard <kevin@sb.org>
+Kevin Klues <klueska@gmail.com> <klueska@google.com>
 Kirklin McDonald <kirklin.mcdonald@gmail.com>
 Kyle Consalus <consalus@gmail.com>
 Kyle Lemons <kyle@kylelemons.net> <kevlar@google.com>

この差分は、Kevin Ballard氏のエントリの直後に、Kevin Klues氏のエントリが追加されたことを示しています。

コアとなるコードの解説

追加された行は以下の通りです。

Kevin Klues <klueska@gmail.com> <klueska@google.com>

この行は、新しい貢献者であるKevin Klues氏の情報を表しています。

  • Kevin Klues: 貢献者の氏名です。
  • <klueska@gmail.com>: Kevin Klues氏の個人メールアドレスです。これは、彼がGoプロジェクトに貢献する際に使用する可能性のある連絡先の一つです。
  • <klueska@google.com>: Kevin Klues氏のGoogle社内のメールアドレスです。これは、彼がGoogleの従業員としてGoプロジェクトに貢献していることを示唆しています。Googleの従業員がオープンソースプロジェクトに貢献する場合、通常は企業CLA(Corporate CLA)を通じて行われますが、個人のCLAも適用される場合があります。この両方のメールアドレスが記載されていることで、彼の貢献が個人とGoogleの両方の側面から認識されていることを示しています。

この行の追加により、Goプロジェクトの公式な貢献者リストにKevin Klues氏の名前が加わり、彼がGoプロジェクトに貢献する法的枠組みが整ったことが示されます。

関連リンク

参考にした情報源リンク