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

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

このコミットは、GoプロジェクトのコントリビューターリストにGustav Paul氏を追加するものです。具体的には、AUTHORSファイルとCONTRIBUTORSファイルにGustav Paul氏の名前とメールアドレスが追記されています。これは、Gustav Paul氏がGoプロジェクトに貢献するために、個人としてのContributor License Agreement (CLA) を締結したことを示しています。

コミット

  • コミットハッシュ: 1f83c2b6d5db4ae8bd053b16574edbb849d62385
  • Author: Brad Fitzpatrick bradfitz@golang.org
  • Date: Fri Nov 25 10:50:19 2011 -0500
  • Commit Message:
    C+A: add Gustav Paul (individual CLA)
    
    R=golang-dev, r
    CC=golang-dev
    https://golang.org/cl/5432076
    

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

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

元コミット内容

commit 1f83c2b6d5db4ae8bd053b16574edbb849d62385
Author: Brad Fitzpatrick <bradfitz@golang.org>
Date:   Fri Nov 25 10:50:19 2011 -0500

    C+A: add Gustav Paul (individual CLA)
    
    R=golang-dev, r
    CC=golang-dev
    https://golang.org/cl/5432076
---
 AUTHORS      | 1 +
 CONTRIBUTORS | 1 +
 2 files changed, 2 insertions(+)

diff --git a/AUTHORS b/AUTHORS
index 38c14222f2..5d3658d41b 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -70,6 +70,7 @@ Gideon Jan-Wessel Redelinghuys <gjredelinghuys@gmail.com>
 Giles Lean <giles.lean@pobox.com>
 Google Inc.
 Graham Miller <graham.miller@gmail.com>
+Gustav Paul <gustav.paul@gmail.com>
 Gustavo Niemeyer <gustavo@niemeyer.net>
 Harley Laue <losinggeneration@gmail.com>
 Hector Chu <hectorchu@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 30d8651a70..3b1161979c 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -112,6 +112,7 @@ Gary Burd <gary@beagledreams.com> <gary.burd@gmail.com>
 Gideon Jan-Wessel Redelinghuys <gjredelinghuys@gmail.com>
 Giles Lean <giles.lean@pobox.com>
 Graham Miller <graham.miller@gmail.com>
+Gustav Paul <gustav.paul@gmail.com>
 Gustavo Niemeyer <gustavo@niemeyer.net> <n13m3y3r@gmail.com>
 Harley Laue <losinggeneration@gmail.com>
 Hector Chu <hectorchu@gmail.com>

変更の背景

このコミットの背景には、オープンソースプロジェクト、特にGoogleが関与するプロジェクトにおける貢献者ライセンス同意書(CLA: Contributor License Agreement)の要件があります。GoプロジェクトはGoogleによって開始され、その開発プロセスにおいて、外部からの貢献を受け入れる際にCLAの締結を求めています。

CLAは、貢献者がその貢献物に対する著作権をプロジェクトの所有者(この場合はGoogle)に譲渡するか、または広範なライセンスを付与することを保証するための法的な文書です。これにより、プロジェクトの所有者は、貢献されたコードを自由に利用、配布、変更する権利を得ることができ、将来的なライセンス問題や著作権紛争のリスクを軽減できます。

Gustav Paul氏がGoプロジェクトにコードを貢献するにあたり、個人としてのCLAを締結したため、その事実をプロジェクトの公式な記録であるAUTHORSファイルとCONTRIBUTORSファイルに反映させる必要がありました。このコミットは、その記録更新作業の一環として行われたものです。

前提知識の解説

AUTHORSファイルとCONTRIBUTORSファイル

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

  • AUTHORSファイル: 主にプロジェクトの主要な作者や著作権保持者をリストアップするために使用されます。法的な意味合いが強い場合もあります。
  • CONTRIBUTORSファイル: プロジェクトに何らかの形で貢献したすべての人々(コードの寄稿者、ドキュメントの作成者、バグ報告者、テスターなど)をリストアップするために使用されます。こちらはより広範な意味での貢献者を網羅します。

これらのファイルは、プロジェクトの透明性を高め、貢献者への感謝を示す役割も果たします。Goプロジェクトでは、これらのファイルが貢献者の公式な記録として機能しています。

Contributor License Agreement (CLA)

CLAは、オープンソースプロジェクトにおいて、外部の貢献者からコードやその他の貢献物を受け入れる際に使用される法的な契約です。CLAには主に以下の2つのタイプがあります。

  1. Individual CLA (ICLA): 個人がプロジェクトに貢献する際に締結するものです。このコミットでGustav Paul氏が締結したのがこれに該当します。
  2. Corporate CLA (CCLA): 企業がその従業員を通じてプロジェクトに貢献する際に締結するものです。企業全体としてCLAに同意することで、その企業の従業員が行った貢献がカバーされます。

CLAを要求する主な理由は以下の通りです。

  • 著作権の明確化: 貢献されたコードの著作権が誰に帰属するかを明確にし、将来的な著作権侵害の訴訟リスクを低減します。
  • ライセンスの統一性: プロジェクト全体で一貫したライセンスモデルを維持することを可能にします。CLAを通じて、プロジェクトの所有者は貢献されたコードをプロジェクトのライセンスの下で再ライセンスする権利を得ます。
  • 法的な保護: プロジェクトの所有者やユーザーが、貢献されたコードの使用に関して法的な問題に直面した場合に保護を提供します。
  • プロジェクトの持続可能性: プロジェクトの所有者が、貢献されたコードベースを長期的に管理・維持するための法的な基盤を確立します。

Googleは、多くのオープンソースプロジェクト(Android, Chromium, Goなど)でCLAを要求しており、これは同社の法務部門がプロジェクトの健全性と持続可能性を確保するために採用している標準的なプラクティスです。

技術的詳細

このコミットは、Go言語のソースコードリポジトリにおけるメタデータファイルの更新です。変更は非常にシンプルで、既存のテキストファイルに新しい行を追加する形で行われています。

具体的には、以下の2つのファイルが変更されています。

  1. AUTHORS: このファイルは、Goプロジェクトの主要な作者や著作権保持者を列挙しています。Gustav Paul氏が個人CLAを締結したことで、彼もGoプロジェクトの正式な作者の一員として認められたことを示しています。
  2. CONTRIBUTORS: このファイルは、Goプロジェクトに貢献したすべての個人を列挙しています。Gustav Paul氏の名前がここに追加されることで、彼の貢献が公式に記録されます。

変更内容は、それぞれのファイルの適切なアルファベット順の位置に、Gustav Paul <gustav.paul@gmail.com>という形式の行を1行追加するだけです。これは、テキストファイルに対する一般的な追加操作であり、特別なプログラミング言語やフレームワークの知識は必要ありません。Gitの差分表示(diff)を見てもわかるように、既存の行は変更されず、新しい行が挿入されているだけです。

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

diff --git a/AUTHORS b/AUTHORS
index 38c14222f2..5d3658d41b 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -70,6 +70,7 @@ Gideon Jan-Wessel Redelinghuys <gjredelinghuys@gmail.com>
 Giles Lean <giles.lean@pobox.com>
 Google Inc.
 Graham Miller <graham.miller@gmail.com>
+Gustav Paul <gustav.paul@gmail.com>
 Gustavo Niemeyer <gustavo@niemeyer.net>
 Harley Laue <losinggeneration@gmail.com>
 Hector Chu <hectorchu@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 30d8651a70..3b1161979c 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -112,6 +112,7 @@ Gary Burd <gary@beagledreams.com> <gary.burd@gmail.com>
 Gideon Jan-Wessel Redelinghuys <gjredelinghuys@gmail.com>
 Giles Lean <giles.lean@pobox.com>
 Graham Miller <graham.miller@gmail.com>
+Gustav Paul <gustav.paul@gmail.com>
 Gustavo Niemeyer <gustavo@niemeyer.net> <n13m3y3r@gmail.com>
 Harley Laue <losinggeneration@gmail.com>
 Hector Chu <hectorchu@gmail.com>

コアとなるコードの解説

上記の差分は、AUTHORSファイルとCONTRIBUTORSファイルの両方に、Gustav Paul氏のエントリが追加されたことを示しています。

  • AUTHORSファイルでは、Graham Miller <graham.miller@gmail.com>の行の直後に、+Gustav Paul <gustav.paul@gmail.com>という行が挿入されています。これは、アルファベット順に並べられたリストに新しいエントリが追加されたことを意味します。
  • CONTRIBUTORSファイルでも同様に、Graham Miller <graham.miller@gmail.com>の行の直後に、+Gustav Paul <gustav.paul@gmail.com>という行が挿入されています。

この変更は、Goプロジェクトの公式な記録にGustav Paul氏の名前が追加されたことを明確に示しており、彼がプロジェクトに貢献する資格を得たことを意味します。技術的な複雑さはなく、単なるデータ追加の操作です。

関連リンク

  • Goプロジェクトの貢献ガイドライン: Goプロジェクトへの貢献方法に関する公式ドキュメント。CLAの要件についても言及されているはずです。
  • GoogleのCLAに関する情報: GoogleがオープンソースプロジェクトでCLAを要求する理由や、そのプロセスに関する一般的な情報。

参考にした情報源リンク

  • Goプロジェクトの公式ドキュメント (go.dev)
  • Google DevelopersのCLAに関する情報 (cla.developers.google.com)
  • オープンソースプロジェクトにおけるCLAの一般的な概念に関する情報 (Wikipedia, 各種ブログ記事など)