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

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

このコミットは、Goプロジェクトに新しい貢献者であるEwan Chou氏を追加するためのものです。具体的には、Ewan Chou氏が個人のContributor License Agreement (CLA) に署名したことを記録し、プロジェクトのAUTHORSファイルとCONTRIBUTORSファイルにその情報を追加しています。この変更は、addcaという内部ツールによって自動生成されたものです。

コミット

commit 64eec9322558a6e382c09ae9c7855de254c87b02
Author: Russ Cox <rsc@golang.org>
Date:   Wed Mar 6 15:20:24 2013 -0500

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

diff --git a/AUTHORS b/AUTHORS
index de75396d01..14e02200e7 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -98,6 +98,7 @@ Eric Roshan-Eisner <eric.d.eisner@gmail.com>
 Erik St. Martin <alakriti@gmail.com>
 Esko Luontola <esko.luontola@gmail.com>
 Evan Shaw <chickencha@gmail.com>
+Ewan Chou <coocood@gmail.com>
 Fan Hongjian <fan.howard@gmail.com>
 Fazlul Shahriar <fshahriar@gmail.com>
 Firmansyah Adiputra <frm.adiputra@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 01f4128721..d948e02bf9 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -155,6 +155,7 @@ Erik St. Martin <alakriti@gmail.com>
 Esko Luontola <esko.luontola@gmail.com>
 Evan Martin <evan.martin@gmail.com>
 Evan Shaw <chickencha@gmail.com>
+Ewan Chou <coocood@gmail.com>
 Fan Hongjian <fan.howard@gmail.com>
 Fazlul Shahriar <fshahriar@gmail.com>
 Firmansyah Adiputra <frm.adiputra@gmail.com>

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

https://github.com/golang/go/commit/64eec9322558a6e382c09ae9c7855de254c87b02

元コミット内容

このコミットの元の内容は以下の通りです。

A+C: Ewan Chou (individual CLA)

Generated by addca.

R=gobot
CC=golang-dev
https://golang.org/cl/7473047

これは、Ewan Chou氏が個人のContributor License Agreement (CLA) に署名したことを示しており、この変更がaddcaというツールによって自動生成されたものであることを明記しています。R=gobotはレビュー担当者がgobotであることを示し、CC=golang-devgolang-devメーリングリストに通知が送られたことを示しています。https://golang.org/cl/7473047は、この変更に対応するGerrit Code Reviewのチェンジリストへのリンクです。

変更の背景

オープンソースプロジェクト、特に大規模なプロジェクトでは、貢献者からのコードを受け入れる際に法的な側面を考慮する必要があります。これは、プロジェクトの知的財産権を保護し、将来的なライセンス問題を防ぐためです。GoプロジェクトのようなGoogleが管理するプロジェクトでは、貢献者がコードを提出する前にContributor License Agreement (CLA) に署名することが求められます。

CLAに署名することで、貢献者は自身の貢献に対する著作権を保持しつつ、プロジェクトの管理団体(この場合はGoogle)がその貢献をプロジェクトのライセンスの下で利用、配布、変更する権利を得ます。これにより、プロジェクトは法的な不確実性なく、貢献されたコードを自由に利用できるようになります。

このコミットは、Ewan Chou氏がGoプロジェクトへの貢献を開始するために必要なCLAに署名したことを示すものです。このようなコミットは、新しい貢献者がプロジェクトに参加する際の標準的な手続きの一部であり、プロジェクトの透明性と法的な健全性を保つために重要です。addcaというツールは、このプロセスを自動化し、手動でのエラーを防ぐために使用されています。

前提知識の解説

Contributor License Agreement (CLA)

Contributor License Agreement (CLA) は、オープンソースプロジェクトにおいて、貢献者(個人または企業)が自身のコードをプロジェクトに提供する際に署名する法的な合意書です。CLAの主な目的は以下の通りです。

  1. 知的財産権の明確化: 貢献されたコードの著作権が誰に帰属し、プロジェクトがそのコードをどのように利用できるかを明確にします。多くの場合、貢献者は著作権を保持しつつ、プロジェクトの管理団体に広範な利用権(ライセンス)を付与します。
  2. ライセンスの整合性: プロジェクト全体のライセンス(例: Apache License, MIT License)との整合性を保ちます。CLAにより、プロジェクトはすべての貢献されたコードがそのライセンスの下で配布可能であることを保証できます。
  3. 将来的なライセンス変更への対応: プロジェクトが将来的にライセンスを変更する必要が生じた場合でも、CLAによって、過去の貢献に対しても新しいライセンスを適用できる場合があります。
  4. 紛争の防止: 貢献されたコードに関する著作権侵害やその他の法的な紛争のリスクを軽減します。

GoプロジェクトのようにGoogleが管理するプロジェクトでは、Googleのオープンソースプロジェクト全体で共通のCLAが使用されます。これにより、一度CLAに署名すれば、Googleの他のオープンソースプロジェクトにも貢献できるようになります。

AUTHORSファイルとCONTRIBUTORSファイル

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

  • AUTHORSファイル: 通常、プロジェクトの主要な作者や、特に重要な貢献をした人々をリストアップします。このファイルは、プロジェクトの歴史的な記録や、著作権表示の一部として機能することがあります。
  • CONTRIBUTORSファイル: プロジェクトに何らかの形で貢献したすべての個人や団体をリストアップします。これには、コードの貢献者だけでなく、ドキュメントの作成者、バグ報告者、テスター、翻訳者なども含まれる場合があります。このファイルは、プロジェクトのコミュニティを認識し、感謝を示すために使用されます。

これらのファイルは、プロジェクトの透明性を高め、貢献者の努力を公に認める役割を果たします。

技術的詳細

このコミットは、Goプロジェクトの内部的な貢献者管理プロセスの一部を示しています。

addcaツール

コミットメッセージに「Generated by addca.」とあることから、addcaはGoプロジェクトの内部ツールであり、新しい貢献者がCLAに署名した際に、その情報をプロジェクトのリポジトリに自動的に追加するために使用されると考えられます。具体的な機能としては、以下の処理を自動化していると推測されます。

  1. CLA署名の確認: 貢献者がCLAに適切に署名したことを確認します。
  2. 情報の取得: 貢献者の名前とメールアドレスなどの情報を取得します。
  3. ファイルへの追加: AUTHORSファイルとCONTRIBUTORSファイルに、取得した貢献者情報を適切な形式で追加します。
  4. コミットの生成: これらの変更を含むGitコミットを自動的に生成します。
  5. Gerritへのアップロード: 生成されたコミットをGerrit Code Reviewシステムにアップロードし、レビュープロセスを開始します。

このような自動化ツールは、大規模なオープンソースプロジェクトにおいて、管理作業の効率化とヒューマンエラーの削減に不可欠です。

ファイルの変更

このコミットでは、以下の2つのファイルが変更されています。

  • AUTHORS
  • CONTRIBUTORS

両方のファイルに、Ewan Chou氏の名前とメールアドレス(Ewan Chou <coocood@gmail.com>)が追加されています。これは、Ewan Chou氏がGoプロジェクトの正式な貢献者として認識されたことを意味します。ファイルの変更は、既存のリストに新しいエントリを1行追加する形で行われています。

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

diff --git a/AUTHORS b/AUTHORS
index de75396d01..14e02200e7 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -98,6 +98,7 @@ Eric Roshan-Eisner <eric.d.eisner@gmail.com>
 Erik St. Martin <alakriti@gmail.com>
 Esko Luontola <esko.luontola@gmail.com>
 Evan Shaw <chickencha@gmail.com>
+Ewan Chou <coocood@gmail.com>
 Fan Hongjian <fan.howard@gmail.com>
 Fazlul Shahriar <fshahriar@gmail.com>
 Firmansyah Adiputra <frm.adiputra@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 01f4128721..d948e02bf9 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -155,6 +155,7 @@ Erik St. Martin <alakriti@gmail.com>
 Esko Luontola <esko.luontola@gmail.com>
 Evan Martin <evan.martin@gmail.com>
 Evan Shaw <chickencha@gmail.com>
+Ewan Chou <coocood@gmail.com>
 Fan Hongjian <fan.howard@gmail.com>
 Fazlul Shahriar <fshahriar@gmail.com>
 Firmansyah Adiputra <frm.adiputra@gmail.com>

コアとなるコードの解説

上記のdiffは、AUTHORSファイルとCONTRIBUTORSファイルの両方に、Ewan Chou <coocood@gmail.com>という行が追加されたことを示しています。

  • AUTHORSファイルでは、既存の貢献者リストのEvan Shaw <chickencha@gmail.com>の後に、Ewan Chou氏のエントリが挿入されています。
  • CONTRIBUTORSファイルでも同様に、既存の貢献者リストのEvan Shaw <chickencha@gmail.com>の後に、Ewan Chou氏のエントリが挿入されています。

この変更は、Ewan Chou氏がGoプロジェクトの正式な貢献者として認識され、その情報がプロジェクトの公式記録に追加されたことを意味します。これにより、Ewan Chou氏はGoプロジェクトにコードを貢献する法的な資格を得たことになります。

関連リンク

参考にした情報源リンク