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

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

このコミットは、GoプロジェクトのAUTHORSファイルとCONTRIBUTORSファイルに、新たな貢献者であるBrian Gitonga Marete氏を追加するものです。これは、オープンソースプロジェクトにおける一般的な管理作業であり、貢献者の正式な記録と、Contributor License Agreement (CLA)への準拠を示すものです。

コミット

  • コミットハッシュ: b4d4ff9381ab9a58a1c45610793f30cef6f646de
  • 作者: Brad Fitzpatrick bradfitz@golang.org
  • 日付: Tue Jul 2 20:35:44 2013 -0700
  • 件名: A+C: Brian Gitonga Marete (individual CLA)

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

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

元コミット内容

A+C: Brian Gitonga Marete (individual CLA)

Generated by addca.

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

変更の背景

オープンソースプロジェクト、特にGoogleが主導するGoのような大規模なプロジェクトでは、コードベースへの貢献を受け入れる際に、法的な側面を明確にすることが非常に重要です。そのために、多くのプロジェクトではContributor License Agreement (CLA)を導入しています。CLAは、貢献者が自身の貢献に対する著作権をプロジェクトに許諾し、プロジェクトがそのコードを自由に利用、配布、変更できるようにするための法的文書です。

このコミットは、Brian Gitonga Marete氏がGoプロジェクトに貢献するにあたり、個人のCLAに署名したことを示すものです。AUTHORSファイルとCONTRIBUTORSファイルに名前を追加することは、その貢献を公式に認め、プロジェクトの歴史に記録する標準的な手順です。コミットメッセージにあるA+Cは「Add Author and Contributor」を意味し、Generated by addcaは、この変更がaddcaというツールによって自動生成されたものであることを示唆しています。これは、手作業によるミスを防ぎ、一貫性を保つための自動化されたプロセスの一部です。

前提知識の解説

Contributor License Agreement (CLA)

CLAは、個人または企業がオープンソースプロジェクトにコードやドキュメントなどの貢献を行う際に、その貢献に対する著作権をプロジェクトの所有者(または特定の財団など)に譲渡または許諾するための法的合意です。これにより、プロジェクトは貢献されたコードを安心して利用、配布、ライセンス供与できるようになります。GoプロジェクトのようにGoogleが関与するプロジェクトでは、Googleの法務部門がCLAの遵守を厳格に管理しています。

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

  1. 著作権の明確化: 貢献されたコードの著作権がどこに帰属するかを明確にし、将来的な著作権侵害の訴訟リスクを軽減します。
  2. ライセンスの自由度: プロジェクトが将来的にライセンスを変更する際に、すべての貢献者から再度の同意を得る必要がなくなります。
  3. プロジェクトの持続可能性: 法的な不確実性を取り除くことで、プロジェクトの長期的な健全性と成長を保証します。

AUTHORSファイルとCONTRIBUTORSファイル

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

  • AUTHORSファイル: 主にプロジェクトの主要な作者や、著作権を持つ個人・団体をリストアップするために使用されます。このファイルは、プロジェクトの著作権表示やライセンス情報と密接に関連していることが多いです。
  • CONTRIBUTORSファイル: プロジェクトに何らかの形で貢献したすべての個人をリストアップするために使用されます。これには、コードのコミット者だけでなく、バグ報告者、ドキュメント作成者、テスター、翻訳者なども含まれる場合があります。Goプロジェクトの場合、CLAに署名した個人がこのファイルに追加されるのが一般的です。

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

addcaツール

コミットメッセージにGenerated by addcaとあることから、この変更がaddcaというツールによって自動的に生成されたものであることがわかります。このようなツールは、CLAの署名が確認された後に、自動的にAUTHORSCONTRIBUTORSファイルに新しいエントリを追加するために使用されます。これにより、手動での編集ミスを防ぎ、プロセスを効率化できます。

技術的詳細

このコミットは、Go言語のソースコード自体を変更するものではなく、プロジェクトの管理ファイルであるAUTHORSCONTRIBUTORSという2つのテキストファイルを変更するものです。

変更内容は非常にシンプルで、両方のファイルにBrian Gitonga Marete氏の名前とメールアドレスを含む1行を追加しています。

  • AUTHORSファイルには、Brian Gitonga Marete <marete@toshnix.com>が追加されています。
  • CONTRIBUTORSファイルには、Brian Gitonga Marete <marete@toshnix.com>が追加されています。

これらのファイルは、通常、プロジェクトのルートディレクトリに配置されており、プレーンテキスト形式で記述されています。Gitの差分表示からもわかるように、既存の行の間に新しい行が挿入されています。これは、ファイルがアルファベット順にソートされている場合に、適切な位置に新しいエントリを挿入するためによく行われる操作です。

この種の変更は、ビルドプロセスやランタイムの動作に直接的な影響を与えるものではなく、プロジェクトのメタデータの一部として扱われます。

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

diff --git a/AUTHORS b/AUTHORS
index e9190e2aad..8728255287 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -52,6 +52,7 @@ Blake Mizerany <blake.mizerany@gmail.com>
 Bobby Powers <bobbypowers@gmail.com>
 Brian Dellisanti <briandellisanti@gmail.com>
 Brian G. Merrell <bgmerrell@gmail.com>
+Brian Gitonga Marete <marete@toshnix.com>
 Brian Ketelsen <bketelsen@gmail.com>
 Caine Tighe <arctanofyourface@gmail.com>
 Caleb Spare <cespare@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 4faedfe4d0..275be608d1 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -92,6 +92,7 @@ Brad Fitzpatrick <bradfitz@golang.org> <bradfitz@gmail.com>
 Brendan O'Dea <bod@golang.org>
 Brian Dellisanti <briandellisanti@gmail.com>
 Brian G. Merrell <bgmerrell@gmail.com>
+Brian Gitonga Marete <marete@toshnix.com>
 Brian Ketelsen <bketelsen@gmail.com>
 Brian Slesinsky <skybrian@google.com>
 Caine Tighe <arctanofyourface@gmail.com>

コアとなるコードの解説

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

  • AUTHORSファイル:

    • @@ -52,6 +52,7 @@ は、変更が元のファイルの52行目から6行分、新しいファイルの52行目から7行分に影響することを示します。
    • +Brian Gitonga Marete <marete@toshnix.com> の行が追加されています。これは、Brian Gitonga Marete氏の名前とメールアドレスが、既存の「Brian G. Merrell」と「Brian Ketelsen」の間に挿入されたことを意味します。これは、ファイルがアルファベット順にソートされているため、適切な挿入位置が選ばれたことを示唆しています。
  • CONTRIBUTORSファイル:

    • @@ -92,6 +92,7 @@ は、変更が元のファイルの92行目から6行分、新しいファイルの92行目から7行分に影響することを示します。
    • +Brian Gitonga Marete <marete@toshnix.com> の行が追加されています。こちらもAUTHORSファイルと同様に、アルファベット順の適切な位置に挿入されています。

これらの変更は、Goプロジェクトの貢献者リストを最新の状態に保つための、純粋に管理的な更新です。コードの機能や動作には一切影響を与えません。

関連リンク

  • GitHubコミットページ: https://github.com/golang/go/commit/b4d4ff9381ab9a58a1c45610793f30cef6f646de
  • GoプロジェクトのCLA情報: GoプロジェクトのCLAに関する公式情報は、通常、https://golang.org/ のウェブサイトや、GoのGitHubリポジトリ内のドキュメント(例: CONTRIBUTING.mdなど)で確認できます。具体的なCLA文書への直接リンクはコミットメッセージには含まれていませんが、一般的にはGoogleのCLAページにリダイレクトされます。

参考にした情報源リンク

  • GoプロジェクトのGitHubリポジトリ (コミット情報)
  • オープンソースプロジェクトにおけるCLAの一般的な概念に関する知識
  • Gitの差分表示の読み方に関する一般的な知識