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

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

このコミットは、GoプロジェクトのAUTHORSファイルとCONTRIBUTORSファイルに新しい貢献者であるAnfernee Yongkun Gui氏を追加するものです。これは、Goプロジェクトへの貢献者が増えるたびに定期的に行われるメンテナンス作業の一環であり、個別のCLA(Contributor License Agreement)が締結されたことを示しています。

コミット

commit 5334b73d5d57aee6948897fa4b1bfafe5bb70c6f
Author: Brad Fitzpatrick <bradfitz@golang.org>
Date:   Wed Dec 18 04:06:56 2013 -0800

    A+C: Anfernee Yongkun Gui (individual CLA)
    
    Generated by addca.
    
    R=gobot
    CC=golang-dev
    https://golang.org/cl/43760046

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

https://github.com/golang/go/commit/5334b73d5d57aee6948897fa4b1bfafe5bb70c6f

元コミット内容

このコミットの元の内容は、Goプロジェクトの貢献者リストにAnfernee Yongkun Gui氏を追加することです。コミットメッセージには「A+C: Anfernee Yongkun Gui (individual CLA)」とあり、これは「Author and Contributor: Anfernee Yongkun Gui (個人CLA)」を意味します。また、「Generated by addca.」とあり、これはaddcaというツールによって生成されたコミットであることを示しています。R=gobotCC=golang-devは、コードレビュー担当者とメーリングリストを示しています。

変更の背景

Goプロジェクトのような大規模なオープンソースプロジェクトでは、多くの開発者がコードベースに貢献します。これらの貢献者が知的財産権に関する問題をクリアし、プロジェクトに安心して貢献できるようにするため、通常、CLA(Contributor License Agreement)の締結が求められます。CLAは、貢献者が提出するコードの著作権をプロジェクトが適切に管理し、ライセンスを付与できるようにするための法的な合意です。

このコミットは、Anfernee Yongkun Gui氏がGoプロジェクトへの貢献を開始するにあたり、個人のCLAを締結したことを反映しています。CLAが締結されると、その貢献者の名前がAUTHORSファイルとCONTRIBUTORSファイルに追加され、公式にプロジェクトの貢献者として認識されるようになります。これは、プロジェクトの透明性と法的な健全性を保つ上で重要なプロセスです。

前提知識の解説

Contributor License Agreement (CLA)

CLA(Contributor License Agreement)は、オープンソースプロジェクトにおいて、貢献者がそのプロジェクトに提出するコードの著作権に関する権利をプロジェクトの所有者(または管理団体)に付与するための法的な文書です。これにより、プロジェクトは貢献されたコードを再配布、変更、ライセンス供与する権利を得て、将来的なライセンス変更や法的な紛争からプロジェクトを保護することができます。

Goプロジェクトの場合、Googleがプロジェクトを管理しており、貢献者はGoogleとの間でCLAを締結する必要があります。CLAには「Individual CLA」と「Corporate CLA」の2種類があり、個人として貢献する場合はIndividual CLAを、企業として貢献する場合はCorporate CLAを締結します。このコミットでは「individual CLA」と明記されているため、Anfernee Yongkun Gui氏が個人としてCLAを締結したことを示しています。

AUTHORSファイルとCONTRIBUTORSファイル

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

  • AUTHORS: このファイルは、プロジェクトの主要な作者や、特に重要な貢献をした人々の名前をリストアップするために使用されます。通常、CLAを締結した個人や団体がここに記載されます。
  • CONTRIBUTORS: このファイルは、プロジェクトに何らかの形で貢献したすべての個人の名前をリストアップするために使用されます。これには、コードの貢献だけでなく、ドキュメントの改善、バグ報告、テストの作成など、幅広い貢献が含まれます。

これらのファイルは、プロジェクトの歴史と貢献者を可視化し、コミュニティの努力を認識する役割を果たします。

addcaツール

コミットメッセージに「Generated by addca.」とあるように、この変更はaddcaというツールによって自動生成されたものです。addcaは「add Contributor Agreement」の略であると推測され、Goプロジェクトの内部ツールとして、新しいCLAが締結された際にAUTHORSファイルやCONTRIBUTORSファイルを自動的に更新するために使用されていると考えられます。これにより、手作業によるミスを防ぎ、更新プロセスを効率化しています。

技術的詳細

このコミットの技術的な変更は非常にシンプルで、テキストファイルへの行の追加と、既存の行のわずかな修正(実質的には再配置)です。

具体的には、AUTHORSファイルとCONTRIBUTORSファイルの両方に、Anfernee Yongkun Gui <anfernee.gui@gmail.com>という行が追加されています。

CONTRIBUTORSファイルでは、Michael Hudson-Doyle <michael.hudson@linaro.org>の行が一度削除され、その後同じ内容で別の位置に再挿入されています。これは、addcaツールがファイルをソートしたり、特定のルールに基づいて行を再配置したりする際に発生する一般的な挙動です。この変更自体はMichael Hudson-Doyle氏に関する情報の内容を変更するものではなく、ファイルの構造的な更新の一部と見なされます。

これらのファイルは、Goのビルドシステムやドキュメント生成プロセスによって直接利用されることは稀ですが、プロジェクトの公式な記録として、また法的な目的のために維持されています。

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

このコミットで変更されたファイルは以下の2つです。

  1. AUTHORS
  2. CONTRIBUTORS

それぞれのファイルに対する変更は以下の通りです。

AUTHORSファイル

--- a/AUTHORS
+++ b/AUTHORS
@@ -39,6 +39,7 @@ Andrew Wilkins <axwalk@gmail.com>
 Andrey Mirtchovski <mirtchovski@gmail.com>
 Andriy Lytvynov <lytvynov.a.v@gmail.com>
 Andy Davis <andy@bigandian.com>
+Anfernee Yongkun Gui <anfernee.gui@gmail.com>
 Anh Hai Trinh <anh.hai.trinh@gmail.com>
 Anschel Schaffer-Cohen <anschelsc@gmail.com>
 Anthony Eufemio <anthony.eufemio@gmail.com>

CONTRIBUTORSファイル

--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -71,6 +71,7 @@ Andrew Wilkins <axwalk@gmail.com>
 Andrey Mirtchovski <mirtchovski@gmail.com>
 Andriy Lytvynov <lytvynov.a.v@gmail.com>
 Andy Davis <andy@bigandian.com>
+Anfernee Yongkun Gui <anfernee.gui@gmail.com>
 Anh Hai Trinh <anh.hai.trinh@gmail.com>
 Anschel Schaffer-Cohen <anschelsc@gmail.com>
 Anthony Eufemio <anthony.eufemio@gmail.com>
@@ -341,8 +342,8 @@ Micah Stetson <micah.stetson@gmail.com>
 Michael Chaten <mchaten@gmail.com>
 Michael Elkins <michael.elkins@gmail.com>
 Michael Gehring <mg@ebfe.org>
-Michael Hudson-Doyle <michael.hudson@linaro.org>\n Michael Hoisie <hoisie@gmail.com>
+Michael Hudson-Doyle <michael.hudson@linaro.org>\n Michael Hoisie <hoisie@gmail.com>
 Michael Lewis <mikelikespie@gmail.com>\n Michael Matloob <matloob@google.com>\n Michael Piatek <piatek@google.com>\n

コアとなるコードの解説

このコミットには、Go言語のランタイムやライブラリの機能に直接影響を与えるような「コード」の変更は含まれていません。変更されたのは、プロジェクトのメタデータの一部であるテキストファイルです。

  • AUTHORSファイルへの追加: +Anfernee Yongkun Gui <anfernee.gui@gmail.com> この行は、Anfernee Yongkun Gui氏がGoプロジェクトの正式な作者の一人として認識されたことを示します。これは、彼がGoプロジェクトに対して重要な貢献を行うための法的な枠組みが整ったことを意味します。

  • CONTRIBUTORSファイルへの追加と修正: +Anfernee Yongkun Gui <anfernee.gui@gmail.com> この行は、Anfernee Yongkun Gui氏がGoプロジェクトの貢献者リストに追加されたことを示します。 -Michael Hudson-Doyle <michael.hudson@linaro.org> +Michael Hudson-Doyle <michael.hudson@linaro.org> この部分は、Michael Hudson-Doyle氏のエントリが削除され、その後同じ内容で再挿入されています。これは、addcaツールがファイルをアルファベット順にソートしたり、重複を排除したりする過程で発生する可能性があります。この変更自体はMichael Hudson-Doyle氏の貢献者としてのステータスに影響を与えるものではなく、ファイルの整合性を保つためのツールによる自動的な調整と解釈できます。

これらの変更は、Goプロジェクトのガバナンスと法務に関する側面を反映しており、プロジェクトの健全な運営に不可欠な部分です。

関連リンク

  • Goプロジェクトの公式ウェブサイト: https://golang.org/
  • Goプロジェクトの貢献ガイドライン(CLAに関する情報が含まれる場合があります): 通常、Goの公式ドキュメントやGitHubリポジトリのCONTRIBUTING.mdファイルに記載されています。

参考にした情報源リンク