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

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

このコミットは、Goプロジェクトのコントリビューターリストに新しい貢献者であるRodrigo Moraes de Oliveira氏を追加するものです。具体的には、AUTHORSファイルとCONTRIBUTORSファイルに彼の名前とメールアドレスが追記されています。この変更は、Goプロジェクトが採用しているContributor License Agreement (CLA)のプロセスを経て、addcaというツールによって自動生成されたものです。

コミット

commit c67d3739b70594cbbc37c64cc0133f114890e286
Author: Russ Cox <rsc@golang.org>
Date:   Mon Mar 11 14:53:39 2013 -0400

    A+C: Rodrigo Moraes de Oliveira (individual CLA)
    
    Generated by addca.
    
    R=gobot
    CC=golang-dev
    https://golang.org/cl/7526045

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

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

元コミット内容

このコミットの元々の内容は、Goプロジェクトに新しい貢献者であるRodrigo Moraes de Oliveira氏を追加することです。彼は個人のContributor License Agreement (CLA)に署名しており、その情報がAUTHORSおよびCONTRIBUTORSファイルに反映されています。この変更は、addcaという内部ツールによって生成されたものです。

変更の背景

オープンソースプロジェクト、特にGoogleが主導するGoのような大規模なプロジェクトでは、知的財産権の管理と貢献者の法的保護を明確にするために、Contributor License Agreement (CLA)の署名を求めることが一般的です。CLAは、貢献者が自身のコードをプロジェクトに提供する際に、プロジェクトがそのコードを使用、配布、変更する権利を持つことを法的に保証するものです。

このコミットは、Rodrigo Moraes de Oliveira氏がGoプロジェクトへの貢献を開始するにあたり、必要なCLAに署名したことを示すものです。AUTHORSファイルとCONTRIBUTORSファイルは、プロジェクトに貢献したすべての個人を記録するためのものであり、新しい貢献者が加わるたびに更新されます。これにより、プロジェクトの透明性が保たれ、誰がどのような形でプロジェクトに関わっているかが明確になります。

Generated by addca.という記述は、この変更が手動で行われたのではなく、addcaという自動化ツールによって生成されたことを示しています。これは、Goプロジェクトが貢献者管理プロセスを効率化していることを示唆しています。

前提知識の解説

Contributor License Agreement (CLA)

CLA(Contributor License Agreement)は、オープンソースプロジェクトにおいて、貢献者が自身の著作物(コード、ドキュメントなど)をプロジェクトに提供する際に、プロジェクトの所有者や管理者がその著作物を使用、配布、変更する権利を付与することを法的に合意する文書です。

  • 目的:
    • 知的財産権の明確化: 貢献されたコードの著作権が誰に帰属し、プロジェクトがどのようにそれを利用できるかを明確にします。これにより、将来的な著作権紛争のリスクを低減します。
    • ライセンスの統一性: プロジェクト全体のコードベースが単一のライセンス(例: BSDライセンス、MITライセンスなど)の下で配布されることを保証し、ライセンスの混在による問題を回避します。
    • 企業による利用の促進: 企業がオープンソースプロジェクトのコードを利用する際、CLAによって法的なリスクが軽減されるため、安心して採用しやすくなります。
    • プロジェクトの持続可能性: プロジェクトの所有者が貢献されたコードに対して十分な権利を持つことで、プロジェクトの方向性を決定し、必要に応じてライセンスを変更するなどの柔軟性を確保できます。

Googleのような大企業が主導するプロジェクトでは、法務部門の要件によりCLAの導入が一般的です。Goプロジェクトも例外ではなく、貢献者はコードを提出する前にCLAに署名する必要があります。

AUTHORS および CONTRIBUTORS ファイル

多くのオープンソースプロジェクトでは、プロジェクトに貢献した人々を記録するために、AUTHORSCONTRIBUTORSといったファイルがリポジトリのルートに配置されています。

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

これらのファイルは、プロジェクトの歴史とコミュニティを可視化し、貢献者への感謝を示す役割も果たします。

addca ツール

コミットメッセージにGenerated by addca.とあることから、addcaはGoプロジェクト内部で使用されるツールであり、「add Contributor Agreement」の略であると推測されます。このツールは、新しい貢献者がCLAに署名した際に、自動的にAUTHORSCONTRIBUTORSファイルにその情報を追記する役割を担っていると考えられます。このような自動化は、手作業によるミスを防ぎ、貢献者管理プロセスを効率化するために重要です。

技術的詳細

このコミットは、GoプロジェクトのルートディレクトリにあるAUTHORSファイルとCONTRIBUTORSファイルに対して、それぞれ1行ずつ追加を行うものです。

  • AUTHORSファイル: プロジェクトの主要な作者や著作権保持者をリストアップするテキストファイルです。
  • CONTRIBUTORSファイル: プロジェクトに貢献したすべての個人をリストアップするテキストファイルです。

追加された行のフォーマットは、名前 <メールアドレス>という標準的な形式です。これは、Gitのコミット情報や多くのオープンソースプロジェクトで採用されている慣習に沿ったものです。

この変更は、addcaというツールによって自動的に行われたことが明記されており、これはGoプロジェクトの貢献者管理ワークフローの一部であることを示しています。CLAの署名が確認された後、このツールが実行され、関連するファイルが更新されるという流れが推測されます。

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

diff --git a/AUTHORS b/AUTHORS
index eeda1da75a..310069139f 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -237,6 +237,7 @@ Robert Dinu <r@oktett.se>
 Robert Figueiredo <robfig@gmail.com>
 Robert Hencke <robert.hencke@gmail.com>
 Robin Eklind <r.eklind.87@gmail.com>
+Rodrigo Moraes de Oliveira <rodrigo.moraes@gmail.com>
 Rodrigo Rafael Monti Kochenburger <divoxx@gmail.com>
 Roger Pau Monné <royger@gmail.com>
 Roger Peppe <rogpeppe@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 49b976935d..057001e805 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -344,6 +344,7 @@ Robert Figueiredo <robfig@gmail.com>
 Robert Figueiredo <robfig@gmail.com>
 Robert Griesemer <gri@golang.org>
 Robert Hencke <robert.hencke@gmail.com>
 Robin Eklind <r.eklind.87@gmail.com>
+Rodrigo Moraes de Oliveira <rodrigo.moraes@gmail.com>
 Rodrigo Rafael Monti Kochenburger <divoxx@gmail.com>
 Roger Pau Monné <royger@gmail.com>
 Roger Peppe <rogpeppe@gmail.com>

コアとなるコードの解説

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

  • AUTHORSファイルへの変更:

    • @@ -237,6 +237,7 @@ は、変更がファイルの237行目から始まり、元の6行が変更後7行になることを示しています。これは、1行が追加されたことを意味します。
    • +Rodrigo Moraes de Oliveira <rodrigo.moraes@gmail.com>: この行が新しく追加された行です。Rodrigo Moraes de Oliveira氏の名前とメールアドレスが、既存の貢献者リストの適切なアルファベット順の位置に挿入されています。
  • CONTRIBUTORSファイルへの変更:

    • @@ -344,6 +344,7 @@ は、変更がファイルの344行目から始まり、元の6行が変更後7行になることを示しています。これも、1行が追加されたことを意味します。
    • +Rodrigo Moraes de Oliveira <rodrigo.moraes@gmail.com>: 同様に、Rodrigo Moraes de Oliveira氏の名前とメールアドレスが、既存の貢献者リストの適切なアルファベット順の位置に挿入されています。

これらの変更は、新しい貢献者がGoプロジェクトの公式な記録に追加されたことを明確に示しており、プロジェクトの透明性と貢献者への認識を維持するための標準的な手順です。

関連リンク

参考にした情報源リンク