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

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

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

コミット

commit d4c7f04d71cdcc91292299e7cd8483c7f3fd6615
Author: Andrew Gerrand <adg@golang.org>
Date:   Mon Sep 23 09:35:52 2013 +1000

    A+C: Nathan John Youngman (individual CLA)
    
    Generated by addca.
    
    R=gobot
    CC=golang-dev
    https://golang.org/cl/13819045

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

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

元コミット内容

このコミットの主な目的は、Nathan John Youngman氏をGoプロジェクトの公式な貢献者として認識し、その情報をAUTHORSおよびCONTRIBUTORSファイルに記録することです。これは、彼がGoプロジェクトへの貢献を始めるにあたり、必要なContributor License Agreement (CLA) を締結したことを示すものです。

変更の背景

オープンソースプロジェクト、特にGoogleが主導するGoのような大規模なプロジェクトでは、知的財産権の管理が非常に重要です。貢献者がコードを提出する前にCLAに署名することは、プロジェクトがそのコードを自由に利用、配布、ライセンスすることを保証するための一般的な慣行です。Nathan John Youngman氏が個人のCLAに署名したため、その事実をプロジェクトの記録に反映させる必要がありました。この種の変更は、通常、自動化されたツール(この場合はaddca)によって処理され、手動での編集ミスを防ぎ、プロセスを効率化します。

前提知識の解説

Contributor License Agreement (CLA)

CLA(Contributor License Agreement)は、個人または企業がオープンソースプロジェクトにコードを貢献する際に、プロジェクトの所有者に対して、その貢献されたコードを使用、変更、配布、サブライセンスする権利を付与する法的な合意書です。

なぜCLAが必要なのか?

  1. 知的財産権の明確化: CLAは、貢献されたコードの著作権が誰に帰属するか、そしてプロジェクトがそのコードをどのように利用できるかを明確にします。これにより、将来的な著作権侵害の訴訟リスクを軽減します。
  2. ライセンスの柔軟性: プロジェクトが将来的にライセンスを変更する可能性がある場合、CLAによって貢献されたコードも新しいライセンスの下で再配布できるようになります。
  3. プロジェクトの健全性: 大規模なプロジェクトでは、多数の貢献者からのコードが集まります。CLAは、すべてのコードが法的にクリーンであることを保証し、プロジェクト全体の健全性を維持します。

Goプロジェクトの場合、GoogleがCLAを要求しており、貢献者は個人のCLAまたは企業のCLAに署名する必要があります。

AUTHORSファイルとCONTRIBUTORSファイル

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

  • AUTHORSファイル: 通常、プロジェクトの主要な作者や、プロジェクトの初期段階から深く関わっている人々をリストアップします。著作権表示に関連する場合もあります。
  • CONTRIBUTORSファイル: プロジェクトに何らかの形で貢献したすべての人々(コードの提出者、バグ報告者、ドキュメントの改善者など)をリストアップします。これは、コミュニティの努力を認識し、感謝を示すためのものです。

これらのファイルは、プロジェクトの歴史とコミュニティの成長を追跡する上で重要な役割を果たします。

addcaツール

コミットメッセージに「Generated by addca.」とあることから、addcaはGoプロジェクト内でCLAの署名が完了した貢献者の情報をAUTHORSおよびCONTRIBUTORSファイルに自動的に追加するための内部ツールであると推測されます。このようなツールは、手作業によるエラーを防ぎ、貢献者管理のプロセスを効率化するために開発されます。

技術的詳細

このコミットは、GoプロジェクトのソースコードリポジトリのルートディレクトリにあるAUTHORSファイルとCONTRIBUTORSファイルに対する変更です。これらのファイルはプレーンテキスト形式であり、各行に貢献者の名前とメールアドレスが記述されています。

変更は、既存のリストに新しい行を追加する形で行われています。具体的には、AUTHORSファイルの234行目とCONTRIBUTORSファイルの345行目に、Nathan John Youngman氏のエントリが挿入されています。これは、ファイルの既存のソート順(おそらくアルファベット順)を維持しつつ、新しいエントリを追加するための標準的な方法です。

この変更は、Goのランタイムやコンパイラ、標準ライブラリのコード自体には影響を与えません。純粋にプロジェクトのメタデータに関する更新です。

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

diff --git a/AUTHORS b/AUTHORS
index f0bc6bbe63..625a35d835 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -234,6 +234,7 @@ Miquel Sabaté Solà <mikisabate@gmail.com>
 Moriyoshi Koizumi <mozo@mozo.jp>
 Môshe van der Sterre <moshevds@gmail.com>
 Nan Deng <monnand@gmail.com>
+Nathan John Youngman <nj@nathany.com>
 ngmoco, LLC
 Nicholas Presta <nick@nickpresta.ca> <nick1presta@gmail.com>
 Nicholas Sullivan <nicholas.sullivan@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index f028a5cd48..6a571f7696 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -345,6 +345,7 @@ Miquel Sabaté Solà <mikisabate@gmail.com>
 Moriyoshi Koizumi <mozo@mozo.jp>
 Môshe van der Sterre <moshevds@gmail.com>
 Nan Deng <monnand@gmail.com>
+Nathan John Youngman <nj@nathany.com>
 Nicholas Presta <nick@nickpresta.ca> <nick1presta@gmail.com>
 Nicholas Sullivan <nicholas.sullivan@gmail.com>
 Nicholas Waples <nwaples@gmail.com>

コアとなるコードの解説

上記のdiffは、AUTHORSファイルとCONTRIBUTORSファイルの両方に、以下の行が追加されたことを示しています。

+Nathan John Youngman <nj@nathany.com>

これは、Nathan John Youngman氏の名前とメールアドレスを、それぞれのファイルの適切な位置(既存のアルファベット順のリストに沿って)に挿入したことを意味します。+記号は、その行が新たに追加されたことを示しています。

この変更は、Goプロジェクトの貢献者リストを最新の状態に保つためのルーティンワークの一部であり、新しい貢献者がプロジェクトに加わるたびに同様のコミットが行われます。

関連リンク

参考にした情報源リンク

  • 特になし(コミット内容が自己完結的であるため、外部の情報源は参照していません。)