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

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

本コミットは、Go言語プロジェクトのコントリビューターリストに新たな個人コントリビューターであるPeter Waller氏を追加するものです。具体的には、AUTHORSファイルとCONTRIBUTORSファイルにPeter Waller氏の名前とメールアドレスが追記されています。これは、彼がGoプロジェクトへの貢献を開始するにあたり、個人コントリビューターライセンス契約(CLA: Contributor License Agreement)を締結したことを示しています。

コミット

commit 9b0f4be2fbab4b428f435287e73a4c2709ae5dc4
Author: Ian Lance Taylor <iant@golang.org>
Date:   Tue Oct 30 17:24:01 2012 -0700

    A+C: add Peter Waller (individual CLA)
    
    R=golang-dev, dsymonds
    CC=golang-dev
    https://golang.org/cl/6775083

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

https://github.com/golang/go/commit/9b0f4be2fbab4b428f435287e73a4c2709ae5dc4

元コミット内容

このコミットの元の内容は、Goプロジェクトの公式リポジトリにPeter Waller氏を個人コントリビューターとして追加することです。コミットメッセージの "A+C" は、AUTHORSファイルとCONTRIBUTORSファイルの両方への追加を意味しています。また、彼が「individual CLA」を締結済みであることが明記されています。

変更の背景

オープンソースプロジェクト、特に大規模なプロジェクトでは、プロジェクトの知的財産権を保護し、将来的なライセンス問題を防ぐために、コントリビューターライセンス契約(CLA)の締結を求めることが一般的です。CLAは、コントリビューターが自身の貢献に対する著作権をプロジェクトに譲渡するか、またはプロジェクトがその貢献を特定のライセンスの下で使用することを許可する法的合意です。

Go言語プロジェクトも例外ではなく、貢献を受け入れる前にCLAの締結を義務付けています。Peter Waller氏がGoプロジェクトに貢献を開始するにあたり、このCLAを締結したため、彼の貢献が正式に認められるように、コントリビューターリストに彼の名前を追加する必要がありました。このコミットは、その管理上の手続きの一環として行われたものです。

前提知識の解説

コントリビューターライセンス契約 (CLA: Contributor License Agreement)

CLAは、個人または企業がオープンソースプロジェクトにコード、ドキュメント、その他のコンテンツを貢献する際に、プロジェクトの所有者(または管理団体)と締結する法的な契約です。主な目的は以下の通りです。

  1. 知的財産権の明確化: 貢献されたコードの著作権が誰に帰属するかを明確にします。多くの場合、コントリビューターは著作権をプロジェクトの所有者に譲渡するか、またはプロジェクトがその貢献を特定のオープンソースライセンスの下で利用することを許可します。
  2. ライセンスの統一性: プロジェクト全体で一貫したライセンスモデルを維持することを保証します。これにより、将来的にプロジェクトのライセンスを変更する際や、プロジェクトのコードを他の目的で利用する際に、法的な問題が発生するリスクを低減します。
  3. 法的保護: プロジェクトの所有者が、コントリビューターの貢献に起因する潜在的な著作権侵害の申し立てから保護されることを助けます。

CLAには「個人CLA (Individual CLA)」と「企業CLA (Corporate CLA)」の2種類があります。個人CLAは個人が自身の名義で貢献する場合に締結し、企業CLAは企業が従業員の貢献を代表して締結する場合に用いられます。

AUTHORSファイルとCONTRIBUTORSファイル

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

  • AUTHORSファイル: 通常、プロジェクトの主要な作者や初期の貢献者、または特に重要な貢献をした人々をリストアップするために使用されます。このファイルは、プロジェクトの歴史的な記録としての意味合いが強いです。
  • CONTRIBUTORSファイル: プロジェクトに貢献したすべての個人や団体をリストアップするために使用されます。これには、コードのコミットだけでなく、バグ報告、ドキュメントの改善、テストの作成など、様々な形の貢献が含まれることがあります。このファイルは、プロジェクトのコミュニティ全体への感謝と認識を示す役割を果たします。

Go言語プロジェクトでは、これら2つのファイルがプロジェクトへの貢献者を管理するために使用されています。

技術的詳細

このコミットは、Go言語のソースコード自体には直接的な機能変更を加えていません。代わりに、プロジェクトのメタデータ、具体的には貢献者情報を管理するテキストファイルを更新しています。

  • AUTHORSファイル: このファイルは、プロジェクトの主要な作者や、特に重要な貢献をした人々を列挙しています。Peter Waller氏がこのファイルに追加されたことは、彼がGoプロジェクトにとって重要な貢献者として認識されていることを示唆しています。
  • CONTRIBUTORSファイル: このファイルは、Goプロジェクトに貢献したすべての個人を列挙しています。CLAを締結したすべての個人がこのリストに含まれることが期待されます。

Gitの差分(diff)を見ると、両ファイルにPeter Waller氏の名前とメールアドレスが1行ずつ追加されていることがわかります。これは、テキストファイルへの単純な追記操作であり、複雑なロジックやデータ構造の変更は伴いません。

コミットメッセージに含まれる R=golang-dev, dsymonds および CC=golang-dev は、コードレビューのプロセスを示しています。golang-devはGo開発者メーリングリストを指し、dsymondsはレビュー担当者の一人です。https://golang.org/cl/6775083 は、この変更がGoのコードレビューシステム(Gerritベース)における変更リスト(Change-list)のIDであることを示しています。これは、Goプロジェクトが採用している厳格なコードレビュープロセスを経て、この変更が承認されたことを意味します。

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

このコミットにおける「コアとなるコード」は、Go言語の機能的なコードではなく、プロジェクトの管理ファイルです。変更されたファイルは以下の2つです。

  1. /AUTHORS
  2. /CONTRIBUTORS

それぞれのファイルに、Peter Waller氏の名前とメールアドレスが1行ずつ追加されています。

diff --git a/AUTHORS b/AUTHORS
index 0a07281bfd..e60f3c4bcb 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -196,6 +196,7 @@ Peter Armitage <peter.armitage@gmail.com>
 Peter Froehlich <peter.hans.froehlich@gmail.com>
 Peter Kleiweg <pkleiweg@xs4all.nl>
 Peter Mundy <go.peter.90@gmail.com>
+Peter Waller <peter.waller@gmail.com>
 Peter Williams <pwil3058@gmail.com>
 Pieter Droogendijk <pieter@binky.org.uk>
 Quan Yong Zhai <qyzhai@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 720c434af2..946843db92 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -284,6 +284,7 @@ Peter Kleiweg <pkleiweg@xs4all.nl>
 Peter McKenzie <petermck@google.com>
 Peter Mundy <go.peter.90@gmail.com>
 Péter Szabó <pts@google.com>
+Peter Waller <peter.waller@gmail.com>
 Peter Weinberger <pjw@golang.org>
 Peter Williams <pwil3058@gmail.com>
 Phil Pennock <pdp@golang.org>

コアとなるコードの解説

上記の差分が示すように、変更は非常にシンプルです。

  • AUTHORSファイルでは、既存のPeter Mundy氏のエントリの後に、Peter Waller <peter.waller@gmail.com>という行が追加されています。
  • CONTRIBUTORSファイルでも同様に、Péter Szabó氏のエントリの後に、Peter Waller <peter.waller@gmail.com>という行が追加されています。

これらの変更は、Goプロジェクトの貢献者リストを最新の状態に保つための標準的な手順であり、Peter Waller氏がGoプロジェクトの正式な貢献者として認識されたことを意味します。これにより、彼が今後Goプロジェクトに対して行うコードコミットやその他の貢献が、プロジェクトのライセンスと知的財産権の枠組みの中で適切に扱われるようになります。

関連リンク

  • Go言語公式ウェブサイト: https://golang.org/
  • Go言語の貢献ガイドライン (CLAに関する情報が含まれる場合があります): https://go.dev/doc/contribute (現在のURLであり、コミット当時のURLとは異なる可能性があります)

参考にした情報源リンク