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

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

このコミットは、GoプロジェクトのAUTHORSファイルとCONTRIBUTORSファイルに、新しい貢献者であるMatt Joiner氏を追加するものです。これは、Goプロジェクトへの貢献が認められ、正式に記録されるプロセスの一環です。

コミット

commit e0ca536f369201623467d4d28d3f96d1a67619d6
Author: Brad Fitzpatrick <bradfitz@golang.org>
Date:   Wed Aug 14 09:22:26 2013 -0700

    A+C: Matt Joiner (individual CLA)
    
    Generated by addca.
    
    R=gobot
    CC=golang-dev
    https://golang.org/cl/12933043

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

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

元コミット内容

このコミットの元の内容は、Matt Joiner氏をGoプロジェクトのAUTHORSファイルとCONTRIBUTORSファイルに追加することです。コミットメッセージには「A+C: Matt Joiner (individual CLA)」とあり、これは「Authors and Contributors: Matt Joiner (個人CLA)」を意味します。また、「Generated by addca.」とあり、これはaddcaというツールによって生成されたことを示唆しています。R=gobotはレビュー担当者がgobot(自動化されたボット)であることを示し、CC=golang-devgolang-devメーリングリストに通知されたことを示します。https://golang.org/cl/12933043は、この変更に対応するGerritの変更リスト(Change-List)へのリンクです。

変更の背景

オープンソースプロジェクト、特に大規模なプロジェクトでは、貢献者の管理が重要になります。Goプロジェクトも例外ではなく、プロジェクトにコードやドキュメントなどで貢献した人々を公式に認識し、記録するためのメカニズムを持っています。このコミットは、Matt Joiner氏がGoプロジェクトに対して何らかの貢献を行い、その貢献が認められた結果として、正式に貢献者リストに追加されるという背景があります。

通常、このような貢献者リストへの追加は、貢献者がContributor License Agreement (CLA) に署名し、その貢献がプロジェクトの基準を満たしていることが確認された後に行われます。CLAは、貢献されたコードがプロジェクトのライセンスの下で利用可能であることを保証するための法的な合意です。

前提知識の解説

  • オープンソースプロジェクトにおける貢献者リスト: 多くのオープンソースプロジェクトでは、プロジェクトに貢献した個人や組織の名前を記録するファイル(例: AUTHORS, CONTRIBUTORS, CREDITSなど)を保持しています。これは、貢献への感謝を示すとともに、プロジェクトの歴史と所有権を明確にする目的があります。
  • Contributor License Agreement (CLA): 貢献者ライセンス合意は、個人または企業がオープンソースプロジェクトに貢献する際に署名する法的な文書です。CLAに署名することで、貢献者は自身の貢献がプロジェクトのライセンスの下で配布されることを許可し、プロジェクトがその貢献を自由に利用、変更、配布できることを保証します。これにより、プロジェクトは将来的なライセンスに関する問題を回避できます。Goプロジェクトでは、Googleが管理するCLAが使用されています。
  • Gerrit: Gerritは、オープンソースプロジェクトで広く使用されているWebベースのコードレビューシステムです。GoプロジェクトもGerritを使用してコードの変更を管理し、レビュープロセスを行っています。コミットメッセージにあるhttps://golang.org/cl/12933043のようなリンクは、Gerrit上の特定の変更リストを指します。
  • AUTHORSファイルとCONTRIBUTORSファイル:
    • AUTHORSファイル: 通常、プロジェクトの主要な作者や、プロジェクトの初期段階から大きく貢献している人々をリストアップします。
    • CONTRIBUTORSファイル: より広範な貢献者、つまりコードの修正、バグ報告、ドキュメントの改善、テストの追加など、様々な形でプロジェクトに貢献した人々をリストアップします。Goプロジェクトでは、これら二つのファイルが併用されています。

技術的詳細

このコミット自体は、Goのランタイムやライブラリの機能に直接的な変更を加えるものではありません。その代わりに、プロジェクトのメタデータファイルであるAUTHORSCONTRIBUTORSに新しいエントリを追加しています。

変更は非常にシンプルで、それぞれのファイルの末尾にMatt Joiner氏の名前とメールアドレスが1行追加されています。

  • AUTHORSファイルには、Matt Joiner <anacrolix@gmail.com>が追加されました。
  • CONTRIBUTORSファイルには、Matt Joiner <anacrolix@gmail.com>が追加されました。

コミットメッセージにある「Generated by addca.」という記述は、この変更が手動で行われたのではなく、addcaという内部ツールによって自動的に生成された可能性が高いことを示しています。このようなツールは、CLAの署名が確認された後、貢献者情報を自動的に適切なファイルに追加するために使用されることがあります。これにより、手作業によるミスを防ぎ、プロセスを効率化できます。

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

このコミットにおける「コアとなるコード」は、Goの機能コードではなく、プロジェクトのメタデータファイルです。変更は以下の2つのファイルに限定されます。

  1. AUTHORS
  2. CONTRIBUTORS

それぞれのファイルに1行ずつ追加が行われています。

diff --git a/AUTHORS b/AUTHORS
index 4c6335fb85..4b10f9315d 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -206,6 +206,7 @@ Mateusz Czapliński <czapkofan@gmail.com>
 Mathieu Lonjaret <mathieu.lonjaret@gmail.com>
 Mats Lidell <mats.lidell@cag.se>
 Matt Jibson <matt.jibson@gmail.com>
+Matt Joiner <anacrolix@gmail.com>
 Matthew Horsnell <matthew.horsnell@gmail.com>
 Micah Stetson <micah.stetson@gmail.com>
 Michael Chaten <mchaten@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index f8e64c3250..1071fdd4d0 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -304,6 +304,7 @@ Mathieu Lonjaret <mathieu.lonjaret@gmail.com>
 Mats Lidell <mats.lidell@cag.se> <mats.lidell@gmail.com>
 Matt Brown <mdbrown@google.com>
 Matt Jibson <matt.jibson@gmail.com>
+Matt Joiner <anacrolix@gmail.com>
 Matt Jones <mrjones@google.com>
 Matthew Dempsky <mdempsky@google.com>
 Matthew Horsnell <matthew.horsnell@gmail.com>

コアとなるコードの解説

上記のdiffが示すように、AUTHORSファイルとCONTRIBUTORSファイルの両方に、Matt Joiner氏の名前とメールアドレスが追加されています。

  • AUTHORSファイルでは、既存のMatt Jibsonのエントリの直後にMatt Joiner <anacrolix@gmail.com>が追加されています。
  • CONTRIBUTORSファイルでも同様に、既存のMatt Jibsonのエントリの直後にMatt Joiner <anacrolix@gmail.com>が追加されています。

これらの変更は、Goプロジェクトの公式な貢献者リストにMatt Joiner氏が加わったことを意味します。これは、氏がGoプロジェクトに対して何らかの形で貢献し、その貢献がプロジェクトによって正式に認められたことを示すものです。このようなコミットは、プロジェクトの健全なコミュニティ活動と、貢献者への敬意を示す上で重要な役割を果たします。

関連リンク

参考にした情報源リンク