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

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

このコミットは、GoプロジェクトのAUTHORSファイルとCONTRIBUTORSファイルに、新たな貢献者であるLuka Zakrajšek氏を追加するものです。これは、彼が個人のContributor License Agreement (CLA) に署名したことによるもので、addcaツールによって自動生成されました。

コミット

commit fba1dfc6f0f172a48b1ae0d9dede194d082e4a18
Author: Brad Fitzpatrick <bradfitz@golang.org>
Date:   Mon Mar 17 15:49:32 2014 -0700

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

diff --git a/AUTHORS b/AUTHORS
index 40d0fe6a05..4fec22fa60 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -237,6 +237,7 @@ Lorenzo Stoakes <lstoakes@gmail.com>
 Luca Greco <luca.greco@alcacoop.it>
 Lucio De Re <lucio.dere@gmail.com>
 Luit van Drongelen <luitvd@gmail.com>
+Luka Zakrajšek <tr00.g33k@gmail.com>
 Luke Curley <qpingu@gmail.com>
 Marc Weistroff <marc@weistroff.net>
 Marco Hennings <marco.hennings@freiheit.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 37c129d415..a98da8012b 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -339,6 +339,7 @@ Louis Kruger <louisk@google.com>
 Luca Greco <luca.greco@alcacoop.it>
 Lucio De Re <lucio.dere@gmail.com>
 Luit van Drongelen <luitvd@gmail.com>
+Luka Zakrajšek <tr00.g33k@gmail.com>
 Luke Curley <qpingu@gmail.com>
 Luuk van Dijk <lvd@golang.org> <lvd@google.com>
 Manoj Dayaram <platform-dev@moovweb.com> <manoj.dayaram@moovweb.com>

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

https://github.com/golang/go/commit/fba1dfc6f0f172a48b1ae0d9dede194d082e4a18

元コミット内容

このコミットは、Goプロジェクトの貢献者リストにLuka Zakrajšek氏を追加するものです。コミットメッセージの "A+C" は "AUTHORS and CONTRIBUTORS" を指し、彼が個人のContributor License Agreement (CLA) に署名したことを示しています。この変更は、CLAの署名後にaddcaというツールによって自動的に生成されたものです。R=gobotCC=golang-codereviewsは、それぞれコードレビューの担当者とメーリングリストを示しています。https://golang.org/cl/77120044は、この変更に対応するGerritのコードレビューリンクです。

変更の背景

Goプロジェクトを含む多くの大規模なオープンソースプロジェクトでは、貢献者からのコードを受け入れる前に、Contributor License Agreement (CLA) の署名を義務付けています。これは、プロジェクトの知的財産権を保護し、将来的なライセンス変更や法的な問題が発生した場合に備えるためのものです。

Luka Zakrajšek氏がGoプロジェクトに貢献するために個人のCLAに署名したため、その記録として彼の名前とメールアドレスがプロジェクトのAUTHORSファイルとCONTRIBUTORSファイルに追加される必要がありました。このプロセスは、addca(Add Contributor Agreement)という内部ツールによって自動化されており、CLAの署名が確認されると、関連するファイルが更新されるコミットが生成されます。

前提知識の解説

Contributor License Agreement (CLA)

CLA(Contributor License Agreement)は、オープンソースプロジェクトにおいて、貢献者が自身のコードの著作権をプロジェクトの所有者(または特定の団体)に譲渡するか、あるいはプロジェクトがそのコードを使用、配布、変更する権利を付与することに同意する法的な文書です。

なぜCLAが必要なのか?

  1. 知的財産権の明確化: 誰がコードの著作権を所有しているかを明確にし、将来的な著作権侵害の訴訟リスクを軽減します。
  2. ライセンスの柔軟性: プロジェクトが将来的にライセンスを変更する際に、すべての貢献者から個別に同意を得る必要がなくなります。これにより、プロジェクトの持続可能性と成長が促進されます。
  3. 法的な保護: プロジェクトが第三者からの訴訟に直面した場合、CLAはプロジェクトを保護する盾となります。

Goプロジェクトでは、個人CLAと企業CLAの2種類があり、貢献者は自身の状況に応じて適切なCLAに署名する必要があります。

AUTHORSファイルと CONTRIBUTORSファイル

かつてGoプロジェクトでは、AUTHORSファイルとCONTRIBUTORSファイルという2つのテキストファイルで、プロジェクトに貢献した人々の名前とメールアドレスを管理していました。

  • AUTHORSファイル: 主にプロジェクトの主要な作者や、初期からの貢献者をリストアップしていました。
  • CONTRIBUTORSファイル: より広範な貢献者、例えばバグ修正、ドキュメントの改善、小さな機能追加などを行った人々をリストアップしていました。

これらのファイルは、プロジェクトの歴史と貢献者を可視化する役割を果たしていましたが、現在ではGoプロジェクトではこの慣行は廃止されており、公式な作者情報はGitのソース管理履歴から取得されるようになっています。しかし、このコミットが作成された2014年時点では、これらのファイルはまだ活発に利用されていました。

Gerrit

Gerritは、Goプロジェクトがコードレビューに利用しているウェブベースのコードレビューシステムです。Gitリポジトリと連携し、変更セット(コミット)をレビューし、承認されたものだけがメインのブランチにマージされるワークフローを提供します。コミットメッセージにあるhttps://golang.org/cl/77120044のようなリンクは、Gerrit上の特定の変更セット(Change-List, CL)を指します。

技術的詳細

このコミットは、GoプロジェクトのルートディレクトリにあるAUTHORSファイルとCONTRIBUTORSファイルという2つのプレーンテキストファイルを変更しています。具体的には、それぞれのファイルのアルファベット順のリストに、Luka Zakrajšek氏の名前とメールアドレスが1行追加されています。

この変更は手動で行われたものではなく、コミットメッセージに明記されているようにaddcaというツールによって生成されました。addcaは、Goプロジェクトの内部ツールであり、貢献者がCLAに署名したことを確認した後、自動的にこれらの貢献者リストファイルを更新する役割を担っています。これにより、手作業によるミスを防ぎ、CLAの管理プロセスを効率化しています。

ファイルの変更は非常にシンプルで、既存のリストの適切な位置に新しいエントリを挿入するだけです。Gitの差分(diff)を見ると、それぞれのファイルに1行ずつ追加されていることが確認できます。

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

diff --git a/AUTHORS b/AUTHORS
index 40d0fe6a05..4fec22fa60 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -237,6 +237,7 @@ Lorenzo Stoakes <lstoakes@gmail.com>
 Luca Greco <luca.greco@alcacoop.it>
 Lucio De Re <lucio.dere@gmail.com>
 Luit van Drongelen <luitvd@gmail.com>
+Luka Zakrajšek <tr00.g33k@gmail.com>
 Luke Curley <qpingu@gmail.com>
 Marc Weistroff <marc@weistroff.net>
 Marco Hennings <marco.hennings@freiheit.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 37c129d415..a98da8012b 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -339,6 +339,7 @@ Louis Kruger <louisk@google.com>
 Luca Greco <luca.greco@alcacoop.it>
 Lucio De Re <lucio.dere@gmail.com>
 Luit van Drongelen <luitvd@gmail.com>
+Luka Zakrajšek <tr00.g33k@gmail.com>
 Luke Curley <qpingu@gmail.com>
 Luuk van Dijk <lvd@golang.org> <lvd@google.com>
 Manoj Dayaram <platform-dev@moovweb.com> <manoj.dayaram@moovweb.com>

コアとなるコードの解説

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

  • AUTHORSファイル:

    • @@ -237,6 +237,7 @@ は、変更が元のファイルの237行目から6行に影響し、変更後のファイルでは237行目から7行になることを示しています。
    • +Luka Zakrajšek <tr00.g33k@gmail.com> の行が追加されています。これは、Luka Zakrajšek氏の名前と彼のメールアドレスが、既存のアルファベット順のリストの適切な位置に挿入されたことを意味します。
  • CONTRIBUTORSファイル:

    • @@ -339,6 +339,7 @@ は、変更が元のファイルの339行目から6行に影響し、変更後のファイルでは339行目から7行になることを示しています。
    • 同様に、+Luka Zakrajšek <tr00.g33k@gmail.com> の行が追加されています。

この変更は、Goプロジェクトへの貢献が認められ、CLAが署名された結果として、Luka Zakrajšek氏が正式にプロジェクトの貢献者リストに加わったことを示しています。

関連リンク

  • Gerrit Change-List: https://golang.org/cl/77120044

参考にした情報源リンク