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

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

このコミットは、GoプロジェクトのAUTHORSファイルとCONTRIBUTORSファイルに、新しい貢献者であるUgorji Nwoke氏を追加するものです。これは、Ugorji Nwoke氏がGoプロジェクトへの貢献を開始し、個人のCLA(Contributor License Agreement)を提出したことを記録するための標準的な手続きです。

コミット

  • コミットハッシュ: bdf71e463badeec08d9cab7ae0cd0febae897bea
  • 作者: Russ Cox rsc@golang.org
  • コミット日時: 2012年3月5日 月曜日 15:36:20 -0500
  • 変更ファイル数: 2ファイル
  • 追加行数: 2行
  • 削除行数: 0行

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

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

元コミット内容

A+C: Ugorji Nwoke (individual CLA)

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/5746043

変更の背景

このコミットの背景には、オープンソースプロジェクトにおける貢献者の管理と、法的な側面があります。Goプロジェクトのような大規模なオープンソースプロジェクトでは、コードの著作権とライセンスの明確化が非常に重要です。新しい貢献者がコードを提出する際には、通常、CLA(Contributor License Agreement)に署名することが求められます。CLAは、貢献者が提出するコードの著作権をプロジェクトの所有者(この場合はGoogle)に譲渡するか、またはプロジェクトのライセンスの下で利用することを許可する法的な合意です。

Ugorji Nwoke氏がGoプロジェクトに貢献を開始し、個人のCLAを提出したため、その事実をプロジェクトの公式記録であるAUTHORSファイルとCONTRIBUTORSファイルに反映させる必要がありました。これにより、将来的にUgorji Nwoke氏が提出するコードがプロジェクトのライセンスに準拠していることが明確になります。

前提知識の解説

CLA (Contributor License Agreement)

CLAは、オープンソースプロジェクトにおいて、貢献者からプロジェクトへのコード寄贈に関する権利を明確にするための法的な文書です。主な目的は以下の通りです。

  1. 著作権の明確化: 貢献されたコードの著作権が誰に帰属するかを明確にします。多くの場合、プロジェクトの所有者(企業や財団)に著作権が譲渡されるか、または非独占的な利用権が与えられます。
  2. ライセンスの統一: 貢献されたコードがプロジェクト全体のライセンス(例: Apache License, MIT License)の下で配布されることを保証します。これにより、プロジェクト全体のライセンスの一貫性が保たれ、将来的なライセンス問題を防ぎます。
  3. 法的保護: プロジェクトの所有者が、貢献されたコードに関する将来の法的紛争(例: 著作権侵害の訴訟)から保護されるための基盤を提供します。

CLAには「個人CLA」と「企業CLA」の2種類があります。

  • 個人CLA: 個人が自身の名義でプロジェクトに貢献する場合に署名します。
  • 企業CLA: 企業が従業員を通じてプロジェクトに貢献する場合に署名します。企業は、従業員が作成したコードの権利をプロジェクトに譲渡することを許可します。

AUTHORSファイルと CONTRIBUTORSファイル

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

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

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

技術的詳細

このコミットは、Goプロジェクトのソースコードリポジトリ内の2つのテキストファイル、AUTHORSCONTRIBUTORSを直接編集することで行われています。

Gitの差分(diff)を見ると、両ファイルに新しい行が追加されていることがわかります。追加された行は、貢献者の氏名とメールアドレスの形式で記述されています。

--- a/AUTHORS
+++ b/AUTHORS
@@ -185,6 +185,7 @@ Tarmigan Casebolt <tarmigan@gmail.com>
 Taru Karttunen <taruti@taruti.net>
 Timo Savola <timo.savola@gmail.com>
 Tor Andersson <tor.andersson@gmail.com>
+Ugorji Nwoke <ugorji@gmail.com>
 Vadim Vygonets <unixdj@gmail.com>
 Vincent Ambo <tazjin@googlemail.com>
 Vincent Vanackere <vincent.vanackere@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 9e5accd50e..5d2301f323 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -269,6 +269,7 @@ Timo Savola <timo.savola@gmail.com>
 Tom Szymanski <tgs@google.com>
 Tor Andersson <tor.andersson@gmail.com>
 Trevor Strohman <trevor.strohman@gmail.com>
+Ugorji Nwoke <ugorji@gmail.com>
 Vadim Vygonets <unixdj@gmail.com>
 Vincent Ambo <tazjin@googlemail.com>
 Vincent Vanackere <vincent.vanackere@gmail.com>

この変更は、Goプロジェクトの貢献者管理プロセスの一部であり、新しい貢献者がCLAに署名し、その貢献が正式に認められた後に実行されます。コミットメッセージのA+C: Ugorji Nwoke (individual CLA)は、「Author + Contributor: Ugorji Nwoke (個人のCLA)」を意味し、この変更の目的を簡潔に示しています。

R=golang-dev, bradfitzCC=golang-devは、Goプロジェクトにおけるコードレビューの慣習を示しています。R=はレビュー担当者(Reviewer)を、CC=はカーボンコピー(Carbon Copy)で通知する対象を示します。これは、変更が適切な関係者によってレビューされ、承認されたことを意味します。

https://golang.org/cl/5746043は、この変更がGoプロジェクトのコードレビューシステム(Gerritベースのgo.googlesource.com/goリポジトリ)における変更リスト(Change-List, CL)のIDであることを示しています。このリンクを辿ることで、このコミットに至るまでのレビュープロセスや議論の詳細を確認できます。

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

このコミットにおける「コード」の変更は、Go言語のソースコード自体ではなく、プロジェクトのメタデータファイルであるAUTHORSCONTRIBUTORSへのテキストの追加です。

具体的には、以下の2つのファイルにそれぞれ1行ずつ追加されています。

  1. AUTHORSファイル:
    +Ugorji Nwoke <ugorji@gmail.com>
    
  2. CONTRIBUTORSファイル:
    +Ugorji Nwoke <ugorji@gmail.com>
    

これらの行は、既存のリストのアルファベット順に挿入されています。

コアとなるコードの解説

変更されたのは、Goプロジェクトの貢献者リストを管理するプレーンテキストファイルです。

  • AUTHORSファイルは、プロジェクトの主要な作者や著作権保持者を列挙しています。Ugorji Nwoke氏がこのファイルに追加されたことは、彼がGoプロジェクトの公式な作者の一人として認識されたことを意味します。
  • CONTRIBUTORSファイルは、プロジェクトに貢献したすべての個人を列挙しています。Ugorji Nwoke氏がこのファイルに追加されたことは、彼がGoプロジェクトに貢献したことが公式に記録されたことを意味します。

これらのファイルは、プロジェクトの歴史と貢献者を追跡するための重要なドキュメントであり、新しい貢献者がプロジェクトに加わるたびに更新されます。このコミットは、Goプロジェクトの健全なオープンソース開発プロセスの一部を示しています。

関連リンク

参考にした情報源リンク

  • Gitの差分表示に関する一般的な知識
  • オープンソースプロジェクトにおけるCLAの概念
  • オープンソースプロジェクトにおけるAUTHORSおよびCONTRIBUTORSファイルの一般的な慣習
  • Goプロジェクトの貢献プロセスに関する一般的な知識 (Goの公式ドキュメントなど)