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

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

このコミットは、GoプロジェクトのAUTHORSファイルとCONTRIBUTORSファイルに新しい貢献者であるDavid Bürgin氏を追加するものです。これは、Goプロジェクトへの貢献を開始する際に必要となるContributor License Agreement (CLA)の署名プロセスの一環として行われました。

コミット

  • コミットハッシュ: 3a895563df1acf1724424071af7c5ce4397cfd77
  • Author: David Symonds dsymonds@golang.org
  • Date: Tue Jun 18 14:59:23 2013 +1000

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

https://github.com/golang/go/commit/3a895563df1acf1724424071af7c5ce4397cfd77

元コミット内容

A+C: David Bürgin (individual CLA)

Generated by addca.

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

変更の背景

このコミットは、Goプロジェクトに新しい貢献者であるDavid Bürgin氏が参加し、個人のContributor License Agreement (CLA)に署名したことを記録するために作成されました。オープンソースプロジェクト、特にGoogleが主導するGoのような大規模プロジェクトでは、貢献されたコードの知的財産権を明確にし、将来的な法的な問題を避けるためにCLAの署名が義務付けられています。

addcaというツールがこの変更を生成したと記載されており、これはCLAの署名が完了した際に、自動的に貢献者リストを更新するための内部ツールであると考えられます。これにより、プロジェクトの管理者は、誰がCLAに署名し、貢献する資格があるかを追跡できます。

前提知識の解説

Contributor License Agreement (CLA)

Contributor License Agreement (CLA)は、個人または企業がオープンソースプロジェクトにコードを貢献する前に署名する必要がある法的な合意書です。GoプロジェクトはGoogleが主導するオープンソースプロジェクトであるため、GoogleのCLAが適用されます。

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

  1. 知的財産権の明確化: 貢献されたコードの著作権は貢献者に帰属しますが、CLAに署名することで、プロジェクトの所有者(この場合はGoogle)は、貢献されたコードをプロジェクトのオープンソースライセンス(Goの場合は通常BSDスタイルのライセンス)の下で利用、変更、配布するための広範で永続的かつ取り消し不能なライセンスを取得します。これにより、プロジェクトは貢献されたコードを自由に統合し、配布することができます。
  2. 法的リスクの軽減: CLAは、将来的に貢献されたコードに関する著作権侵害やその他の法的紛争が発生するリスクを軽減します。プロジェクトの所有者は、すべての貢献が適切なライセンスの下で行われたことを保証できます。
  3. プロジェクトの持続可能性: CLAは、プロジェクトが長期的に健全な状態を保ち、法的な障害なく進化し続けることを可能にします。

Goプロジェクトには、個人が署名する「Individual CLA」と、企業が署名する「Corporate CLA」の2種類があります。このコミットでは「individual CLA」と明記されており、David Bürgin氏が個人として署名したことを示しています。

AUTHORSファイルとCONTRIBUTORSファイル

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

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

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

技術的詳細

このコミットは、Goプロジェクトの内部ツールであるaddcaによって生成されたものです。addcaは、新しい貢献者がCLAに署名した際に、その情報をAUTHORSファイルとCONTRIBUTORSファイルに自動的に追加するスクリプトまたはプログラムであると推測されます。

コミットメッセージのA+Cは、AUTHORSCONTRIBUTORSの両方のファイルにエントリが追加されたことを示唆しています。これは、David Bürgin氏がGoプロジェクトにコードを貢献する資格を得たことを正式に記録するプロセスの一部です。

この種の自動化されたコミットは、大規模なオープンソースプロジェクトにおいて、貢献者の管理と記録を効率的に行うための一般的なプラクティスです。手動でこれらのファイルを更新する代わりに、ツールを使用することで、ヒューマンエラーを減らし、プロセスの一貫性を保つことができます。

R=gobotCC=golang-devは、コードレビューのプロセスに関連する情報です。

  • R=gobot: この変更がgobotによってレビューされたことを示します。gobotは、Goプロジェクトにおける自動化されたレビューボットである可能性があります。
  • CC=golang-dev: この変更がgolang-devメーリングリストにCCされたことを示します。これは、Go開発者コミュニティ全体にこの変更が通知されたことを意味します。

https://golang.org/cl/10372043は、このコミットに対応するGerrit Code Reviewのチェンジリストへのリンクです。GoプロジェクトはGerritを使用してコードレビューを行っており、各コミットは通常、Gerrit上のチェンジリストに対応しています。

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

このコミットでは、以下の2つのファイルが変更されています。

  1. AUTHORS
  2. CONTRIBUTORS

それぞれのファイルに1行ずつ追加が行われています。

diff --git a/AUTHORS b/AUTHORS
index 0785ba51d3..eddaccbb7c 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -83,6 +83,7 @@ Daniel Morsing <daniel.morsing@gmail.com>
 Daniel Theophanes <kardianos@gmail.com>
 Darren Elwood <darren@textnode.com>
 Dave Cheney <dave@cheney.net>
+David Bürgin <676c7473@gmail.com>
 David du Colombier <0intro@gmail.com>
 David Forsythe <dforsythe@gmail.com>
 David G. Andersen <dave.andersen@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 83a9f5f71c..7d199c2d83 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -135,6 +135,7 @@ Dave Borowitz <dborowitz@google.com>
 Dave Cheney <dave@cheney.net>
 Dave Grijalva <dgrijalva@ngmoco.com>
 David Anderson <danderson@google.com>
+David Bürgin <676c7473@gmail.com>
 David Crawshaw <david.crawshaw@zentus.com> <crawshaw@google.com>
 David du Colombier <0intro@gmail.com>
 David Forsythe <dforsythe@gmail.com>

コアとなるコードの解説

変更は非常にシンプルで、AUTHORSファイルとCONTRIBUTORSファイルの両方に、David Bürgin <676c7473@gmail.com>という行が追加されています。

  • AUTHORSファイルへの追加は、David Bürgin氏がGoプロジェクトの正式な作者の一人として認識されたことを意味します。これは、彼がプロジェクトの著作権に関する合意(CLA)に署名した結果です。
  • CONTRIBUTORSファイルへの追加は、David Bürgin氏がGoプロジェクトに貢献する資格のある人物としてリストに追加されたことを意味します。

これらの変更は、Goプロジェクトのガバナンスと法務プロセスの一部であり、新しい貢献者がプロジェクトにコードを提出する前に完了する必要がある重要なステップです。

関連リンク

参考にした情報源リンク