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

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

このコミットは、GoプロジェクトのAUTHORSファイルとCONTRIBUTORSファイルに、新しい貢献者であるChristine Hansmann氏の情報を追加するものです。これは、オープンソースプロジェクトにおいて、新しい貢献者がプロジェクトにコードを提出する際に、その貢献を公式に記録するための一般的なプロセスの一部です。

コミット

commit f34748908fcfffb510b644dabd8b4480968233a4
Author: Adam Langley <agl@golang.org>
Date:   Mon Jun 18 11:08:31 2012 -0400

    A+C: Christine Hansmann (individual CLA)
    
    R=golang-dev, rsc
    CC=golang-dev
    https://golang.org/cl/6312045

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

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

元コミット内容

A+C: Christine Hansmann (individual CLA)

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6312045

変更の背景

この変更の背景には、オープンソースプロジェクトにおける貢献者ライセンス契約(CLA: Contributor License Agreement)の概念があります。多くの大規模なオープンソースプロジェクト、特にGoogleが関与するプロジェクトでは、貢献者がコードを提出する前にCLAに署名することを求めています。CLAは、プロジェクトの所有者(この場合はGoogle)が貢献されたコードをプロジェクトのライセンスの下で配布する権利を持つことを保証するための法的な合意です。

Christine Hansmann氏がGoプロジェクトに貢献するにあたり、個人のCLAに署名したため、その貢献を公式に認識し、プロジェクトの貢献者リストに名前を追加する必要がありました。このコミットは、その管理的なプロセスの一環として行われました。

前提知識の解説

  • 貢献者ライセンス契約 (CLA: Contributor License Agreement): CLAは、個人または企業がオープンソースプロジェクトに貢献する際に署名する法的な文書です。これにより、プロジェクトの所有者は、貢献されたコードをプロジェクトのライセンスの下で利用、配布、変更する権利を得ます。CLAは、プロジェクトの知的財産権を保護し、将来的なライセンス問題を防ぐために重要です。特に、企業が関与するプロジェクトでは、貢献されたコードが企業の知的財産権を侵害しないことを保証するために使用されます。

  • AUTHORSファイルとCONTRIBUTORSファイル: 多くのオープンソースプロジェクトでは、プロジェクトに貢献した人々の名前を記録するためのテキストファイル(通常はAUTHORSCONTRIBUTORSという名前)を保持しています。

    • AUTHORSファイルは、プロジェクトの主要な作者や初期の貢献者をリストアップすることが多いです。
    • CONTRIBUTORSファイルは、より広範な貢献者、例えばバグ修正、ドキュメントの改善、新機能の追加などを行った人々をリストアップします。 これらのファイルは、貢献者への感謝を示すとともに、プロジェクトの歴史と所有権を明確にする役割を果たします。
  • Gerrit (golang.org/cl/): コミットメッセージにあるhttps://golang.org/cl/6312045は、GoプロジェクトがコードレビューにGerritを使用していることを示しています。Gerritは、Gitリポジトリ上でコードレビューを行うためのウェブベースのツールです。開発者は変更をGerritにアップロードし、レビューアがその変更を承認すると、最終的にGitリポジトリにマージされます。cl/は「Change List」の略で、Gerritにおける個々の変更セットを指します。

技術的詳細

このコミットは、Goプロジェクトのソースコード管理における管理的な変更です。技術的な複雑さはほとんどなく、主にテキストファイルの編集に限定されます。

  1. ファイルの特定: AUTHORSCONTRIBUTORSという2つのファイルが変更対象です。これらのファイルは、プロジェクトのルートディレクトリに存在し、貢献者の名前とメールアドレスを一覧形式で保持しています。
  2. 行の追加: 既存のリストに新しい行が追加されます。追加される行は、Christine Hansmann氏の名前とメールアドレスです。
    • AUTHORSファイルでは、Christian Himpel <chressie@googlemail.com>の後にChristine Hansmann <chhansmann@gmail.com>が追加されています。
    • CONTRIBUTORSファイルでも同様に、Christian Himpel <chressie@googlemail.com> <chressie@gmail.com>の後にChristine Hansmann <chhansmann@gmail.com>が追加されています。
  3. コミットメッセージ: コミットメッセージは、変更の目的を簡潔に説明しています。「A+C: Christine Hansmann (individual CLA)」は、「Add (to) Authors and Contributors: Christine Hansmann (individual CLA)」を意味し、Christine Hansmann氏が個人のCLAに署名した上で貢献者として追加されたことを示しています。
  4. レビュープロセス: コミットメッセージのR=golang-dev, rscCC=golang-devは、この変更がgolang-devメーリングリストとrsc(おそらくRuss Cox氏)によってレビューされたことを示唆しています。これは、Goプロジェクトにおける通常のコードレビュープロセスの一部です。

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

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

diff --git a/AUTHORS b/AUTHORS
index 42d7e82b42..e274db8d9a 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -46,6 +46,7 @@ Chris Farmiloe <chrisfarms@gmail.com>
 Chris Jones <chris@cjones.org>
 Chris Lennert <calennert@gmail.com>
 Christian Himpel <chressie@googlemail.com>
+Christine Hansmann <chhansmann@gmail.com>
 Christoph Hack <christoph@tux21b.org>
 Christopher Nielsen <m4dh4tt3r@gmail.com>
 Christopher Redden <christopher.redden@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 5144cd3630..b3c9979d2b 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -85,6 +85,7 @@ Chris Hundt <hundt@google.com>
 Chris Jones <chris@cjones.org> <chris.jones.yar@gmail.com>
 Chris Lennert <calennert@gmail.com>
 Christian Himpel <chressie@googlemail.com> <chressie@gmail.com>
+Christine Hansmann <chhansmann@gmail.com>
 Christoph Hack <christoph@tux21b.org>
 Christopher Nielsen <m4dh4tt3r@gmail.com>
 Christopher Redden <christopher.redden@gmail.com>

コアとなるコードの解説

上記の差分は、AUTHORSファイルとCONTRIBUTORSファイルの両方に、Christine Hansmann <chhansmann@gmail.com>という行が追加されたことを示しています。

  • --- a/AUTHORS+++ b/AUTHORSは、AUTHORSファイルの変更前と変更後を示します。
  • index 42d7e82b42..e274db8d9a 100644は、Gitのインデックス情報(ハッシュとファイルモード)です。
  • @@ -46,6 +46,7 @@は、変更がファイルの46行目から始まり、変更前は6行、変更後は7行になったことを示します。
  • +Christine Hansmann <chhansmann@gmail.com>+記号は、この行が新しく追加されたことを意味します。

同様の変更がCONTRIBUTORSファイルにも適用されています。この変更は、Goプロジェクトの公式な貢献者リストにChristine Hansmann氏の名前を永続的に記録するためのものです。

関連リンク

  • GoプロジェクトのGitHubリポジトリ: https://github.com/golang/go
  • Goプロジェクトの貢献ガイドライン(CLAに関する情報が含まれる可能性が高い): Goプロジェクトの公式ドキュメントや貢献ガイドラインを参照してください。通常、CONTRIBUTING.mdのようなファイルに記載されています。

参考にした情報源リンク