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

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

このコミットは、GoプロジェクトのAUTHORSファイルとCONTRIBUTORSファイルに新しい貢献者を追加するものです。これらのファイルは、オープンソースプロジェクトにおいて、プロジェクトに貢献した個人や組織を記録するために一般的に使用されます。

  • AUTHORS: プロジェクトの主要な作者や、著作権を保持する個人・団体をリストアップすることが多いです。
  • CONTRIBUTORS: プロジェクトにコード、ドキュメント、バグ報告、テストなどで貢献したすべての個人をリストアップします。

コミット

このコミットは、Pietro Gagliardi氏をGoプロジェクトのAUTHORSおよびCONTRIBUTORSファイルに追加します。これは、彼がGoプロジェクトに対して貢献を行うための前提条件として、個人貢献者ライセンス契約(Individual CLA)を締結したことを示しています。

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

https://github.com/golang/go/commit/86e2a8edefb5a4ed6c8119283dcf164b0c1d4790

元コミット内容

commit 86e2a8edefb5a4ed6c8119283dcf164b0c1d4790
Author: Ian Lance Taylor <iant@golang.org>
Date:   Wed May 21 16:01:41 2014 -0700

    A+C: Pietro Gagliardi (individual CLA)
    
    Generated by addca.
    
    R=gobot
    CC=golang-codereviews
    https://golang.org/cl/97660043
---
 AUTHORS      | 1 +
 CONTRIBUTORS | 1 +
 2 files changed, 2 insertions(+)

diff --git a/AUTHORS b/AUTHORS
index 778d455d30..d4fbbd143e 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -336,6 +336,7 @@ Peter Waller <peter.waller@gmail.com>\n Peter Williams <pwil3058@gmail.com>\n Philip K. Warren <pkwarren@gmail.com>\n Pieter Droogendijk <pieter@binky.org.uk>\n+Pietro Gagliardi <pietro10@mac.com>\n Preetam Jinka <pj@preet.am>\n Quan Yong Zhai <qyzhai@gmail.com>\n Raif S. Naffah <go@naffah-raif.name>\ndiff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 41ce3988be..022679fdae 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -467,6 +467,7 @@ Peter Williams <pwil3058@gmail.com>\n Phil Pennock <pdp@golang.org>\n Philip K. Warren <pkwarren@gmail.com>\n Pieter Droogendijk <pieter@binky.org.uk>\n+Pietro Gagliardi <pietro10@mac.com>\n Preetam Jinka <pj@preet.am>\n Quan Yong Zhai <qyzhai@gmail.com>\n Raif S. Naffah <go@naffah-raif.name>\n```

## 変更の背景

オープンソースプロジェクト、特にGoogleが主導するGoのような大規模なプロジェクトでは、貢献者からの知的財産権の管理が非常に重要です。これは、プロジェクトのコードベースの健全性と、将来的なライセンス問題を防ぐために行われます。

このコミットの背景には、Pietro Gagliardi氏がGoプロジェクトに貢献を開始するにあたり、必要な法的手続き、具体的には個人貢献者ライセンス契約(Individual CLA)を締結したことがあります。CLAは、貢献者が自身の貢献に対する著作権をプロジェクトの所有者(この場合はGoogle)に付与することを保証する法的な合意です。これにより、プロジェクトの所有者は、貢献されたコードを自由に利用、配布、再ライセンスできるようになり、プロジェクトの継続的な開発と配布が円滑に行われます。

`AUTHORS`および`CONTRIBUTORS`ファイルへの追加は、CLAの締結が完了し、その個人が正式にプロジェクトの貢献者として認識されたことを示す一般的な慣行です。

## 前提知識の解説

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

多くのオープンソースプロジェクトでは、プロジェクトの歴史と貢献者を追跡するために、`AUTHORS`と`CONTRIBUTORS`という名前のテキストファイルを使用します。

-   **`AUTHORS`ファイル**: プロジェクトの初期開発者や、プロジェクトの主要な著作権者として認識されている人々をリストアップします。このファイルは、プロジェクトの著作権表示の根拠となることがあります。
-   **`CONTRIBUTORS`ファイル**: プロジェクトに何らかの形で貢献したすべての個人をリストアップします。これには、コードの寄稿者だけでなく、ドキュメントの作成者、バグ報告者、テスター、翻訳者なども含まれることがあります。このファイルは、プロジェクトのコミュニティと、その成長を支える人々に敬意を表する役割も果たします。

これらのファイルは通常、手動で更新されるか、または特定のツール(このコミットでは`addca`)によって自動的に生成・更新されます。

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

CLAは、オープンソースプロジェクトへの貢献者が、その貢献に対する著作権をプロジェクトの所有者または特定の団体に付与することを法的に約束する文書です。CLAの主な目的は以下の通りです。

1.  **知的財産権の明確化**: 貢献されたコードの著作権が誰に帰属するかを明確にし、将来的な著作権侵害の訴訟リスクを軽減します。
2.  **ライセンスの柔軟性**: プロジェクトの所有者が、貢献されたコードをプロジェクトのライセンス(例: Apache License, MIT Licenseなど)の下で自由に配布・再ライセンスできるようにします。これにより、プロジェクトのライセンスモデルが維持され、変更される際にも柔軟に対応できます。
3.  **プロジェクトの持続可能性**: プロジェクトの所有者が、貢献されたコードを商業的に利用したり、他のライセンスで提供したりする選択肢を持つことで、プロジェクトの資金調達や持続可能性を支援する場合があります。

Googleが主導する多くのオープンソースプロジェクト(Go、Android、Chromiumなど)では、貢献を行う前にCLAの締結が義務付けられています。CLAには、個人貢献者ライセンス契約(Individual CLA)と法人貢献者ライセンス契約(Corporate CLA)の2種類があります。このコミットでは、Pietro Gagliardi氏が個人としてCLAを締結したことが示されています。

### `addca`ツール

コミットメッセージに「Generated by addca.」とあることから、`addca`はGoプロジェクト内部で使用されるツールであり、CLAの締結が完了した貢献者を`AUTHORS`および`CONTRIBUTORS`ファイルに自動的に追加するために使用されると考えられます。このようなツールは、大規模なオープンソースプロジェクトにおいて、貢献者管理のプロセスを効率化するために不可欠です。

## 技術的詳細

このコミットの技術的な変更は非常に単純で、2つのテキストファイル(`AUTHORS`と`CONTRIBUTORS`)に1行ずつ新しいエントリを追加するだけです。

具体的には、以下の情報が追加されています。

-   `Pietro Gagliardi <pietro10@mac.com>`

このエントリは、貢献者の氏名とメールアドレスを標準的な形式で記述したものです。ファイルの変更は、既存のリストのアルファベット順に挿入されるように行われています。

このようなファイルへの追加は、通常、バージョン管理システム(Git)の差分(diff)として記録され、プロジェクトの履歴の一部となります。

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

```diff
diff --git a/AUTHORS b/AUTHORS
index 778d455d30..d4fbbd143e 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -336,6 +336,7 @@ Peter Waller <peter.waller@gmail.com>\n Peter Williams <pwil3058@gmail.com>\n Philip K. Warren <pkwarren@gmail.com>\n Pieter Droogendijk <pieter@binky.org.uk>\n+Pietro Gagliardi <pietro10@mac.com>\n Preetam Jinka <pj@preet.am>\n Quan Yong Zhai <qyzhai@gmail.com>\n Raif S. Naffah <go@naffah-raif.name>\ndiff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 41ce3988be..022679fdae 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -467,6 +467,7 @@ Peter Williams <pwil3058@gmail.com>\n Phil Pennock <pdp@golang.org>\n Philip K. Warren <pkwarren@gmail.com>\n Pieter Droogendijk <pieter@binky.org.uk>\n+Pietro Gagliardi <pietro10@mac.com>\n Preetam Jinka <pj@preet.am>\n Quan Yong Zhai <qyzhai@gmail.com>\n Raif S. Naffah <go@naffah-raif.name>\n```

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

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

-   `--- a/AUTHORS` と `+++ b/AUTHORS` は、`AUTHORS`ファイルの変更前と変更後を示します。
-   `--- a/CONTRIBUTORS` と `+++ b/CONTRIBUTORS` は、`CONTRIBUTORS`ファイルの変更前と変更後を示します。
-   `@@ -336,6 +336,7 @@` や `@@ -467,6 +467,7 @@` は、変更が行われたファイルの行番号と行数を示しています。例えば、`+336,7` は、変更後のファイルでは336行目から7行が関連していることを意味します。
-   行頭の`+`記号は、その行が新しく追加されたことを示します。

具体的には、両方のファイルにおいて、既存の貢献者リストの中に`Pietro Gagliardi <pietro10@mac.com>`という行が1行ずつ追加されています。この追加は、アルファベット順に並べられた既存のエントリの中に適切に挿入されています。

この変更は、Goプロジェクトのコードベース自体には影響を与えませんが、プロジェクトの管理と法的な側面において重要な意味を持ちます。

## 関連リンク

-   Goプロジェクトの貢献ガイドライン(一般的な情報源として): [https://go.dev/doc/contribute](https://go.dev/doc/contribute)
-   GoogleのCLAに関する情報(一般的な情報源として): [https://cla.developers.google.com/](https://cla.developers.google.com/)

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

-   GoプロジェクトのGitHubリポジトリ: [https://github.com/golang/go](https://github.com/golang/go)
-   Gitの差分表示に関する一般的なドキュメント
-   オープンソースプロジェクトにおける`AUTHORS`および`CONTRIBUTORS`ファイルの役割に関する一般的な知識
-   貢献者ライセンス契約(CLA)に関する一般的な知識