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

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

このコミットは、GoプロジェクトのAUTHORSファイルとCONTRIBUTORSファイルに、新たな貢献者であるKelvin Foo Chuan Lyi氏の情報を追加するものです。これは、Goプロジェクトへの貢献者が増えたことを公式に記録するための、管理上の変更です。

コミット

commit 9013eb7b6d07dd5200cf75b9052e42c9ff50a92c
Author: Brad Fitzpatrick <bradfitz@golang.org>
Date:   Sun Feb 2 13:00:05 2014 +0100

    A+C: Kelvin Foo Chuan Lyi (individual CLA)
    
    Generated by addca.
    
    TBR=iant
    R=gobot
    CC=golang-codereviews
    https://golang.org/cl/59460043

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

https://github.com/golang/go/commit/9013eb7b6d07dd5200cf75b9052e42c9ff50a92c

元コミット内容

このコミットの元の内容は、GoプロジェクトのAUTHORSファイルとCONTRIBUTORSファイルに、Kelvin Foo Chuan Lyi氏の名前とメールアドレスを追加することです。コミットメッセージには「A+C: Kelvin Foo Chuan Lyi (individual CLA)」とあり、これは「Add to AUTHORS and CONTRIBUTORS」の略で、Kelvin Foo Chuan Lyi氏が個人としてのContributor License Agreement (CLA) を締結したことを示唆しています。また、「Generated by addca.」という記述から、この変更がaddcaというツールによって自動生成されたものであることがわかります。TBR=iantは「To Be Reviewed by Ian Lance Taylor」、R=gobotは「Reviewed by gobot」、CC=golang-codereviewsはコードレビューのメーリングリストへの通知、https://golang.org/cl/59460043は関連するGerritの変更リスト(Change-ID)を示しています。

変更の背景

Goプロジェクトのような大規模なオープンソースプロジェクトでは、貢献者からの知的財産権の帰属を明確にするために、Contributor License Agreement (CLA) の締結が求められることが一般的です。CLAは、貢献者が自身のコードをプロジェクトのライセンスの下で利用することを許可し、プロジェクト側がそのコードを自由に利用・配布できることを保証する法的な合意です。

このコミットは、Kelvin Foo Chuan Lyi氏がGoプロジェクトに貢献を開始するにあたり、必要なCLAを締結したことを反映しています。CLAが締結されると、その貢献者の情報がAUTHORSおよびCONTRIBUTORSファイルに追加され、公式にプロジェクトの貢献者として認識されるようになります。これは、プロジェクトの透明性を保ち、誰がどのような貢献をしているかを明確にするための重要なプロセスです。

前提知識の解説

Contributor License Agreement (CLA)

CLAは、オープンソースプロジェクトにおいて、貢献者が自身の著作物に対する権利をプロジェクトに付与するための法的な文書です。これにより、プロジェクトは貢献されたコードを安心して利用、配布、変更することができます。CLAは、プロジェクトのライセンスとは別に存在し、プロジェクトの知的財産権管理を強化します。Googleが主導するGoプロジェクトでは、個人の貢献者に対してIndividual CLA (ICLA) の締結を求めています。

AUTHORSファイルとCONTRIBUTORSファイル

多くのオープンソースプロジェクトでは、プロジェクトに貢献した人々の名前を記録するためのファイルが存在します。

  • AUTHORSファイル: 主にプロジェクトの主要な作者や、著作権を保持する個人や団体をリストアップするために使用されます。
  • CONTRIBUTORSファイル: プロジェクトにコード、ドキュメント、バグ報告、アイデアなどで貢献したすべての人々をリストアップするために使用されます。

これらのファイルは、プロジェクトの歴史とコミュニティの成長を示す重要な記録であり、貢献者への感謝と認識を示す役割も果たします。

GerritとChange-ID

Goプロジェクトは、コードレビューにGerritを使用しています。Gerritは、Gitリポジトリ上でコードレビューを行うためのウェブベースのツールです。各変更は「変更リスト(Change-ID)」としてGerritにアップロードされ、レビューと承認を経てGitリポジトリにマージされます。コミットメッセージに含まれるhttps://golang.org/cl/59460043のようなリンクは、Gerrit上の特定の変更リストを指します。

技術的詳細

このコミット自体は、Go言語のランタイムや標準ライブラリの機能的な変更ではなく、プロジェクトのメタデータに関する変更です。具体的には、AUTHORSファイルとCONTRIBUTORSファイルという2つのテキストファイルに、新しい行を追加しています。

  • AUTHORSファイルは、プロジェクトの著作権情報と主要な作者を列挙しています。
  • CONTRIBUTORSファイルは、プロジェクトに貢献したすべての個人を列挙しています。

これらのファイルは、通常、手動で編集されることは少なく、CLAの締結などの特定のイベントに基づいて、自動化されたスクリプトやツール(この場合はaddca)によって更新されます。これにより、人為的なミスを防ぎ、一貫性を保つことができます。

diffコマンドの出力を見ると、両ファイルに1行ずつ追加されていることがわかります。追加された行は、Kelvin Foo Chuan Lyi氏の名前とメールアドレスです。

diff --git a/AUTHORS b/AUTHORS
index 2ea7fe79fd..a30fa742fa 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -213,6 +213,7 @@ Kamil Kisiel <kamil@kamilkisiel.net> <kamil.kisiel@gmail.com>
 Katrina Owen <katrina.owen@gmail.com>
 Kei Son <hey.calmdown@gmail.com>
 Keith Rarick <kr@xph.us>
+Kelvin Foo Chuan Lyi <vmirage@gmail.com>
 Ken Friedenbach <kenliz@cruzio.com>
 Ken Rockot <ken@oz.gs>
 Kevin Ballard <kevin@sb.org>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 5e27b92cb5..12ae517a98 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -308,6 +308,7 @@ Katrina Owen <katrina.owen@gmail.com>
 Kei Son <hey.calmdown@gmail.com>
 Keith Randall <khr@golang.org>
 Keith Rarick <kr@xph.us>
+Kelvin Foo Chuan Lyi <vmirage@gmail.com>
 Ken Friedenbach <kenliz@cruzio.com>
 Ken Rockot <ken@oz.gs> <ken.rockot@gmail.com>
 Ken Thompson <ken@golang.org>

この変更は、Goプロジェクトのガバナンスと貢献者管理プロセスの一部であり、コードベースの機能性には直接影響しません。しかし、オープンソースプロジェクトの健全な運営には不可欠な側面です。

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

このコミットにおける「コアとなるコード」は、Go言語のソースコードそのものではなく、プロジェクトのメタデータファイルであるAUTHORSCONTRIBUTORSです。

  • AUTHORSファイル:
    • +Kelvin Foo Chuan Lyi <vmirage@gmail.com> の行が追加されました。
  • CONTRIBUTORSファイル:
    • +Kelvin Foo Chuan Lyi <vmirage@gmail.com> の行が追加されました。

コアとなるコードの解説

追加された行は、新しい貢献者の名前とメールアドレスを単純にリストに追加するものです。これらのファイルは、Goプロジェクトのビルドプロセスやランタイムの動作に直接的な影響を与えるものではありません。これらは、プロジェクトの歴史、法的な側面(CLAの遵守)、およびコミュニティの認識のために維持される静的なテキストファイルです。

この変更は、Goプロジェクトが新しい貢献者をどのように公式に認識し、記録するかを示す典型的な例です。CLAの締結後、このようなコミットが自動的に生成され、プロジェクトの透明性と法的な健全性を維持します。

関連リンク

参考にした情報源リンク