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

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

このコミットは、Go言語プロジェクトの貢献者リストに新しいエントリを追加するものです。具体的には、AUTHORS ファイルと CONTRIBUTORS ファイルに Chris Howey 氏の名前とメールアドレスが追加されています。これは、addca というツールによって自動生成されたものであり、貢献者が個別のCLA(Contributor License Agreement)に同意したことを示しています。

コミット

commit ed10fa7e75db068f93e7fe7712a8f851b022e261
Author: Russ Cox <rsc@golang.org>
Date:   Mon Mar 11 16:36:11 2013 -0400

    A+C: Chris Howey (individual CLA)
    
    Generated by addca.
    
    R=gobot
    CC=golang-dev
    https://golang.org/cl/7544044

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

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

元コミット内容

このコミットの元々の内容は、以下の通りです。

  • A+C: Chris Howey (individual CLA): Chris Howey氏が個別のCLAに同意した上で、AUTHORS および CONTRIBUTORS ファイルに追加されたことを示します。
  • Generated by addca.: この変更が addca というツールによって自動生成されたものであることを明記しています。
  • R=gobot: コードレビューの承認者が gobot であることを示します。gobot はGoプロジェクトにおける自動化されたボットです。
  • CC=golang-dev: この変更が golang-dev メーリングリストにCCされていることを示します。
  • https://golang.org/cl/7544044: このコミットに対応するGerritのチェンジリスト(Change-ID)へのリンクです。

変更の背景

オープンソースプロジェクト、特に大規模なプロジェクトでは、貢献者からのコードを受け入れる際に、法的な問題を避けるためにCLA(Contributor License Agreement)の締結を求めることが一般的です。CLAは、貢献者が自身のコードの著作権をプロジェクトに譲渡するか、またはプロジェクトがそのコードを使用、配布、変更する権利を付与することを保証するものです。

このコミットは、Chris Howey氏がGoプロジェクトに貢献するにあたり、個別のCLAに署名したことを記録するために行われました。AUTHORS および CONTRIBUTORS ファイルは、プロジェクトに貢献した人々を公式に認識し、その貢献を記録するためのものです。addca ツールは、このプロセスを自動化し、CLAの締結が確認された貢献者をこれらのファイルに正確に追加するために使用されます。これにより、プロジェクトの透明性と法的な健全性が保たれます。

前提知識の解説

CLA (Contributor License Agreement)

CLAは、オープンソースプロジェクトにおいて、貢献者とプロジェクトの間に締結される法的な合意です。これにより、プロジェクトは貢献されたコードを安心して利用、配布、変更できるようになります。CLAには、個々の貢献者が署名する「Individual CLA」と、企業がその従業員の貢献に対して署名する「Corporate CLA」の2種類があります。Goプロジェクトでは、貢献者にCLAの締結を求めています。

AUTHORSファイルと CONTRIBUTORSファイル

多くのオープンソースプロジェクトでは、プロジェクトに貢献した人々のリストを管理するために特定のファイルを使用します。

  • AUTHORSファイル: プロジェクトの主要な作者や、著作権を保持する個人・団体をリストアップすることが多いです。
  • CONTRIBUTORSファイル: プロジェクトに何らかの形で貢献したすべての個人をリストアップします。これには、コードの寄稿者だけでなく、ドキュメントの作成者、バグ報告者、テスターなども含まれる場合があります。

Goプロジェクトでは、これらのファイルが貢献者の公式な記録として機能します。

GerritとChange-ID

Gerritは、GitリポジトリのためのWebベースのコードレビューシステムです。Goプロジェクトは、コードの変更をマージする前にGerritを通じてレビュープロセスを行います。各変更は「チェンジリスト(Change-ID)」としてGerritに登録され、レビューと承認を経て最終的にメインリポジトリにマージされます。コミットメッセージに含まれる https://golang.org/cl/7544044 のようなリンクは、このGerritのチェンジリストを指しています。

技術的詳細

このコミットは、addca という内部ツールによって生成されたものです。addca は "add Contributor Agreement" の略であると推測され、GoプロジェクトのCLA管理システムの一部として機能します。

addca ツールの主な機能は以下の通りです。

  1. CLAの確認: 貢献者がCLAに適切に署名し、その情報がシステムに登録されていることを確認します。
  2. ファイルの更新: AUTHORS および CONTRIBUTORS ファイルに、新しい貢献者の名前とメールアドレスを追加します。このプロセスは自動化されており、手動での編集ミスを防ぎます。
  3. コミットの生成: 更新されたファイルを含むコミットを自動的に生成し、適切なコミットメッセージ(例: Generated by addca.)を付与します。

この自動化されたプロセスにより、Goプロジェクトは多数の貢献者を効率的かつ正確に管理し、法的な要件を満たしながらプロジェクトの成長を促進することができます。

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

このコミットでは、以下の2つのファイルが変更されています。

  1. AUTHORS
  2. CONTRIBUTORS

それぞれのファイルに対して、Chris Howey <howeyc@gmail.com> という行が1行ずつ追加されています。

diff --git a/AUTHORS b/AUTHORS
index 310069139f..e4641d0fa9 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -54,6 +54,7 @@ Casey Marshall <casey.marshall@gmail.com>
 Charles L. Dorian <cldorian@gmail.com>
 Chris Dollin <ehog.hedge@gmail.com>
 Chris Farmiloe <chrisfarms@gmail.com>
+Chris Howey <howeyc@gmail.com>
 Chris Jones <chris@cjones.org>
 Chris Lennert <calennert@gmail.com>
 Christian Himpel <chressie@googlemail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 057001e805..4ec69c7896 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -98,6 +98,7 @@ Casey Marshall <casey.marshall@gmail.com>
 Charles L. Dorian <cldorian@gmail.com>
 Chris Dollin <ehog.hedge@gmail.com>
 Chris Farmiloe <chrisfarms@gmail.com>
+Chris Howey <howeyc@gmail.com>
 Chris Hundt <hundt@google.com>
 Chris Jones <chris@cjones.org> <chris.jones.yar@gmail.com>
 Chris Lennert <calennert@gmail.com>

コアとなるコードの解説

上記の diff 出力は、AUTHORS ファイルと CONTRIBUTORS ファイルの変更内容を示しています。

  • --- a/AUTHORS+++ b/AUTHORS は、それぞれ変更前の AUTHORS ファイルと変更後の AUTHORS ファイルを示します。
  • @@ -54,6 +54,7 @@ は、変更がファイルの54行目から始まり、変更前は6行、変更後は7行になったことを示します。
  • +Chris Howey <howeyc@gmail.com> の行は、AUTHORS ファイルと CONTRIBUTORS ファイルの両方に、Chris Howey 氏の名前とメールアドレスが新しい行として追加されたことを意味します。

この変更は、addca ツールがChris Howey氏のCLA締結を確認した後、これらのファイルを自動的に更新し、その変更をコミットした結果です。これにより、Chris Howey氏はGoプロジェクトの公式な貢献者として認識されることになります。

関連リンク

  • Goプロジェクトの貢献ガイドライン(CLAに関する情報が含まれる可能性があります): https://go.dev/doc/contribute (一般的なGoの貢献ガイドラインへのリンク。CLAの詳細については、プロジェクトの特定のドキュメントを参照する必要があります。)
  • Gerrit Code Review: https://www.gerritcodereview.com/
  • このコミットに対応するGerritチェンジリスト: https://golang.org/cl/7544044

参考にした情報源リンク

  • Gitのdiffコマンドに関するドキュメント
  • オープンソースプロジェクトにおけるCLAの一般的な概念
  • Gerritに関する一般的な情報
  • Goプロジェクトの貢献に関する公式ドキュメント (一般的な知識として)