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

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

このコミットは、Goプロジェクトの貢献者リストに新しいエントリを追加するものです。具体的には、AUTHORS ファイルと CONTRIBUTORS ファイルに Arnaud Ysmal <arnaud.ysmal@gmail.com> というエントリが追加されています。これは、Arnaud Ysmal氏がGoプロジェクトに貢献するための個人貢献者ライセンス契約(Individual CLA)を締結したことを示すものです。

コミット

commit 736cb08b9729cf26a3585e0198e92f6096017d12
Author: Brad Fitzpatrick <bradfitz@golang.org>
Date:   Tue Sep 10 11:49:35 2013 -0700

    A+C: Arnaud Ysmal (individual CLA)
    
    Generated by addca.
    
    R=gobot
    CC=golang-dev
    https://golang.org/cl/13265044

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

https://github.com/golang/go/commit/736cb08b9729cf26a3585e0198e92f6096017d12

元コミット内容

A+C: Arnaud Ysmal (individual CLA)

Generated by addca.

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

変更の背景

このコミットの背景には、オープンソースプロジェクトにおける貢献者ライセンス契約(CLA)の重要性があります。Goプロジェクトのような大規模なオープンソースプロジェクトでは、プロジェクトのコードベースに対する知的財産権の明確化が非常に重要です。貢献者がコードを提出する際にCLAに署名することで、プロジェクトは提出されたコードをプロジェクトのライセンスの下で配布、使用、変更する権利を得ます。これにより、将来的な法的な問題(例えば、著作権侵害の申し立てなど)からプロジェクトとそのユーザーを保護することができます。

このコミットは、Arnaud Ysmal氏がGoプロジェクトへの貢献を開始するにあたり、必要なCLAを締結したことを記録するためのものです。コミットメッセージにある「Generated by addca」は、このエントリが addca というツールまたはスクリプトによって自動生成されたことを示唆しており、CLAの管理プロセスが自動化されていることを示しています。

前提知識の解説

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

CLAは、個人または企業がオープンソースプロジェクトに貢献する際に、プロジェクトの所有者に対して、その貢献物を使用、複製、変更、配布する権利を付与するための法的な合意書です。CLAは、プロジェクトの知的財産権を保護し、将来的な著作権や特許に関する紛争を避けるために用いられます。

CLAには主に以下の2つのタイプがあります。

  1. Individual CLA (ICLA): 個人がプロジェクトに貢献する際に署名するものです。このコミットで言及されているのはこのタイプです。
  2. Corporate CLA (CCLA): 企業が従業員を通じてプロジェクトに貢献する際に署名するものです。これにより、従業員の貢献が企業の知的財産権ポリシーに準拠していることが保証されます。

CLAの主な目的は以下の通りです。

  • 知的財産権の明確化: 誰がコードの著作権を所有しているかを明確にし、プロジェクトがそのコードを合法的に使用できることを保証します。
  • ライセンスの統一: 貢献されたコードがプロジェクトの既存のライセンス(例: Apache License, MIT Licenseなど)の下で配布されることを保証します。
  • 法的リスクの軽減: 将来的に貢献されたコードに関する著作権侵害や特許侵害の訴訟が発生した場合に、プロジェクトを保護します。

AUTHORSファイルと CONTRIBUTORSファイル

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

  • AUTHORSファイル: 通常、プロジェクトの主要な作者や、コードベースに大きな影響を与えた人々をリストアップします。これは、プロジェクトの歴史的な記録としての側面が強いです。
  • CONTRIBUTORSファイル: プロジェクトに何らかの形で貢献したすべての人々(コードの提出者、バグ報告者、ドキュメントの作成者、テスターなど)をリストアップします。AUTHORSファイルよりも広範な貢献者を含みます。

これらのファイルは、プロジェクトの透明性を高め、貢献者への感謝を示す役割も果たします。

技術的詳細

このコミット自体は、Go言語のランタイムやコンパイラといった技術的な側面には直接関係していません。これは、プロジェクトの管理と法務に関する変更です。

AUTHORS および CONTRIBUTORS ファイルは、プレーンテキストファイルであり、各行に貢献者の名前とメールアドレスが記載されています。このコミットでは、これらのファイルに新しい行が追加されることで、Arnaud Ysmal氏がGoプロジェクトの正式な貢献者として認識されたことを示しています。

コミットメッセージの Generated by addca は、CLAの署名プロセスが完了した後に、自動的にこれらのファイルが更新されるメカニズムが存在することを示唆しています。これは、大規模なオープンソースプロジェクトにおいて、手動でのファイル更新によるエラーを防ぎ、管理プロセスを効率化するための一般的なアプローチです。

R=gobotCC=golang-dev は、コードレビューのプロセスに関連する情報です。

  • R=gobot: gobot は、Goプロジェクトにおける自動化されたレビューボットまたはシステムを指す可能性があります。この場合、この変更が自動システムによって承認されたことを示しているかもしれません。
  • CC=golang-dev: この変更が golang-dev メーリングリストに通知されたことを示します。これは、Go開発者コミュニティ全体にこの変更が知らされることを意味します。

https://golang.org/cl/13265044 は、この変更がGoのコードレビューシステム(Gerritベースのシステム)におけるチェンジリスト(Change List)のIDであることを示しています。このリンクを辿ることで、このコミットに至るまでのレビュープロセスや議論の詳細を確認することができます。

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

このコミットにおける「コアとなるコード」は、Go言語のソースコードそのものではなく、プロジェクトの管理ファイルである AUTHORSCONTRIBUTORS です。

diff --git a/AUTHORS b/AUTHORS
index f48a6b8f51..732baec685 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -44,6 +44,7 @@ Anschel Schaffer-Cohen <anschelsc@gmail.com>
 Anthony Eufemio <anthony.eufemio@gmail.com>
 Anthony Martin <ality@pbrane.org>
 Anthony Starks <ajstarks@gmail.com>
+Arnaud Ysmal <arnaud.ysmal@gmail.com>
 Aron Nopanen <aron.nopanen@gmail.com>
 Arvindh Rajesh Tamilmani <art@a-30.net>
 Aulus Egnatius Varialus <varialus@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 6f960f3b58..713d07116f 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -76,6 +76,7 @@ Anschel Schaffer-Cohen <anschelsc@gmail.com>
 Anthony Eufemio <anthony.eufemio@gmail.com>
 Anthony Martin <ality@pbrane.org>
 Anthony Starks <ajstarks@gmail.com>
+Arnaud Ysmal <arnaud.ysmal@gmail.com>
 Aron Nopanen <aron.nopanen@gmail.com>
 Arvindh Rajesh Tamilmani <art@a-30.net>
 Asim Shankar <asimshankar@gmail.com>

コアとなるコードの解説

上記の差分が示すように、AUTHORS ファイルと CONTRIBUTORS ファイルの両方に、以下の行が追加されています。

+Arnaud Ysmal <arnaud.ysmal@gmail.com>

これは、Arnaud Ysmal氏の名前とメールアドレスを、それぞれのファイルの適切なアルファベット順の位置に挿入したものです。この変更により、Arnaud Ysmal氏がGoプロジェクトの公式な貢献者リストに加わったことが記録されます。

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

関連リンク

  • Goプロジェクトの貢献ガイドライン: Goプロジェクトに貢献するための公式なガイドラインや手順が記載されています。通常、CLAに関する情報も含まれています。
  • Contributor License Agreement (CLA) の説明: CLAの概念や重要性について詳しく解説している情報源。

参考にした情報源リンク

  • GoプロジェクトのGitHubリポジトリ: https://github.com/golang/go
  • コミットハッシュ: 736cb08b9729cf26a3585e0198e92f6096017d12
  • Goのコードレビューシステム(Gerrit)のチェンジリスト: https://golang.org/cl/13265044
  • 一般的なオープンソースプロジェクトにおけるCLAの概念に関する知識。