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

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

このコミットは、Goプロジェクトのコントリビューターリストに新しい個人を追加するものです。具体的には、AUTHORSファイルとCONTRIBUTORSファイルにJakub Ryszard Czarnowicz氏のエントリが追加されています。これは、彼がGoプロジェクトに貢献するためのIndividual Contributor License Agreement (CLA) に署名したことを示しています。

コミット

commit 2e0a7fc2c660dc19a2dab932287774271c2eeeba
Author: Brad Fitzpatrick <bradfitz@golang.org>
Date:   Fri Dec 20 10:11:11 2013 -0800

    A+C: Jakub Ryszard Czarnowicz (individual CLA)
    
    Generated by addca.
    
    R=gobot
    CC=golang-codereviews
    https://golang.org/cl/44690043

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

https://github.com/golang/go/commit/2e0a7fc2c660dc19a2dab932287774271c2eeeba

元コミット内容

A+C: Jakub Ryszard Czarnowicz (individual CLA)

Generated by addca.

R=gobot
CC=golang-codereviews
https://golang.org/cl/44690043

変更の背景

このコミットの背景には、オープンソースプロジェクトにおける貢献者ライセンス契約(CLA)の重要性があります。Goプロジェクトのような大規模なオープンソースプロジェクトでは、知的財産権の管理と、将来的なライセンス変更や訴訟リスクからの保護のために、貢献者からCLAへの署名を求めるのが一般的です。

A+C: Jakub Ryszard Czarnowicz (individual CLA)というコミットメッセージは、Jakub Ryszard Czarnowicz氏がGoプロジェクトへの貢献を開始するために、個人としてのCLAに署名し、その情報がプロジェクトの公式な貢献者リストに追加されたことを意味します。

Generated by addca.という記述は、この変更がaddcaというツールによって自動生成されたものであることを示唆しています。addcaは、新しいCLA署名者をAUTHORSおよびCONTRIBUTORSファイルに自動的に追加するための内部ツールであると考えられます。これにより、手作業によるミスを防ぎ、プロセスを効率化しています。

前提知識の解説

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

CLAは、個人または企業がオープンソースプロジェクトにコードやドキュメントなどの貢献を行う際に、プロジェクトの所有者(この場合はGoogle)に対して、その貢献物を使用、複製、変更、配布する権利を付与することに同意する法的な文書です。CLAは、プロジェクトの知的財産権を明確にし、将来的なライセンス変更や、貢献されたコードに関する法的な紛争が発生した場合にプロジェクトを保護するために使用されます。

Goプロジェクトでは、Googleがプロジェクトの所有者であり、貢献者はGoogleのCLAに署名する必要があります。これにより、GoogleはGoプロジェクトのコードベース全体に対する明確な権利を保持し、プロジェクトの安定性と継続性を保証できます。

AUTHORSファイルとCONTRIBUTORSファイル

多くのオープンソースプロジェクトでは、プロジェクトに貢献した人々を記録するために、AUTHORSCONTRIBUTORSといったファイルが使用されます。

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

これらのファイルは、プロジェクトの透明性を高め、貢献者への感謝を示す役割も果たします。Goプロジェクトでは、これらのファイルがCLAに署名した個人の記録として機能していることがこのコミットからわかります。

addcaツール

コミットメッセージにあるGenerated by addca.は、この変更が特定のツールによって自動生成されたことを示しています。addcaは"add Contributor Agreement"の略であると推測され、Goプロジェクトの内部でCLAに署名した新しい貢献者をAUTHORSおよびCONTRIBUTORSファイルに自動的に追加するために使用されるスクリプトまたはツールであると考えられます。このような自動化ツールは、大規模なプロジェクトにおいて、手動でのファイル更新に伴うエラーを減らし、ワークフローを効率化するために不可欠です。

技術的詳細

このコミットは、Goプロジェクトのソースコードリポジトリ内の2つのテキストファイル、AUTHORSCONTRIBUTORSに新しい行を追加するものです。これらのファイルは、プロジェクトのメタデータの一部として機能し、プロジェクトに貢献した個人の記録を保持します。

変更は非常にシンプルで、それぞれのファイルのアルファベット順の適切な位置に、Jakub Ryszard Czarnowicz <j.czarnowicz@gmail.com>という形式の行が1行ずつ追加されています。これは、新しい貢献者が追加される際の標準的な手順であり、ファイルの整合性を保つためにアルファベット順が維持されています。

この変更自体はGoのランタイムやコンパイラの動作に直接的な影響を与えるものではありませんが、プロジェクトのガバナンスと法的な側面において重要な意味を持ちます。新しい貢献者がCLAに署名し、その情報が公式に記録されることで、彼らがGoプロジェクトに安心してコードを貢献できるようになります。

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

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

  1. AUTHORS
  2. CONTRIBUTORS

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

diff --git a/AUTHORS b/AUTHORS
index 3928446166..f4ac6fc3d3 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -157,6 +157,7 @@ Icarus Sparry <golang@icarus.freeuk.com>\n Ingo Oeser <nightlyone@googlemail.com>\n Isaac Wagner <ibw@isaacwagner.me>\n Jakob Borg <jakob@nym.se>\n+Jakub Ryszard Czarnowicz <j.czarnowicz@gmail.com>\n James David Chalfant <james.chalfant@gmail.com>\n James Fysh <james.fysh@gmail.com>\n James Gray <james@james4k.com>\ndiff --git a/CONTRIBUTORS b/CONTRIBUTORS
index f5c1dece07..5117e258c4 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -229,6 +229,7 @@ Isaac Wagner <ibw@isaacwagner.me>\n Ivan Krasin <krasin@golang.org>\n Jacob Baskin <jbaskin@google.com>\n Jakob Borg <jakob@nym.se>\n+Jakub Ryszard Czarnowicz <j.czarnowicz@gmail.com>\n James Aguilar <jaguilar@google.com>\n James David Chalfant <james.chalfant@gmail.com>\n James Fysh <james.fysh@gmail.com>\n```

## コアとなるコードの解説

上記のdiffが示すように、変更は非常に単純です。

*   **`AUTHORS`ファイル**:
    `Jakub Ryszard Czarnowicz <j.czarnowicz@gmail.com>`という行が、既存の`Jakob Borg <jakob@nym.se>`の次の行に挿入されています。これは、ファイルがアルファベット順にソートされていることを示しており、新しいエントリが適切な位置に追加されたことを意味します。

*   **`CONTRIBUTORS`ファイル**:
    同様に、`Jakub Ryszard Czarnowicz <j.czarnowicz@gmail.com>`という行が、既存の`Jakob Borg <jakob@nym.se>`の次の行に挿入されています。こちらもアルファベット順のソートが維持されています。

これらの変更は、Goプロジェクトの公式な貢献者リストに`Jakub Ryszard Czarnowicz`氏が追加されたことを明確に示しています。これにより、彼がGoプロジェクトに貢献する法的基盤が整い、彼の貢献が正式に認識されることになります。

## 関連リンク

*   GoプロジェクトのGitHubリポジトリ: [https://github.com/golang/go](https://github.com/golang/go)
*   このコミットのGerritレビューページ: [https://golang.org/cl/44690043](https://golang.org/cl/44690043)

## 参考にした情報源リンク

*   Go Contributor License Agreement (CLA) についての一般的な情報:
    *   [https://go.dev/doc/contribute#cla](https://go.dev/doc/contribute#cla) (Go公式ドキュメントの貢献ガイド)
*   オープンソースプロジェクトにおけるCLAの役割に関する一般的な情報:
    *   [https://www.linuxfoundation.org/blog/contributor-license-agreements-clas-what-are-they-and-why-do-you-need-them/](https://www.linuxfoundation.org/blog/contributor-license-agreements-clas-what-are-they-and-why-do-you-need-them/) (Linux Foundationのブログ記事)
*   `AUTHORS`および`CONTRIBUTORS`ファイルの一般的な慣習に関する情報:
    *   オープンソースプロジェクトの慣習に基づく一般的な知識。