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

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

このコミットは、Goプロジェクトのコントリビューターリストに新しい個人、Paul van Brouwershaven氏を追加するものです。これは、彼が個人のContributor License Agreement (CLA) に署名したことを記録するための、管理上の変更です。

コミット

commit 944a260501cb77db44acecef46092e6eb3b0b9ae
Author: Brad Fitzpatrick <bradfitz@golang.org>
Date:   Mon Jun 17 14:55:26 2013 -0700

    A+C: Paul van Brouwershaven (individual CLA)
    
    Generated by addca.
    
    R=gobot
    CC=golang-dev
    https://golang.org/cl/10332046
---
 AUTHORS      | 1 +
 CONTRIBUTORS | 1 +
 2 files changed, 2 insertions(+)

diff --git a/AUTHORS b/AUTHORS
index 13727daf9a..b0d3113b6b 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -234,6 +234,7 @@ Patrick Mylund Nielsen <patrick@patrickmn.com>\n Patrick Smith <pat42smith@gmail.com>\n Paul Lalonde <paul.a.lalonde@gmail.com>\n Paul Sbarra <Sbarra.Paul@gmail.com>\n+Paul van Brouwershaven <paul@vanbrouwershaven.com>\n Petar Maymounkov <petarm@gmail.com>\n Peter Armitage <peter.armitage@gmail.com>\n Peter Froehlich <peter.hans.froehlich@gmail.com>\ndiff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 3f741c2ff2..eff198dff9 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -338,6 +338,7 @@ Paul Borman <borman@google.com>\n Paul Chang <paulchang@google.com>\n Paul Lalonde <paul.a.lalonde@gmail.com>\n Paul Sbarra <Sbarra.Paul@gmail.com>\n+Paul van Brouwershaven <paul@vanbrouwershaven.com>\n Pawel Szczur <filemon@google.com>\n Petar Maymounkov <petarm@gmail.com>\n Peter Armitage <peter.armitage@gmail.com>\n```

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

[https://github.com/golang/go/commit/944a260501cb77db44acecef46092e6eb3b0b9ae](https://github.com/golang/go/commit/944a260501cb77db44acecef46092e6eb3b0b9ae)

## 元コミット内容

このコミットは、Goプロジェクトの`AUTHORS`ファイルと`CONTRIBUTORS`ファイルに、Paul van Brouwershaven氏の名前とメールアドレスを追加しています。これは、彼がGoプロジェクトへの貢献を開始するにあたり、必要なContributor License Agreement (CLA) に署名したことを示すものです。コミットメッセージには「Generated by addca.」とあり、これは`addca`というツールによって自動生成されたコミットであることを示唆しています。

## 変更の背景

オープンソースプロジェクト、特にGoogleが主導するGoのような大規模なプロジェクトでは、知的財産権の管理が非常に重要です。プロジェクトにコードを貢献する開発者は、通常、Contributor License Agreement (CLA) に署名することが求められます。CLAは、貢献されたコードの著作権がプロジェクトの所有者(この場合はGoogle)に適切にライセンスされることを保証し、将来的なライセンス問題や訴訟リスクを防ぐための法的な合意です。

Paul van Brouwershaven氏がGoプロジェクトに貢献する準備ができたため、彼は個人のCLAに署名しました。この署名が完了すると、プロジェクトの管理者は、彼の名前を公式の貢献者リストに追加する必要があります。このコミットは、その管理プロセスの一環として行われました。`addca`ツールは、このプロセスを自動化し、CLAに署名した新しい貢献者の情報を`AUTHORS`および`CONTRIBUTORS`ファイルに正確に反映させるために使用されます。

## 前提知識の解説

### Contributor License Agreement (CLA)

CLA(Contributor License Agreement)は、オープンソースプロジェクトにおいて、貢献者がその貢献物(コード、ドキュメントなど)の著作権をプロジェクトの所有者(または指定された団体)にライセンスすることを許可する法的な文書です。CLAの主な目的は以下の通りです。

*   **知的財産権の明確化**: 貢献されたコードの著作権が誰に帰属し、どのように利用されるかを明確にします。これにより、将来的な著作権侵害の主張やライセンスの不一致による問題を回避できます。
*   **プロジェクトの法的保護**: プロジェクトの所有者が、貢献されたコードを自由に利用、配布、再ライセンスできることを保証します。これは、プロジェクトが将来的にライセンスモデルを変更したり、商用利用されたりする場合に特に重要です。
*   **一貫したライセンス**: プロジェクト全体で一貫したライセンスモデルを維持するのに役立ちます。

CLAには、個人が署名する「Individual CLA」と、企業が署名する「Corporate CLA」の2種類があります。Goプロジェクトでは、Googleがプロジェクトの所有者であり、貢献者はGoogleに対してCLAに署名します。

### AUTHORSファイルとCONTRIBUTORSファイル

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

*   **AUTHORS**: 通常、プロジェクトの主要な作者や、特に重要な貢献をした人々の名前が記載されます。歴史的な記録としての意味合いが強いです。
*   **CONTRIBUTORS**: プロジェクトに何らかの形で貢献したすべての個人の名前が記載されます。コードのコミットだけでなく、バグ報告、ドキュメントの改善、テストの作成など、幅広い貢献が含まれることがあります。

これらのファイルは、プロジェクトへの貢献を認識し、コミュニティの透明性を高める役割を果たします。

### `addca`ツール

`addca`は、Goプロジェクトの内部ツールであり、Contributor License Agreement (CLA) に署名した新しい貢献者の情報を、`AUTHORS`および`CONTRIBUTORS`ファイルに自動的に追加するために使用されます。このツールは、手動での編集ミスを防ぎ、プロセスの一貫性を保つことを目的としています。CLAの署名が確認されると、このツールが実行され、関連するファイルが更新され、その変更がコミットされます。

## 技術的詳細

このコミットは、Goのソースコード自体に機能的な変更を加えるものではなく、プロジェクトのメタデータに関する変更です。具体的には、以下の2つのテキストファイルが更新されています。

1.  `/AUTHORS`: プロジェクトの主要な作者リスト。
2.  `/CONTRIBUTORS`: プロジェクトに貢献したすべての個人のリスト。

変更内容は、Paul van Brouwershaven氏の名前とメールアドレスを、それぞれのファイルの適切なアルファベット順の位置に1行追加するだけです。これは、`addca`という内部スクリプトまたはツールによって自動的に行われたと明記されており、手動での編集ではなく、自動化されたプロセスの一部であることを示しています。

このような管理上のコミットは、ソフトウェア開発プロジェクトにおいて不可欠な部分です。特に大規模なオープンソースプロジェクトでは、貢献者の管理、ライセンスの遵守、およびプロジェクトの法的健全性を維持するために、このようなプロセスとツールが整備されています。このコミットは、Goプロジェクトが新しい貢献者を迎え入れる際の、確立されたワークフローが機能していることを示しています。

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

```diff
diff --git a/AUTHORS b/AUTHORS
index 13727daf9a..b0d3113b6b 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -234,6 +234,7 @@ Patrick Mylund Nielsen <patrick@patrickmn.com>\n Patrick Smith <pat42smith@gmail.com>\n Paul Lalonde <paul.a.lalonde@gmail.com>\n Paul Sbarra <Sbarra.Paul@gmail.com>\n+Paul van Brouwershaven <paul@vanbrouwershaven.com>\n Petar Maymounkov <petarm@gmail.com>\n Peter Armitage <peter.armitage@gmail.com>\n Peter Froehlich <peter.hans.froehlich@gmail.com>\ndiff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 3f741c2ff2..eff198dff9 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -338,6 +338,7 @@ Paul Borman <borman@google.com>\n Paul Chang <paulchang@google.com>\n Paul Lalonde <paul.a.lalonde@gmail.com>\n Paul Sbarra <Sbarra.Paul@gmail.com>\n+Paul van Brouwershaven <paul@vanbrouwershaven.com>\n Pawel Szczur <filemon@google.com>\n Petar Maymounkov <petarm@gmail.com>\n Peter Armitage <peter.armitage@gmail.com>\n```

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

上記のdiffは、`AUTHORS`ファイルと`CONTRIBUTORS`ファイルに対する変更を示しています。

*   **`AUTHORS`ファイルへの変更**:
    *   `@@ -234,6 +234,7 @@` は、変更が元のファイルの234行目から始まり、6行が変更され、新しいファイルでは234行目から7行になることを示しています。
    *   `+Paul van Brouwershaven <paul@vanbrouwershaven.com>` の行が追加されています。これは、Paul van Brouwershaven氏の名前とメールアドレスが、既存のリストの適切な位置に挿入されたことを意味します。

*   **`CONTRIBUTORS`ファイルへの変更**:
    *   同様に、`@@ -338,6 +338,7 @@` は、変更が元のファイルの338行目から始まり、6行が変更され、新しいファイルでは338行目から7行になることを示しています。
    *   `+Paul van Brouwershaven <paul@vanbrouwershaven.com>` の行が追加されています。これも、Paul van Brouwershaven氏の名前とメールアドレスが、既存のリストの適切な位置に挿入されたことを意味します。

これらの変更は、純粋にテキストの追加であり、Go言語のコードやランタイムの動作には一切影響を与えません。これは、プロジェクトの管理と法的な要件を満たすための、文書的な更新です。

## 関連リンク

*   Goプロジェクトの貢献ガイドライン (CLAに関する情報が含まれる可能性があります):
    *   [https://go.dev/doc/contribute](https://go.dev/doc/contribute)
*   GoogleのCLAに関する情報 (GoプロジェクトのCLAもGoogleのCLAシステムを使用しているため):
    *   [https://cla.developers.google.com/](https://cla.developers.google.com/)

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

*   Contributor License Agreement (CLA) の概念に関する一般的な情報:
    *   [https://en.wikipedia.org/wiki/Contributor_License_Agreement](https://en.wikipedia.org/wiki/Contributor_License_Agreement)
*   Goプロジェクトの公式ドキュメント (貢献方法など):
    *   [https://go.dev/doc/](https://go.dev/doc/)
*   GitHubのコミットページ:
    *   [https://github.com/golang/go/commit/944a260501cb77db44acecef46092e6eb3b0b9ae](https://github.com/golang/go/commit/944a260501cb77db44acecef46092e6eb3b0b9ae)
*   GoプロジェクトのGerrit Code Review (CL/10332046):
    *   [https://go.dev/cl/10332046](https://go.dev/cl/10332046) (これはコミットメッセージに記載されているGerritの変更リストへのリンクです)