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

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

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

コミット

commit fe1ca11a1def704be978a955dc3a69655b4663e9
Author: Andrew Gerrand <adg@golang.org>
Date:   Thu Sep 12 10:11:51 2013 +1000

    A+C: Noah Campbell (individual CLA)
    
    Generated by addca.
    
    R=gobot
    CC=golang-dev
    https://golang.org/cl/13261053

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

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

元コミット内容

A+C: Noah Campbell (individual CLA)

Generated by addca.

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

変更の背景

オープンソースプロジェクト、特にGoogleが主導するGoのような大規模なプロジェクトでは、知的財産権の管理が非常に重要です。貢献者がコードを提出する際、そのコードがプロジェクトのライセンスの下で適切に利用されることを保証するために、Contributor License Agreement (CLA)への署名が求められることが一般的です。

このコミットの背景には、Noah Campbell氏がGoプロジェクトに貢献するために、個人のCLAに署名したという事実があります。CLAに署名することで、貢献者は自身のコードがプロジェクトのライセンス(Goの場合はBSDライセンス)の下で利用されることに同意し、プロジェクト側は将来的な法的な問題を回避できます。

このコミットは、CLAへの署名が完了したことをプロジェクトの記録に反映させるためのものです。具体的には、AUTHORSファイルとCONTRIBUTORSファイルにNoah Campbell氏の名前と連絡先を追加することで、彼が正式な貢献者として認識されるようになります。

前提知識の解説

Contributor License Agreement (CLA)

CLA(貢献者ライセンス同意書)は、オープンソースプロジェクトにおいて、貢献者が自身の作成したコードの著作権をプロジェクトに譲渡するか、またはプロジェクトがそのコードを特定のライセンスの下で利用することを許可する旨を定めた法的な文書です。

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

  1. 知的財産権の明確化: 誰がコードの著作権を保有しているかを明確にし、将来的な著作権侵害の訴訟リスクを軽減します。
  2. ライセンスの一貫性: プロジェクト全体のコードベースが単一のライセンス(または互換性のあるライセンス)の下で配布されることを保証します。これにより、ユーザーはプロジェクトのコードを安心して利用できます。
  3. プロジェクトの柔軟性: プロジェクトが将来的にライセンスを変更する必要が生じた場合でも、CLAによって貢献者から事前に許可を得ているため、スムーズに対応できます。

Goプロジェクトのように企業が主導する大規模なオープンソースプロジェクトでは、CLAの導入は一般的な慣行です。これにより、プロジェクトの法的健全性が保たれ、企業が安心してプロジェクトを推進できます。

AUTHORSファイルとCONTRIBUTORSファイル

多くのオープンソースプロジェクトには、プロジェクトに貢献した人々の名前を記録するためのファイルが存在します。Goプロジェクトでは、主に以下の2つのファイルがその役割を担っています。

  • AUTHORS: このファイルは、プロジェクトの主要な作者や、プロジェクトの初期段階から多大な貢献をしてきた人々をリストアップすることが多いです。著作権表示にも関連することがあります。
  • CONTRIBUTORS: このファイルは、プロジェクトに何らかの形で貢献したすべての人々をリストアップします。コードの提出だけでなく、ドキュメントの改善、バグ報告、テストの作成など、様々な貢献が含まれます。

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

addcaツール

コミットメッセージに「Generated by addca.」とあることから、この変更がaddcaというツールによって自動生成されたものであることがわかります。addcaは「add Contributor Agreement」の略であると推測され、CLAに署名した貢献者の情報をAUTHORSCONTRIBUTORSファイルに自動的に追加するための内部ツールであると考えられます。

このような自動化ツールは、大規模なプロジェクトにおいて、手作業によるエラーを防ぎ、管理プロセスを効率化するために不可欠です。

技術的詳細

このコミットは、Goプロジェクトのソースコードリポジトリ内の2つのテキストファイル、AUTHORSCONTRIBUTORSに対する変更です。

  • AUTHORSファイルは、プロジェクトの主要な作者や、著作権表示に関連する人々を列挙しています。
  • CONTRIBUTORSファイルは、プロジェクトに貢献したすべての個人を列挙しています。

変更内容は非常にシンプルで、両ファイルにNoah Campbell氏の名前とメールアドレスが1行追加されています。

diff --git a/AUTHORS b/AUTHORS index 732baec685..649e54b2b5 100644 --- a/AUTHORS +++ b/AUTHORS @@ -240,6 +240,7 @@ Nicholas Waples <nwaples@gmail.com> Nick Craig-Wood <nick@craig-wood.com> <nickcw@gmail.com> Nicolas Owens <mischief@offblast.org> Nigel Kerr <nigel.kerr@gmail.com> +Noah Campbell <noahcampbell@gmail.com> Oling Cat <olingcat@gmail.com> Oliver Hookins <ohookins@gmail.com> Olivier Antoine <olivier.antoine@gmail.com>

diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 713d07116f..0e146e6802 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -350,6 +350,7 @@ Nick Craig-Wood <nick@craig-wood.com> <nickcw@gmail.com> Nicolas Owens <mischief@offblast.org> Nigel Kerr <nigel.kerr@gmail.com> Nigel Tao <nigeltao@golang.org> +Noah Campbell <noahcampbell@gmail.com> Oling Cat <olingcat@gmail.com> Oliver Hookins <ohookins@gmail.com> Olivier Antoine <olivier.antoine@gmail.com>

この変更は、Goプロジェクトのガバナンスと法務プロセスの一部であり、コードの機能的な変更ではありません。しかし、プロジェクトの健全な運営と将来的な発展のために不可欠なステップです。

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

このコミットにおける「コード」の変更箇所は、Goのソースコードそのものではなく、プロジェクトのメタデータファイルであるAUTHORSCONTRIBUTORSです。

  • AUTHORSファイルに以下の行が追加されました: Noah Campbell <noahcampbell@gmail.com>
  • CONTRIBUTORSファイルに以下の行が追加されました: Noah Campbell <noahcampbell@gmail.com>

コアとなるコードの解説

この変更は、Goプロジェクトのソースコードの動作に直接的な影響を与えるものではありません。これは、プロジェクトの管理と法的な側面に関連するメタデータの更新です。

AUTHORSCONTRIBUTORSファイルは、プロジェクトの歴史と貢献者を記録する重要な文書です。これらのファイルに名前が追加されることは、Noah Campbell氏がGoプロジェクトの正式な貢献者として認められ、彼の将来のコード貢献がプロジェクトのライセンスの下で適切に扱われる準備が整ったことを意味します。

このコミットは、Goプロジェクトがオープンソースの原則に従い、貢献者からのコードを適切に受け入れ、管理していることを示しています。

関連リンク

  • GoプロジェクトのGitHubリポジトリ: https://github.com/golang/go
  • GoのContributor License Agreement (CLA)に関する情報(一般的な情報源、Goプロジェクト固有のCLAへのリンクは公式ドキュメントを参照):

参考にした情報源リンク

  • GoプロジェクトのGitHubリポジトリ内のコミット履歴
  • 一般的なオープンソースプロジェクトにおけるCLAの概念に関する知識
  • Gitのdiff出力の解釈に関する知識