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

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

このコミットは、GoプロジェクトのAUTHORSファイルとCONTRIBUTORSファイルに、新しい貢献者であるMarco Hennings氏を追加するものです。これは、彼がGoプロジェクトへの貢献を開始するにあたり、個人のContributor License Agreement (CLA) を締結したことを示す記録です。

コミット

commit 1ad6fc6bc46e874f3c866825afcde2cec7d50981
Author: David Symonds <dsymonds@golang.org>
Date:   Mon Aug 19 10:45:06 2013 +1000

    A+C: Marco Hennings (individual CLA)
    
    Generated by addca.
    
    R=gobot
    CC=golang-dev
    https://golang.org/cl/13096043

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

https://github.com/golang/go/commit/1ad6fc6bc46e874f3c866825afcde2cec7d50981

元コミット内容

A+C: Marco Hennings (individual CLA)

Generated by addca.

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

変更の背景

このコミットの背景には、オープンソースプロジェクト、特にGoogleが主導するプロジェクトにおける「Contributor License Agreement (CLA)」の重要性があります。CLAは、貢献者がその貢献物に対する著作権をプロジェクトの所有者(この場合はGoogle)に許諾するための法的な合意書です。これにより、プロジェクトの所有者は、貢献されたコードを自由に利用、配布、変更する権利を得ることができ、将来的なライセンス問題や著作権紛争のリスクを回避できます。

Marco Hennings氏がGoプロジェクトにコードを貢献する準備ができたため、彼は個人のCLAを締結しました。このコミットは、そのCLAが適切に処理され、彼が正式な貢献者として認識されたことを示す記録として、AUTHORSファイルとCONTRIBUTORSファイルに彼の名前を追加するために行われました。コミットメッセージにあるGenerated by addca.は、addcaというツール(おそらくCLAの管理を自動化するための内部ツール)によってこの変更が生成されたことを示唆しています。

前提知識の解説

  • Contributor License Agreement (CLA): CLAは、個人または企業がオープンソースプロジェクトにコードを貢献する際に署名する法的文書です。これにより、プロジェクトの所有者は、貢献されたコードをプロジェクトのライセンスの下で配布する権利を得ます。Goのような大規模なオープンソースプロジェクトでは、知的財産権の明確化と保護のためにCLAが不可欠です。Googleは多くのオープンソースプロジェクトでCLAを要求しており、これは貢献されたコードの所有権と利用権を明確にするための標準的なプラクティスです。

  • AUTHORSファイルとCONTRIBUTORSファイル: 多くのオープンソースプロジェクトでは、プロジェクトに貢献した人々の名前を記録するためのファイルが存在します。Goプロジェクトでは、AUTHORSファイルとCONTRIBUTORSファイルがその役割を担っています。

    • AUTHORSファイル: 主にプロジェクトの主要な作者や、著作権を保持する個人や団体がリストされます。
    • CONTRIBUTORSファイル: プロジェクトに貢献したすべての個人がリストされます。これには、コードの貢献者だけでなく、ドキュメントの作成者、バグ報告者、テスターなども含まれる場合があります。 これらのファイルは、プロジェクトの歴史と貢献者を可視化し、コミュニティの努力を認識するために重要です。
  • R=gobot: これは、Goプロジェクトのコードレビュープロセスにおける表記です。R=は「Reviewer」を意味し、gobotは自動化されたレビューボットを指します。これは、この変更が自動システムによって承認されたことを示しています。CLAの追加のような管理的な変更は、しばしば自動化されたプロセスによって処理されます。

  • CC=golang-dev: CC=は「Carbon Copy」を意味し、この変更に関する通知がgolang-devメーリングリストに送られたことを示します。golang-devはGo開発者コミュニティの主要なコミュニケーションチャネルであり、重要な変更や議論が共有されます。

  • https://golang.org/cl/13096043: これは、GoプロジェクトのコードレビューシステムであるGerritにおける変更リスト(Change-List, CL)へのリンクです。Goプロジェクトでは、すべてのコード変更はGerritを通じてレビューされ、承認されてからメインリポジトリにマージされます。このリンクは、この特定の変更に関する詳細なレビュー履歴、コメント、および関連情報を提供します。

技術的詳細

このコミットは、Goプロジェクトのソースコードリポジトリ内の2つのプレーンテキストファイル、AUTHORSCONTRIBUTORSに新しい行を追加する非常にシンプルな変更です。これらのファイルは、プロジェクトのメタデータの一部として機能し、法的な目的(CLAの遵守)とコミュニティの認識(貢献者のリスト)の両方に役立ちます。

変更は、diffコマンドの出力として示されており、既存のファイルに1行ずつ追加されていることがわかります。追加された行は、Marco Hennings氏の名前とメールアドレスです。

  • AUTHORSファイルへの追加: Marco Hennings <marco.hennings@freiheit.com>
  • CONTRIBUTORSファイルへの追加: Marco Hennings <marco.hennings@freiheit.com>

この変更は、Goのランタイムやコンパイラなどのコア機能には直接影響を与えません。これは、プロジェクトの管理とガバナンスに関連する変更です。しかし、このような管理的な変更は、オープンソースプロジェクトの健全な運営と法的な整合性を維持するために不可欠です。

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

このコミットによって変更されたファイルは以下の2つです。

  1. AUTHORS
  2. CONTRIBUTORS

それぞれのファイルに対する変更は、以下のdiff出力で示されています。

diff --git a/AUTHORS b/AUTHORS
index 69db1d7ed4..ca89e0066b 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -200,6 +200,7 @@ Lorenzo Stoakes <lstoakes@gmail.com>
 Luca Greco <luca.greco@alcacoop.it>
 Lucio De Re <lucio.dere@gmail.com>
 Luit van Drongelen <luitvd@gmail.com>
+Marco Hennings <marco.hennings@freiheit.com>
 Markus Duft <markus.duft@salomon.at>
 Markus Sonderegger <marraison@gmail.com>
 Martin Neubauer <m.ne@gmx.net>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index e059c686ee..f8f923b055 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -296,6 +296,7 @@ Luit van Drongelen <luitvd@gmail.com>
 Luuk van Dijk <lvd@golang.org> <lvd@google.com>
 Manu Garg <manugarg@google.com>
 Marcel van Lohuizen <mpvl@golang.org>
+Marco Hennings <marco.hennings@freiheit.com>
 Mark Zavislak <zavislak@google.com>
 Markus Duft <markus.duft@salomon.at>
 Markus Sonderegger <marraison@gmail.com>

コアとなるコードの解説

上記のdiff出力が示すように、変更は非常に単純です。

  • AUTHORSファイル: @@ -200,6 +200,7 @@ の行は、変更が元のファイルの200行目から6行を対象とし、変更後には200行目から7行になることを示しています。これは、1行が追加されたことを意味します。 +Marco Hennings <marco.hennings@freiheit.com> の行が追加されています。これは、Marco Hennings氏がGoプロジェクトの作者の一人として(またはその著作権許諾者として)認識されたことを示します。

  • CONTRIBUTORSファイル: @@ -296,6 +296,7 @@ の行は、変更が元のファイルの296行目から6行を対象とし、変更後には296行目から7行になることを示しています。これも1行が追加されたことを意味します。 +Marco Hennings <marco.hennings@freiheit.com> の行が追加されています。これは、Marco Hennings氏がGoプロジェクトへの貢献者として正式にリストアップされたことを示します。

これらの変更は、既存のリストに新しいエントリをアルファベット順に挿入する形で行われています。これは、これらのファイルが通常、ソートされたリストとして管理されていることを示唆しています。

関連リンク

参考にした情報源リンク

  • Goプロジェクトの貢献ガイドライン (Go Contribution Guidelines): Goプロジェクトへの貢献方法に関する公式ドキュメント。CLAの要件についても言及されています。 https://go.dev/doc/contribute
  • Contributor License Agreement (CLA) についての一般的な情報: CLAの目的と重要性について説明している記事やドキュメント。 (例: Google Open Source - Contributor License Agreements: https://opensource.google/docs/cla/) ※上記のリンクは一般的な情報源であり、コミット当時の正確な情報源ではない可能性がありますが、CLAの概念を理解する上で役立ちます。