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

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

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

コミット

commit 43ee80997a5d52360fad605f01b9753e4056bdc2
Author: Brad Fitzpatrick <bradfitz@golang.org>
Date:   Thu Mar 7 12:46:44 2013 -0800

    C: add Keith Randall (Google CLA)
    
    R=golang-dev, iant
    CC=golang-dev
    https://golang.org/cl/7595043

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

https://github.com/golang/go/commit/43ee80997a5d52360fad605f01b9753e4056bdc2

元コミット内容

C: add Keith Randall (Google CLA)

R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/7595043

変更の背景

このコミットの背景には、Go言語プロジェクトへの新しい貢献者の参加があります。オープンソースプロジェクト、特にGoogleのような大企業が主導するプロジェクトでは、コードの貢献を受け入れる前に、貢献者がContributor License Agreement (CLA) に署名することが一般的です。CLAは、プロジェクトが貢献されたコードを合法的に使用、配布、ライセンスすることを保証するための法的な合意です。

Keith Randall氏がGoプロジェクトに貢献を開始するにあたり、GoogleのCLAに署名したため、その事実をプロジェクトの公式な貢献者リストであるCONTRIBUTORSファイルに記録する必要がありました。これにより、プロジェクトの透明性が保たれ、誰がどのような形でプロジェクトに貢献しているかが明確になります。

前提知識の解説

CONTRIBUTORSファイルとは

CONTRIBUTORSファイルは、多くのオープンソースプロジェクトで見られるテキストファイルで、そのプロジェクトにコード、ドキュメント、その他の形で貢献した人々の名前と連絡先情報(通常はメールアドレス)をリストアップしたものです。このファイルは、プロジェクトの歴史とコミュニティの成長を記録する役割を果たします。また、プロジェクトのライセンスや著作権表示において、貢献者全員の権利を尊重するために参照されることもあります。

Contributor License Agreement (CLA) とは

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

  1. ライセンスの明確化: 貢献されたコードがプロジェクトのライセンス(例: Apache License, MIT License)の下で配布されることを明確にします。これにより、プロジェクトの利用者は、貢献されたコードを安心して使用できます。
  2. 著作権の移転または許諾: 貢献者が自身のコードの著作権をプロジェクトの所有者に移転するか、またはプロジェクトがそのコードを特定の目的(例: 再ライセンス、商用利用)で使用することを許諾するものです。これにより、プロジェクトの管理者は、将来的にプロジェクトのライセンスを変更したり、コードを他のプロジェクトに統合したりする際に、法的な問題が発生するのを防ぐことができます。
  3. 特許の保護: 一部のCLAには、貢献者が自身の特許をプロジェクトに対して非主張的にライセンスする条項が含まれることがあります。これは、貢献されたコードが第三者の特許を侵害していると主張されるリスクを軽減するために重要です。

Googleのような企業が主導するプロジェクトでは、法務部門がCLAの遵守を厳格に管理しており、これによりプロジェクトの法的健全性が保たれています。

技術的詳細

このコミットは、Go言語リポジトリ内のCONTRIBUTORSという単一のテキストファイルに対する変更です。技術的には非常に単純な変更であり、ファイルの末尾近くに新しい行が1行追加されただけです。

変更されたファイル: CONTRIBUTORS 変更の種類: 1行の追加

追加された行は以下の通りです。 +Keith Randall <khr@golang.org>

これは、Keith Randall氏の名前と、Go言語プロジェクトに関連する彼のメールアドレス(または識別子)をリストに追加するものです。この変更は、Gitの差分表示(diff)によって明確に示されており、既存の貢献者リストのアルファベット順に沿って挿入されています。

この種の変更は、コードの機能には直接影響を与えませんが、プロジェクトの管理と法的な側面において重要な意味を持ちます。

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

diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index d948e02bf9..8fbabbc270 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -238,6 +238,7 @@ Julien Schmidt <google@julienschmidt.com>
 Kai Backman <kaib@golang.org>
 Kamil Kisiel <kamil@kamilkisiel.net> <kamil.kisiel@gmail.com>
 Kei Son <hey.calmdown@gmail.com>
+Keith Randall <khr@golang.org>
 Keith Rarick <kr@xph.us>
 Ken Friedenbach <kenliz@cruzio.com>
 Ken Rockot <ken@oz.gs> <ken.rockot@gmail.com>

コアとなるコードの解説

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

  • --- a/CONTRIBUTORS+++ b/CONTRIBUTORS は、変更前のファイル(a)と変更後のファイル(b)を示しています。
  • @@ -238,6 +238,7 @@ は、変更がファイルの238行目から始まり、変更前は6行、変更後は7行が関連していることを示しています。
  • - で始まる行は削除された行、+ で始まる行は追加された行を示します。このコミットでは、+Keith Randall <khr@golang.org> の1行が追加されています。
  • 変更された行の前後にあるコンテキスト行(Julien Schmidt <google@julienschmidt.com> など)は、変更がファイルのどの部分で行われたかを理解するのに役立ちます。この場合、新しい貢献者が既存の貢献者リストのアルファベット順に挿入されていることがわかります。

この変更は、Goプロジェクトの公式な貢献者リストにKeith Randall氏の名前と連絡先情報を追加するものであり、彼がプロジェクトに貢献する準備が整ったことを示しています。

関連リンク

  • Go言語のCLAに関する情報: https://golang.org/cl/7595043 (コミットメッセージに記載されているGoのコードレビューシステムGerritのリンク)

参考にした情報源リンク