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

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

このコミットは、GoプロジェクトのAUTHORSファイルとCONTRIBUTORSファイルに、新しい貢献者であるUlf Holm Nielsen氏の情報を追加するものです。これは、オープンソースプロジェクトにおける貢献者の記録と、法的な側面(Contributor License Agreement: CLA)を管理するための一環として行われました。

コミット

commit 936cc5e7fa60ef6ea17d2ca0d6df81a8165fb6cf
Author: Rob Pike <r@golang.org>
Date:   Wed Jul 31 16:10:50 2013 +1000

    A+C: Ulf Holm Nielsen (individual CLA)
    
    Generated by addca.
    
    R=gobot
    CC=golang-dev
    https://golang.org/cl/12146043

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

https://github.com/golang/go/commit/936cc5e7fa60ef6ea17d2ca0d6df81a8165fb6cf

元コミット内容

A+C: Ulf Holm Nielsen (individual CLA)

Generated by addca.

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

変更の背景

このコミットの背景には、オープンソースプロジェクト、特にGoogleが主導するGoのような大規模プロジェクトにおける貢献者の管理と法的な要件があります。新しい貢献者がプロジェクトにコードを提出する際、多くの場合、その貢献者が自身のコードの著作権をプロジェクトに譲渡するか、または特定のライセンスの下で利用を許可することに同意する「貢献者ライセンス同意書(CLA)」に署名することが求められます。

Ulf Holm Nielsen氏がGoプロジェクトに貢献を開始したため、その貢献が法的に適切に扱われるよう、個人のCLAが締結されました。このコミットは、そのCLAの締結を記録し、氏名をプロジェクトの公式な貢献者リストであるAUTHORSファイルとCONTRIBUTORSファイルに追加するために行われました。コミットメッセージにあるGenerated by addca.は、この追加作業がaddcaというツールによって自動生成されたものであることを示唆しており、CLA管理プロセスが自動化されていることを示しています。

前提知識の解説

AUTHORSファイルとCONTRIBUTORSファイル

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

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

これらのファイルは、プロジェクトの透明性を高め、貢献者への適切なクレジットを付与する役割を果たします。

Contributor License Agreement (CLA)

CLA(貢献者ライセンス同意書)は、オープンソースプロジェクトにおいて、貢献者が自身のコードの著作権をプロジェクトの所有者(多くの場合、財団や企業)に譲渡するか、または特定のライセンスの下で利用を許可することに同意する法的な文書です。CLAを導入する主な理由は以下の通りです。

  1. ライセンスの明確化: プロジェクト全体のコードベースが単一のライセンスの下で配布されることを保証し、将来的なライセンス変更や再ライセンスを容易にします。
  2. 法的リスクの軽減: 貢献されたコードに関する著作権侵害の申し立てやその他の法的紛争のリスクを軽減します。
  3. 知的財産権の管理: プロジェクトの知的財産権を適切に管理し、プロジェクトの持続可能性を確保します。

Googleが主導するプロジェクトでは、通常、個人の貢献者にはIndividual CLA (ICLA) が、企業からの貢献にはCorporate CLA (CCLA) が求められます。このコミットでは「individual CLA」と明記されており、Ulf Holm Nielsen氏が個人としてCLAを締結したことを示しています。

技術的詳細

このコミットは、Go言語のランタイムやコンパイラといったコアな部分に技術的な変更を加えるものではありません。その代わりに、プロジェクトのメタデータファイルであるAUTHORSCONTRIBUTORSに新しい行を追加するという、非常に単純なファイル操作です。

具体的には、以下の変更が行われました。

  • AUTHORSファイルの305行目と306行目の間に、Ulf Holm Nielsen <doktor@dyregod.dk>という行が追加されました。
  • CONTRIBUTORSファイルの430行目と431行目の間に、Ulf Holm Nielsen <doktor@dyregod.dk>という行が追加されました。

この変更は、addcaという内部ツールによって自動的に生成されたものであり、手動での編集ミスを防ぎ、CLA管理プロセスと貢献者リストの同期を保つための自動化されたワークフローの一部です。

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

diff --git a/AUTHORS b/AUTHORS
index 2e58373d45..9ff64bffec 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -305,6 +305,7 @@ Tobias Columbus <tobias.columbus@gmail.com>
 Tor Andersson <tor.andersson@gmail.com>
 Tyler Bunnell <tylerbunnell@gmail.com>
 Ugorji Nwoke <ugorji@gmail.com>
+Ulf Holm Nielsen <doktor@dyregod.dk>
 Uriel Mangado <uriel@berlinblue.org>
 Vadim Vygonets <unixdj@gmail.com>
 Vincent Ambo <tazjin@googlemail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 355b5cd0d6..111aaa1cb8 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -430,6 +430,7 @@ Tor Andersson <tor.andersson@gmail.com>
 Trevor Strohman <trevor.strohman@gmail.com>
 Tyler Bunnell <tylerbunnell@gmail.com>
 Ugorji Nwoke <ugorji@gmail.com>
+Ulf Holm Nielsen <doktor@dyregod.dk>
 Uriel Mangado <uriel@berlinblue.org>
 Vadim Vygonets <unixdj@gmail.com>
 Vega Garcia Luis Alfonso <vegacom@gmail.com>

コアとなるコードの解説

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

変更内容は、両ファイルに以下の1行を追加することです。 Ulf Holm Nielsen <doktor@dyregod.dk>

この行は、Ulf Holm Nielsen氏がGoプロジェクトの貢献者として正式に認められ、その連絡先メールアドレスがdoktor@dyregod.dkであることを示しています。この追加により、プロジェクトの歴史と貢献者の記録が正確に保たれ、将来的に誰がどの部分に貢献したかを追跡する上で役立ちます。

技術的な観点からは、これは単なるテキストファイルの変更であり、Go言語のコンパイラやランタイムの動作に直接的な影響を与えるものではありません。しかし、オープンソースプロジェクトのガバナンスと法的な健全性を維持するためには不可欠なプロセスの一部です。

関連リンク

参考にした情報源リンク