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

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

このコミットは、GoプロジェクトのAUTHORSファイルとCONTRIBUTORSファイルに新しい貢献者であるGerasimos Dimitriadis氏の情報を追加するものです。これは、彼が個人の貢献者ライセンス契約(CLA)に署名したことを示すものであり、addcaというツールによって自動生成された変更です。

コミット

commit 64e98171ca916e733345b2d5cdf42774a8e136d1
Author: Adam Langley <agl@golang.org>
Date:   Fri May 24 12:36:59 2013 -0400

    A+C: Gerasimos Dimitriadis (individual CLA)
    
    Generated by addca.
    
    R=gobot
    CC=golang-dev
    https://golang.org/cl/9734043

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

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

元コミット内容

AUTHORS      | 1 +
CONTRIBUTORS | 1 +
2 files changed, 2 insertions(+)

diff --git a/AUTHORS b/AUTHORS
index c4e48fa279..822d6f356d 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -115,6 +115,7 @@ Frederick Kelly Mayle III <frederickmayle@gmail.com>
 Frithjof Schulze <schulze@math.uni-hannover.de>
 Gary Burd <gary@beagledreams.com>
 Georg Reinke <guelfey@gmail.com>
+Gerasimos Dimitriadis <gedimitr@gmail.com>
 Gideon Jan-Wessel Redelinghuys <gjredelinghuys@gmail.com>
 Giles Lean <giles.lean@pobox.com>
 Google Inc.
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 2849b07fc5..324a62f380 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -175,6 +175,7 @@ Fumitoshi Ukai <ukai@google.com>
 Gaal Yahas <gaal@google.com>
 Gary Burd <gary@beagledreams.com> <gary.burd@gmail.com>
 Georg Reinke <guelfey@gmail.com>
+Gerasimos Dimitriadis <gedimitr@gmail.com>
 Gideon Jan-Wessel Redelinghuys <gjredelinghuys@gmail.com>
 Giles Lean <giles.lean@pobox.com>
 Graham Miller <graham.miller@gmail.com>

変更の背景

このコミットの背景には、オープンソースプロジェクトにおける貢献者管理の一般的なプラクティスがあります。Goプロジェクトのような大規模なオープンソースプロジェクトでは、コードの著作権とライセンスの明確化が非常に重要です。新しい貢献者がコードを提出する際、プロジェクトのライセンスに従うこと、およびその貢献が法的に問題ないことを保証するために、貢献者ライセンス契約(CLA: Contributor License Agreement)への署名が求められることがよくあります。

Gerasimos Dimitriadis氏がGoプロジェクトに貢献するために個人のCLAに署名したため、その事実をプロジェクトの公式な記録(AUTHORSおよびCONTRIBUTORSファイル)に反映させる必要がありました。このコミットは、その記録更新を目的としています。

前提知識の解説

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

CLAは、個人または企業がオープンソースプロジェクトにコードやドキュメントなどの貢献を行う際に、プロジェクトの所有者(または管理団体)と貢献者の間で締結される法的な合意書です。主な目的は以下の通りです。

  1. 著作権の明確化: 貢献されたコードの著作権が誰に帰属するかを明確にします。多くの場合、貢献者はプロジェクトの所有者に著作権を譲渡するか、またはプロジェクトのライセンスに基づいてコードを使用、配布、変更する永続的で取り消し不能な権利を付与します。
  2. ライセンスの保証: 貢献されたコードが、プロジェクトのライセンス(例: Apache License, MIT License)と互換性があり、第三者の著作権を侵害していないことを貢献者が保証します。
  3. プロジェクトの保護: 将来的にプロジェクトのライセンスを変更する際に、すべての貢献者からの同意を個別に得る必要がなくなるため、プロジェクトの柔軟性を保ちます。

GoプロジェクトはGoogleによって管理されており、GoogleがCLAを要求する典型的なプロジェクトの一つです。

AUTHORSファイルと CONTRIBUTORSファイル

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

  • AUTHORSファイル: 主にプロジェクトの主要な作者や、著作権を持つ個人や団体をリストアップするために使用されます。法的な著作権表示の目的で利用されることが多いです。
  • CONTRIBUTORSファイル: プロジェクトに何らかの形で貢献したすべての個人をリストアップするために使用されます。これには、コードの提出者だけでなく、ドキュメントの作成者、バグ報告者、テスターなども含まれることがあります。

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

addcaツール

コミットメッセージに「Generated by addca.」とあることから、addcaはCLAに署名した貢献者の情報を自動的にAUTHORSCONTRIBUTORSファイルに追加するための内部ツールであると推測されます。このようなツールは、大規模なプロジェクトで貢献者の管理プロセスを効率化するために開発されることがよくあります。手動でのファイル編集はエラーのリスクがあり、また時間がかかるため、自動化が推奨されます。

技術的詳細

このコミット自体は、Go言語のコードベースに対する直接的な機能変更やバグ修正ではありません。これは、プロジェクトのメタデータ、具体的には貢献者リストの更新です。

変更は以下の2つのテキストファイルに対して行われています。

  1. AUTHORS: このファイルにGerasimos Dimitriadis <gedimitr@gmail.com>という行が追加されました。これは、Gerasimos Dimitriadis氏がGoプロジェクトの著作権に関する正式な合意(CLA)を締結したことを示します。
  2. CONTRIBUTORS: 同様に、このファイルにもGerasimos Dimitriadis <gedimitr@gmail.com>という行が追加されました。これは、彼がGoプロジェクトに貢献する資格があることを示し、彼の貢献がプロジェクトの貢献者リストに正式に記録されたことを意味します。

この変更は、addcaというツールによって自動的に生成されたと明記されており、手動での編集ミスを防ぎ、一貫性を保つためのプロセスが確立されていることを示唆しています。R=gobotCC=golang-devは、それぞれレビュー担当者(gobotはおそらく自動レビューボット)とCC(golang-devメーリングリスト)を示しており、通常のコード変更と同様にレビュープロセスを経ていることがわかります。https://golang.org/cl/9734043は、この変更に対応するGerrit Code Reviewのチェンジリストへのリンクです。

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

このコミットにおける「コアとなるコード」は、Goプロジェクトのソースコードそのものではなく、プロジェクトのメタデータを構成するテキストファイルです。

具体的には、以下の2つのファイルが変更されています。

  • AUTHORSファイル
  • CONTRIBUTORSファイル

それぞれのファイルに、Gerasimos Dimitriadis氏の名前とメールアドレスが1行ずつ追加されています。

コアとなるコードの解説

変更されたファイルはプレーンテキストであり、特別なプログラミング言語の構文やロジックは含まれていません。

  • AUTHORSファイルへの追加:

    --- a/AUTHORS
    +++ b/AUTHORS
    @@ -115,6 +115,7 @@ Frederick Kelly Mayle III <frederickmayle@gmail.com>
     Frithjof Schulze <schulze@math.uni-hannover.de>
     Gary Burd <gary@beagledreams.com>
     Georg Reinke <guelfey@gmail.com>
    +Gerasimos Dimitriadis <gedimitr@gmail.com>
     Gideon Jan-Wessel Redelinghuys <gjredelinghuys@gmail.com>
     Giles Lean <giles.lean@pobox.com>
     Google Inc.
    

    この差分は、Georg Reinke <guelfey@gmail.com>の行の直後に、Gerasimos Dimitriadis <gedimitr@gmail.com>という新しい行が挿入されたことを示しています。

  • CONTRIBUTORSファイルへの追加:

    --- a/CONTRIBUTORS
    +++ b/CONTRIBUTORS
    @@ -175,6 +175,7 @@ Fumitoshi Ukai <ukai@google.com>
     Gaal Yahas <gaal@google.com>
     Gary Burd <gary@beagledreams.com> <gary.burd@gmail.com>
     Georg Reinke <guelfey@gmail.com>
    +Gerasimos Dimitriadis <gedimitr@gmail.com>
     Gideon Jan-Wessel Redelinghuys <gjredelinghuys@gmail.com>
     Giles Lean <giles.lean@pobox.com>
     Graham Miller <graham.miller@gmail.com>
    

    同様に、この差分もGeorg Reinke <guelfey@gmail.com>の行の直後に、Gerasimos Dimitriadis <gedimitr@gmail.com>という新しい行が挿入されたことを示しています。

これらの変更は、単に新しい貢献者の情報をリストに追加するものであり、Goプロジェクトの機能や動作に直接的な影響を与えるものではありません。しかし、プロジェクトの法的な側面と貢献者管理の観点からは重要な更新です。

関連リンク

  • Goプロジェクトの貢献ガイドライン: Goプロジェクトへの貢献方法やCLAに関する詳細が記載されている可能性があります。
  • GoogleのCLAに関する情報: GoogleがオープンソースプロジェクトでCLAをどのように扱っているかについての一般的な情報。

参考にした情報源リンク