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

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

このコミットは、GoプロジェクトのCONTRIBUTORSファイルに新しい貢献者であるEvan Kroske氏を追加するものです。これは、Goプロジェクトへの貢献が認められ、必要なContributor License Agreement (CLA) が完了したことを示す記録的な変更です。

コミット

C: add Evan Kroske (Google CLA)

LGTM=bradfitz
R=bradfitz
CC=golang-codereviews
https://golang.org/cl/110160045

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

https://github.com/golang/go/commit/131526f64d0573b0070454bb82d9820518322668

元コミット内容

commit 131526f64d0573b0070454bb82d9820518322668
Author: Ian Lance Taylor <iant@golang.org>
Date:   Thu Jun 26 10:01:28 2014 -0700

    C: add Evan Kroske (Google CLA)
    
    LGTM=bradfitz
    R=bradfitz
    CC=golang-codereviews
    https://golang.org/cl/110160045
---
 CONTRIBUTORS | 1 +
 1 file changed, 1 insertion(+)

diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 3a18f7e225..b68980fceb 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -211,6 +211,7 @@ Eric Roshan-Eisner <eric.d.eisner@gmail.com>\n Erik St. Martin <alakriti@gmail.com>\n Erik Westrup <erik.westrup@gmail.com>\n Esko Luontola <esko.luontola@gmail.com>\n+Evan Kroske <evankroske@google.com>\n Evan Martin <evan.martin@gmail.com>\n Evan Shaw <chickencha@gmail.com>\n Ewan Chou <coocood@gmail.com>\n```

## 変更の背景

このコミットの背景には、オープンソースプロジェクトにおける貢献者の管理と法的な側面があります。GoプロジェクトはGoogleによって開発されており、Googleがホストする多くのオープンソースプロジェクトと同様に、貢献者からのコードを受け入れる前にContributor License Agreement (CLA) の締結を求めています。

`CONTRIBUTORS`ファイルは、プロジェクトにコードを貢献したすべての個人または団体をリストアップするためのものです。新しい貢献者がコードを提出し、その貢献がプロジェクトに受け入れられる準備ができた際、通常はCLAの締結が確認された後に、このファイルに名前が追加されます。これにより、プロジェクトは貢献者の努力を公式に認めるとともに、貢献されたコードのライセンスに関する明確な記録を保持することができます。

この特定のコミットは、Evan Kroske氏がGoプロジェクトに貢献し、GoogleのCLAを締結したことを示しています。

## 前提知識の解説

### CONTRIBUTORSファイル

`CONTRIBUTORS`ファイルは、多くのオープンソースプロジェクトで見られる慣習的なファイルです。このファイルは、プロジェクトに何らかの形で貢献した個人や組織の名前を記録することを目的としています。主な目的は以下の通りです。

*   **貢献の認識**: プロジェクトの成功に貢献した人々を公式に認識し、感謝の意を示す。
*   **透明性**: 誰がプロジェクトに貢献したかを明確にする。
*   **法的記録**: 特にライセンスや著作権に関する問題が発生した場合に、貢献者のリストが参照されることがある。

このファイルは通常、プロジェクトのルートディレクトリに配置され、テキスト形式で管理されます。

### Contributor License Agreement (CLA)

CLA(貢献者ライセンス同意書)は、個人または企業がオープンソースプロジェクトに貢献する際に、プロジェクトの所有者(この場合はGoogle)と締結する法的な文書です。CLAの主な目的は以下の通りです。

*   **ライセンスの明確化**: 貢献されたコードがプロジェクトのライセンス(例: BSDライセンス)の下で配布されることを保証し、プロジェクト所有者がそのコードを自由に利用、変更、配布できるようにする。
*   **著作権の保護**: 貢献されたコードの著作権が適切に扱われることを保証し、将来的な著作権侵害の訴訟リスクを軽減する。
*   **プロジェクトの持続可能性**: プロジェクト所有者が貢献されたコードを再ライセンスしたり、他のプロジェクトに統合したりする柔軟性を持つことを可能にする。

Googleは、Goを含む多くのオープンソースプロジェクトでCLAを要求しています。これにより、Googleは貢献されたコードを安心してプロジェクトに組み込み、将来的にライセンスモデルを変更するなどの柔軟性を確保できます。CLAには通常、個人用CLAと法人用CLAの2種類があります。

### LGTM, R, CC

これらは、Goプロジェクトのコードレビュープロセスでよく使われる略語です。

*   **LGTM (Looks Good To Me)**: レビュー担当者がコード変更を承認し、マージする準備ができたと判断したことを示します。
*   **R (Reviewed)**: レビュー担当者がコードをレビューしたことを示しますが、必ずしもLGTMと同じレベルの承認を意味するわけではありません。Goプロジェクトでは、LGTMがマージの承認を意味することが多いです。
*   **CC (Carbon Copy)**: レビュープロセスに関心がある、または通知されるべき追加の個人やメーリングリストを示します。この場合、`golang-codereviews`はGoプロジェクトのコードレビューメーリングリストを指します。

これらのタグは、Goプロジェクトが使用するGerritなどのコードレビューシステムでコメントとして追加されることが一般的です。

## 技術的詳細

このコミット自体は、Goランタイムやコンパイラの内部動作に直接的な技術的変更を加えるものではありません。その代わりに、プロジェクトのメタデータとガバナンスに関連する変更です。

具体的には、`CONTRIBUTORS`ファイルは単なるテキストファイルであり、その内容はプロジェクトのビルドプロセスや実行時に直接影響を与えることはありません。このファイルへの変更は、Gitの通常のバージョン管理システムを通じて追跡されます。

変更の技術的な側面は、Gitの差分(diff)として表現されています。これは、`CONTRIBUTORS`ファイルに新しい行が追加されたことを示しています。追加された行は、貢献者の名前とメールアドレス(`Evan Kroske <evankroske@google.com>`)です。この行は、ファイルの既存のソート順(アルファベット順)に従って適切な位置に挿入されています。

この種のコミットは、オープンソースプロジェクトの健全な運用と、貢献者への適切な認識を維持するために不可欠なものです。

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

```diff
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -211,6 +211,7 @@ Eric Roshan-Eisner <eric.d.eisner@gmail.com>\n Erik St. Martin <alakriti@gmail.com>\n Erik Westrup <erik.westrup@gmail.com>\n Esko Luontola <esko.luontola@gmail.com>\n+Evan Kroske <evankroske@google.com>\n Evan Martin <evan.martin@gmail.com>\n Evan Shaw <chickencha@gmail.com>\n Ewan Chou <coocood@gmail.com>\n```

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

このコミットにおける「コアとなるコード」の変更は、`CONTRIBUTORS`ファイルへの単一の行の追加です。

*   `--- a/CONTRIBUTORS` と `+++ b/CONTRIBUTORS` は、変更が`CONTRIBUTORS`ファイルに対して行われたことを示しています。
*   `@@ -211,6 +211,7 @@` は、変更が元のファイルの211行目から始まり、6行が変更され、新しいファイルでは211行目から7行が変更されたことを示します。これは、1行が追加されたことを意味します。
*   `+Evan Kroske <evankroske@google.com>` の行が追加された新しい内容です。行頭の`+`は、この行が追加されたことを示しています。

この変更は、Evan Kroske氏がGoプロジェクトの貢献者リストに正式に追加されたことを意味します。これは、彼がGoプロジェクトに何らかの貢献を行い、その貢献が受け入れられるために必要な手続き(この場合はGoogle CLAの締結)を完了したことを示しています。このファイルはアルファベット順にソートされているため、`Evan Kroske`は`Esko Luontola`の後に挿入されています。

## 関連リンク

*   Goプロジェクトの貢献ガイドライン (一般的な情報):
    *   [https://go.dev/doc/contribute](https://go.dev/doc/contribute)
*   Google Contributor License Agreement (CLA) について:
    *   [https://cla.developers.google.com/](https://cla.developers.google.com/)

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

*   Goプロジェクトの公式ドキュメント
*   Google Contributor License Agreement (CLA) の公式情報
*   Gitの差分表示に関する一般的な知識
*   オープンソースプロジェクトにおける`CONTRIBUTORS`ファイルの慣習に関する一般的な知識
*   Goプロジェクトのコードレビュープロセスに関する一般的な知識 (LGTM, R, CC)
*   [https://go.dev/doc/contribute](https://go.dev/doc/contribute)
*   [https://cla.developers.google.com/](https://cla.developers.google.com/)