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

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

このコミットは、Go言語プロジェクトのCONTRIBUTORSファイルに新しい貢献者であるJeremy Schlatter氏を追加するものです。これは、彼がGoogleのContributor License Agreement (CLA)に署名したことを示しており、Goプロジェクトへの貢献が公式に認められたことを意味します。

コミット

commit abbe111135e5410d0ea2f16d5c7f36e0c6e89cf9
Author: Brad Fitzpatrick <bradfitz@golang.org>
Date:   Thu Feb 7 20:25:10 2013 -0800

    C: add Jeremy Schlatter (Google CLA)
    
    R=golang-dev, dsymonds
    CC=golang-dev
    https://golang.org/cl/7307070
---
 CONTRIBUTORS | 1 +
 1 file changed, 1 insertion(+)

diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index d7e8930575..1aa82020aa 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -203,6 +203,7 @@ Jeff Hodges <jeff@somethingsimilar.com>
 Jeff R. Allen <jra@nella.org> <jeff.allen@gmail.com>
 Jeff Wendling <jeff@spacemonkey.com>
 Jeremy Jackins <jeremyjackins@gmail.com>
+Jeremy Schlatter <jeremy.schlatter@gmail.com>
 Jim McGrath <jimmc2@gmail.com>
 Jimmy Zelinskie <jimmyzelinskie@gmail.com>
 Jingcheng Zhang <diogin@gmail.com>

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

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

元コミット内容

C: add Jeremy Schlatter (Google CLA)

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/7307070

変更の背景

この変更の背景には、オープンソースプロジェクトにおける貢献者の管理と法的な側面があります。多くの大規模なオープンソースプロジェクト、特に企業が主導するプロジェクトでは、貢献者からのコードを受け入れる前に、Contributor License Agreement (CLA)への署名を求めることがあります。

Go言語プロジェクトはGoogleによって開始され、維持されているため、GoogleのCLAプロセスに従っています。Jeremy Schlatter氏がGoプロジェクトに貢献するにあたり、Google CLAに署名したため、その貢献が正式に認められ、プロジェクトのCONTRIBUTORSファイルに彼の名前が追加されました。これにより、彼の将来の貢献がスムーズに統合されるための法的な基盤が確立されます。

前提知識の解説

Contributor License Agreement (CLA)

Contributor License Agreement (CLA)は、個人または企業がオープンソースプロジェクトに貢献する際に、プロジェクトの所有者(またはそのプロジェクトをホストする組織)と貢献者の間で締結される法的文書です。CLAの主な目的は以下の通りです。

  1. 著作権の明確化: 貢献されたコードの著作権が誰に帰属するかを明確にします。多くの場合、CLAは貢献者が自身の貢献に対する著作権を保持しつつ、プロジェクトの所有者に対してそのコードを使用、変更、配布、サブライセンスする永続的で取り消し不能な権利を付与することを定めます。これにより、プロジェクトの所有者は、将来的なライセンス変更や法的な問題が発生した場合でも、貢献されたコードを自由に利用できることを保証します。
  2. ライセンスの統一性: プロジェクト全体でコードのライセンスが統一されていることを保証します。これにより、プロジェクトの利用者がライセンスに関する混乱を避けることができます。
  3. 法的リスクの軽減: 貢献されたコードが第三者の著作権を侵害していないことを貢献者が保証する条項が含まれることが多く、これによりプロジェクトの所有者が法的な紛争に巻き込まれるリスクを軽減します。

Google CLAは、Googleが管理するオープンソースプロジェクト(Go、Android、Chromiumなど)で広く使用されています。貢献者は、コードを提出する前にこのCLAに署名する必要があります。

CONTRIBUTORSファイル

CONTRIBUTORSファイル(または類似のAUTHORSCREDITSファイル)は、オープンソースプロジェクトにおいて、そのプロジェクトに貢献した人々の名前をリストアップするために使用されるテキストファイルです。このファイルは通常、プロジェクトのルートディレクトリに配置されます。

このファイルの目的は以下の通りです。

  • 貢献者の認識: プロジェクトの成功に貢献した個人や組織を公に認識し、感謝の意を表します。
  • 透明性: プロジェクトの歴史と、誰がその開発に携わったかについての透明性を提供します。
  • 法的な補助: CLAと組み合わせて、誰がどのコードに貢献したかを示す補助的な記録として機能することもあります。

CONTRIBUTORSファイルは、プロジェクトのドキュメントの一部として扱われ、新しい貢献者が加わるたびに更新されるのが一般的です。

技術的詳細

このコミットは、Go言語プロジェクトのCONTRIBUTORSファイルに対する非常にシンプルな変更です。具体的には、CONTRIBUTORSファイルに新しい行が1行追加され、Jeremy Schlatter氏の名前とメールアドレスがリストに加わっています。

Gitの差分(diff)を見ると、以下のようになっています。

--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -203,6 +203,7 @@ Jeff Hodges <jeff@somethingsimilar.com>
 Jeff R. Allen <jra@nella.org> <jeff.allen@gmail.com>
 Jeff Wendling <jeff@spacemonkey.com>
 Jeremy Jackins <jeremyjackins@gmail.com>
+Jeremy Schlatter <jeremy.schlatter@gmail.com>
 Jim McGrath <jimmc2@gmail.com>
 Jimmy Zelinskie <jimmyzelinskie@gmail.com>
 Jingcheng Zhang <diogin@gmail.com>

この差分は、CONTRIBUTORSファイルの203行目付近に、Jeremy Schlatter <jeremy.schlatter@gmail.com>という行が追加されたことを示しています。ファイルの変更は1行の追加のみであり、既存のコンテンツの変更や削除はありません。

この変更は、Goプロジェクトのビルドプロセスやランタイム動作には一切影響を与えません。これは純粋にプロジェクトのメタデータに関する変更であり、貢献者の記録を最新の状態に保つためのものです。

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

diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index d7e8930575..1aa82020aa 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -203,6 +203,7 @@ Jeff Hodges <jeff@somethingsimilar.com>
 Jeff R. Allen <jra@nella.org> <jeff.allen@gmail.com>
 Jeff Wendling <jeff@spacemonkey.com>
 Jeremy Jackins <jeremyjackins@gmail.com>
+Jeremy Schlatter <jeremy.schlatter@gmail.com>
 Jim McGrath <jimmc2@gmail.com>
 Jimmy Zelinskie <jimmyzelinskie@gmail.com>
 Jingcheng Zhang <diogin@gmail.com>

コアとなるコードの解説

上記の差分が示すように、変更はCONTRIBUTORSファイルに限定されています。

  • --- a/CONTRIBUTORS+++ b/CONTRIBUTORS は、変更前のファイル (a) と変更後のファイル (b) を示しています。
  • index d7e8930575..1aa82020aa 100644 は、Gitの内部的なオブジェクトハッシュとファイルモードを示しており、ファイルの内容が変更されたことを意味します。
  • @@ -203,6 +203,7 @@ は、差分がファイルの203行目から始まり、変更前は6行、変更後は7行のコンテキストが表示されていることを示します。
  • - で始まる行は削除された行、+ で始まる行は追加された行を示します。このコミットでは、+Jeremy Schlatter <jeremy.schlatter@gmail.com> の1行が追加されています。

この変更は、CONTRIBUTORSファイル内の既存の貢献者リストに、アルファベット順(または何らかの規則に従って)新しいエントリを追加する一般的なパターンに従っています。これにより、プロジェクトの貢献者リストが正確かつ最新の状態に保たれます。

関連リンク

  • Go言語の公式ウェブサイト: https://golang.org/
  • Go言語の貢献ガイドライン(一般的な情報): https://golang.org/doc/contribute.html (CLAに関する詳細が含まれている可能性があります)
  • Google Contributor License Agreement (CLA)に関する情報: Googleのオープンソースサイトなどで詳細が提供されています。

参考にした情報源リンク

  • この解説は、提供されたコミット情報(コミットメッセージ、差分)と、オープンソースプロジェクトにおけるContributor License Agreement (CLA)およびCONTRIBUTORSファイルの一般的な知識に基づいて作成されました。