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

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

コミット

commit a6adc19ea8179e7878169df50340fee406be2e9d
Author: Ian Lance Taylor <iant@golang.org>
Date:   Wed Mar 26 15:23:05 2014 -0700

    A+C: Erik Westrup (individual CLA)
    
    Generated by addca.
    
    R=gobot
    CC=golang-codereviews
    https://golang.org/cl/80920048

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

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

元コミット内容

このコミットは、Erik Westrup氏をGoプロジェクトのAUTHORSファイルとCONTRIBUTORSファイルに追加するものです。これは、彼が個人貢献者ライセンス契約(Individual CLA)を締結したことによるものです。コミットメッセージには、addcaツールによって生成されたことが示されています。

変更の背景

オープンソースプロジェクト、特にGoogleが関与するプロジェクトでは、貢献者がコードを提出する前に貢献者ライセンス契約(CLA: Contributor License Agreement)に署名することが一般的です。CLAは、プロジェクトの所有者(この場合はGoogle)が貢献されたコードを使用、変更、配布する権利を持つことを保証するための法的な合意です。これにより、将来的な著作権やライセンスに関する問題を回避し、プロジェクトの健全な発展を維持することができます。

このコミットは、Erik Westrup氏がGoプロジェクトに貢献するための前提条件として、個人CLAを締結したことを反映しています。CLAが締結されると、その貢献者の名前がプロジェクトの公式な貢献者リストに追加されます。

前提知識の解説

貢献者ライセンス契約 (CLA: Contributor License Agreement)

CLAは、個人または法人がオープンソースプロジェクトに貢献する際に、プロジェクトの所有者に対して、その貢献物を使用、複製、変更、配布する権利を付与するための法的な文書です。これにより、プロジェクトのライセンスが明確に保たれ、将来的な法的な紛争のリスクが軽減されます。Googleがホストする多くのオープンソースプロジェクトでは、CLAの署名が必須となっています。

AUTHORSファイルと CONTRIBUTORSファイル

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

  • AUTHORSファイル: 通常、プロジェクトの主要な作者や、特に重要な貢献をした人々をリストアップします。
  • CONTRIBUTORSファイル: プロジェクトに何らかの形で貢献したすべての人々(コード、ドキュメント、バグ報告など)をより包括的にリストアップします。

これらのファイルは、貢献者への感謝を示すとともに、プロジェクトの透明性と履歴を保つ役割を果たします。

addca ツール

コミットメッセージに「Generated by addca」とあることから、これはCLAの管理と貢献者リストの更新を自動化するための内部ツールであると推測されます。CLAが締結された際に、このツールが自動的にAUTHORSCONTRIBUTORSファイルに該当するエントリを追加する処理を行ったと考えられます。

技術的詳細

このコミット自体は、Go言語のランタイムやコンパイラといった技術的なコードベースに直接的な変更を加えるものではありません。その代わりに、プロジェクトの管理ファイルであるAUTHORSCONTRIBUTORSに新しい行を追加する、純粋なデータ変更です。

具体的には、AUTHORSファイルとCONTRIBUTORSファイルの両方に、Erik Westrup氏の名前とメールアドレス(Erik Westrup <erik.westrup@gmail.com>)が追加されています。これは、プロジェクトの貢献者リストを最新の状態に保つための標準的な運用プロセスの一部です。

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

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

AUTHORS ファイルの変更

--- a/AUTHORS
+++ b/AUTHORS
@@ -135,6 +135,7 @@ Eric Clark <zerohp@gmail.com>
 Eric Milliken <emilliken@gmail.com>
 Eric Roshan-Eisner <eric.d.eisner@gmail.com>
 Erik St. Martin <alakriti@gmail.com>
+Erik Westrup <erik.westrup@gmail.com>
 Esko Luontola <esko.luontola@gmail.com>
 Evan Shaw <chickencha@gmail.com>
 Ewan Chou <coocood@gmail.com>

CONTRIBUTORS ファイルの変更

--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -200,6 +200,7 @@ Eric Clark <zerohp@gmail.com>
 Eric Milliken <emilliken@gmail.com>
 Eric Roshan-Eisner <eric.d.eisner@gmail.com>
 Erik St. Martin <alakriti@gmail.com>
+Erik Westrup <erik.westrup@gmail.com>
 Esko Luontola <esko.luontola@gmail.com>
 Evan Martin <evan.martin@gmail.com>
 Evan Shaw <chickencha@gmail.com>

コアとなるコードの解説

上記の差分が示すように、AUTHORSファイルとCONTRIBUTORSファイルの両方に、+Erik Westrup <erik.westrup@gmail.com>という行が追加されています。これは、Erik Westrup氏がGoプロジェクトの公式な貢献者として認識されたことを意味します。

この変更は、ファイルの既存のソート順(アルファベット順)を維持するように挿入されています。これは、これらの管理ファイルが手動で編集されるだけでなく、addcaのような自動化ツールによっても管理されていることを示唆しています。

関連リンク

  • GoプロジェクトのGitHubリポジトリ: https://github.com/golang/go
  • Goプロジェクトの貢献ガイドライン (CLAに関する情報が含まれる場合があります): https://go.dev/doc/contribute (一般的なGoの貢献ガイドラインへのリンク。CLAに関する具体的な情報はこのページまたは関連ページに記載されている可能性があります。)

参考にした情報源リンク