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

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

このコミットは、GoプロジェクトのAUTHORSファイルとCONTRIBUTORSファイルを更新するものです。具体的には、新しい貢献者であるAlexander Larsson氏の名前とメールアドレスがこれらのファイルに追加されています。これは、通常、新しい貢献者がプロジェクトにコードを提出する前に、個別の貢献者ライセンス契約(Individual Contributor License Agreement, ICLA)に署名した結果として行われます。

コミット

commit 375b8ea4f345416524c9b012bad08e33b29e21e2
Author: David Symonds <dsymonds@golang.org>
Date:   Wed Feb 12 12:34:04 2014 +1100

    A+C: Alexander Larsson (individual CLA)
    
    Generated by addca.
    
    R=gobot
    CC=golang-codereviews
    https://golang.org/cl/53410046

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

https://github.com/golang/go/commit/375b8ea4f345416524c9b012bad08e33b29e21e2

元コミット内容

このコミットは、Alexander Larsson氏が個別の貢献者ライセンス契約(CLA)を締結したことを示すものです。コミットメッセージには「Generated by addca.」とあり、これはaddcaというツールによって自動生成されたものであることを示唆しています。このツールは、CLAの署名が完了した際に、関連するファイルを更新するために使用されると考えられます。

変更の背景

オープンソースプロジェクト、特にGoogleが関与するプロジェクトでは、貢献者ライセンス契約(CLA)の締結が一般的です。CLAは、貢献者が提出するコードの著作権をプロジェクトの所有者(この場合はGoogle)に譲渡するか、または広範なライセンスを付与することを保証するための法的な合意です。これにより、プロジェクトのコードベースのライセンスの明確性が保たれ、将来的な法的な問題を防ぐことができます。

このコミットの背景は、Alexander Larsson氏がGoプロジェクトに貢献を開始するにあたり、必要なCLAを締結したことにあります。CLAが締結されると、その貢献者の名前はプロジェクトのAUTHORSおよびCONTRIBUTORSファイルに追加され、公式にプロジェクトの貢献者として認識されます。コミットメッセージの「A+C」は「AUTHORS and CONTRIBUTORS」を指し、「individual CLA」は個人としてのCLA締結を意味します。

前提知識の解説

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

CLAは、オープンソースプロジェクトにおいて、貢献者がそのプロジェクトにコードやドキュメントなどの貢献を行う際に締結する法的な契約です。主な目的は以下の通りです。

  • 著作権の明確化: 貢献されたコードの著作権が誰に帰属するか、またはどのようなライセンスで利用されるかを明確にします。これにより、プロジェクトのライセンス(例: BSDライセンス、MITライセンスなど)と矛盾しない形で貢献が受け入れられるようになります。
  • 法的な保護: プロジェクトの所有者(企業や財団など)が、貢献されたコードに関する将来的な著作権侵害の訴訟から保護されることを保証します。
  • ライセンスの再配布: プロジェクトの所有者が、貢献されたコードをプロジェクトのライセンスの下で自由に再配布、変更、サブライセンスできる権利を確保します。

Googleが関与する多くのオープンソースプロジェクトでは、CLAの締結が必須となっています。これは、Googleが自社のプロジェクトの法的な健全性を維持し、将来的なライセンスの変更や商業利用の可能性を確保するためです。

AUTHORSファイルとCONTRIBUTORSファイル

オープンソースプロジェクトでは、プロジェクトに貢献した人々を記録するために、AUTHORSCONTRIBUTORSといったファイルがしばしば使用されます。

  • AUTHORS: 通常、プロジェクトの主要な作者や、プロジェクトの初期段階から深く関わっている人々をリストアップします。
  • CONTRIBUTORS: プロジェクトに何らかの形で貢献したすべての人々(コードの提出者、バグ報告者、ドキュメントの作成者など)をより広範にリストアップします。

これらのファイルは、貢献者への感謝を示すだけでなく、プロジェクトの透明性を高め、誰がどのような貢献をしたかを追跡するのに役立ちます。CLAを締結した貢献者は、通常、これらのファイルに追加されます。

技術的詳細

このコミット自体は、非常に単純なテキストファイルの変更です。GoプロジェクトのルートディレクトリにあるAUTHORSCONTRIBUTORSという2つのファイルに、新しい行が追加されています。

  • AUTHORSファイル: プロジェクトの主要な作者や、初期からの貢献者をリストアップするファイルです。
  • CONTRIBUTORSファイル: プロジェクトに貢献したすべての個人をリストアップするファイルです。

コミットメッセージにある「Generated by addca.」は、この変更が手動で行われたのではなく、addcaという内部ツールによって自動的に生成されたことを示しています。このツールは、CLAの署名プロセスと統合されており、署名が完了すると自動的にこれらのファイルを更新する役割を担っていると考えられます。これにより、手作業によるミスを防ぎ、CLAの管理プロセスを効率化しています。

変更内容は、Alexander Larsson氏の名前とメールアドレス(Alexander Larsson <alexander.larsson@gmail.com>)を、それぞれのファイルの適切なアルファベット順の位置に挿入することです。これは、既存のリストの整合性を保ち、新しいエントリを簡単に見つけられるようにするための一般的な慣行です。

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

diff --git a/AUTHORS b/AUTHORS
index 18e8cb7abb..a0e1b1880e 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -20,6 +20,7 @@ Aleksandar Dezelin <dezelin@gmail.com>
 Alex A Skinner <alex@lx.lc>
 Alex Brainman <alex.brainman@gmail.com>
 Alex Jin <toalexjin@gmail.com>
+Alexander Larsson <alexander.larsson@gmail.com>
 Alexander Orlov <alexander.orlov@loxal.net>
 Alexander Reece <awreece@gmail.com>
 Alexander Surma <surma@surmair.de>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 1407372f3f..1cf4fb41d6 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -47,6 +47,7 @@ Alex A Skinner <alex@lx.lc>
 Alex Brainman <alex.brainman@gmail.com>
 Alex Bramley <abramley@google.com>
 Alex Jin <toalexjin@gmail.com>
+Alexander Larsson <alexander.larsson@gmail.com>
 Alexander Orlov <alexander.orlov@loxal.net>
 Alexander Reece <awreece@gmail.com>
 Alexander Surma <surma@surmair.de>

コアとなるコードの解説

上記のdiff出力が示すように、変更は非常にシンプルです。

  1. AUTHORSファイルへの変更:

    • AUTHORSファイルの23行目(変更前は20行目から数えて4行目)に、+Alexander Larsson <alexander.larsson@gmail.com>という行が追加されています。
    • この行は、既存のAlex Jin <toalexjin@gmail.com>の次、Alexander Orlov <alexander.orlov@loxal.net>の前に挿入されており、アルファベット順が維持されています。
  2. CONTRIBUTORSファイルへの変更:

    • 同様に、CONTRIBUTORSファイルの50行目(変更前は47行目から数えて4行目)に、+Alexander Larsson <alexander.larsson@gmail.com>という行が追加されています。
    • この行も、既存のAlex Jin <toalexjin@gmail.com>の次、Alexander Orlov <alexander.orlov@loxal.net>の前に挿入されており、アルファベット順が維持されています。

これらの変更は、Alexander Larsson氏がGoプロジェクトの公式な貢献者リストに追加されたことを意味します。これは、彼がプロジェクトにコードを提出する準備が整ったこと、または既に提出したコードが受け入れられるための前提条件が満たされたことを示唆しています。

関連リンク

参考にした情報源リンク

  • GoプロジェクトのGitHubリポジトリ: https://github.com/golang/go
  • オープンソースにおけるCLAの概念に関する一般的な情報源 (例: Wikipedia, 各プロジェクトの貢献ガイドライン)
  • コミットメッセージに含まれる情報 (golang.org/cl/53410046 はGoのコードレビューシステムGerritのチェンジリストへのリンクです。)