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

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

このコミットは、GoプロジェクトのAUTHORSファイルとCONTRIBUTORSファイルに、新たに2名の貢献者(Jingcheng ZhangとPatrick Smith)を追加するものです。これは、彼らが個別のContributor License Agreement (CLA) に署名したことを反映しています。

コミット

commit 0cfbb64c4317b6a47cbc140218c3c68d181923cb
Author: Russ Cox <rsc@golang.org>
Date:   Sun Oct 21 20:32:35 2012 -0400

    A+C: Jingcheng Zhang and Patrick Smith (individual CLA x2)
    
    R=golang-dev, bradfitz
    CC=golang-dev
    https://golang.org/cl/6749055

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

https://github.com/golang/go/commit/0cfbb64c4317b6a47cbc140218c3c68d181923cb

元コミット内容

A+C: Jingcheng Zhang and Patrick Smith (individual CLA x2)

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/6749055

変更の背景

オープンソースプロジェクト、特にGoのような大規模なプロジェクトでは、プロジェクトへの貢献者が増えるにつれて、その貢献を適切に記録し、法的な側面を明確にすることが重要になります。このコミットは、Jingcheng Zhang氏とPatrick Smith氏がGoプロジェクトに貢献するにあたり、個別のContributor License Agreement (CLA) に署名したことを受けて行われました。

CLAは、貢献者が自身のコードをプロジェクトに提供する際に、プロジェクトのライセンスの下でそのコードを使用、配布、変更することを許可する法的な合意です。これにより、プロジェクトは将来的にライセンスに関する問題が発生するのを防ぎ、貢献されたコードの所有権と利用権を明確にすることができます。

AUTHORSファイルとCONTRIBUTORSファイルは、プロジェクトに貢献した個人や組織を公式に記録するためのものです。AUTHORSは通常、プロジェクトの主要な作者や初期の貢献者を指し、CONTRIBUTORSはより広範な貢献者(バグ修正、ドキュメント改善、新機能追加など)を網羅します。このコミットは、これら2つのファイルに新しい貢献者の名前と連絡先情報を追加することで、彼らの貢献を正式に認識し、記録することを目的としています。

前提知識の解説

Contributor License Agreement (CLA)

CLAは、オープンソースプロジェクトにおいて、貢献者が自身の著作物(コード、ドキュメントなど)をプロジェクトに提供する際に締結する法的な契約です。CLAの主な目的は以下の通りです。

  1. ライセンスの明確化: 貢献されたコードがプロジェクトのライセンス(例: BSDライセンス、MITライセンスなど)の下で適切に利用されることを保証します。これにより、プロジェクトの利用者は、貢献されたコードがプロジェクトのライセンスに準拠していることを安心して利用できます。
  2. 著作権の管理: プロジェクトによっては、貢献された著作権をプロジェクトの運営団体(例: Linux Foundation, Apache Software Foundationなど)に譲渡するか、または共同で保持することを求める場合があります。これにより、プロジェクトは将来的なライセンス変更や、著作権侵害に対する法的措置を講じる際に、より柔軟に対応できるようになります。
  3. 法的リスクの軽減: 貢献されたコードに起因する潜在的な法的問題(例: 著作権侵害、特許侵害)からプロジェクトを保護します。CLAは、貢献者が提供するコードが彼ら自身のオリジナルであり、第三者の権利を侵害していないことを保証する条項を含むことが一般的です。

Goプロジェクトのような大規模なオープンソースプロジェクトでは、多くの個人や企業が貢献するため、CLAはプロジェクトの健全な運営と法的安定性を維持するために不可欠なツールとなっています。

AUTHORSファイルと CONTRIBUTORSファイル

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

  • AUTHORSファイル: 通常、プロジェクトの初期開発者、主要な設計者、またはプロジェクトの方向性を決定する上で中心的な役割を果たした人々がリストされます。プロジェクトの「作者」としての位置づけが強いです。
  • CONTRIBUTORSファイル: プロジェクトに何らかの形で貢献したすべての人々を網羅的にリストします。これには、コードのコミット、バグ報告、ドキュメントの作成、翻訳、テスト、コミュニティサポートなど、多岐にわたる貢献が含まれます。

これらのファイルは、貢献者への感謝と認識を示すだけでなく、プロジェクトの歴史と進化を追跡する上でも重要な役割を果たします。また、特定の貢献に関する問い合わせがあった場合に、適切な人物に連絡するための情報源となることもあります。

技術的詳細

このコミットの技術的な変更は非常に単純で、既存のテキストファイルであるAUTHORSCONTRIBUTORSに新しい行を追加するものです。Gitの差分(diff)を見ると、それぞれのファイルに1行ずつ、新しい貢献者の名前とメールアドレスが追加されていることがわかります。

具体的には、AUTHORSファイルにはJingcheng Zhang <diogin@gmail.com>が、CONTRIBUTORSファイルにはJingcheng Zhang <diogin@gmail.com>Patrick Smith <pat42smith@gmail.com>が追加されています。

この変更は、Goプロジェクトの貢献プロセスの一部であり、新しい貢献者がCLAに署名し、その貢献が正式に認められた後に実行されます。このような変更は、通常、プロジェクトのメンテナーによって行われ、プロジェクトの記録管理の一環として扱われます。

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

diff --git a/AUTHORS b/AUTHORS
index 14b3f8cbdb..7b7ea3170f 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -122,6 +122,7 @@ Jeff Wendling <jeff@spacemonkey.com>
 Jeremy Jackins <jeremyjackins@gmail.com>
 Jim McGrath <jimmc2@gmail.com>
 Jimmy Zelinskie <jimmyzelinskie@gmail.com>
+Jingcheng Zhang <diogin@gmail.com>
 Joakim Sernbrant <serbaut@gmail.com>
 Joe Poirier <jdpoirier@gmail.com>
 John Asmuth <jasmuth@gmail.com>
@@ -186,6 +187,7 @@ Patrick Crosby <patrick@stathat.com>
 Patrick Gavlin <pgavlin@gmail.com>
 Patrick Higgins <patrick.allen.higgins@gmail.com>
 Patrick Mylund Nielsen <patrick@patrickmn.com>
+Patrick Smith <pat42smith@gmail.com>
 Paul Lalonde <paul.a.lalonde@gmail.com>
 Paul Sbarra <Sbarra.Paul@gmail.com>
 Petar Maymounkov <petarm@google.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 1410a6ff41..1cf3b93014 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -182,6 +182,7 @@ Jeff Wendling <jeff@spacemonkey.com>
 Jeremy Jackins <jeremyjackins@gmail.com>
 Jim McGrath <jimmc2@gmail.com>
 Jimmy Zelinskie <jimmyzelinskie@gmail.com>
+Jingcheng Zhang <diogin@gmail.com>
 Joakim Sernbrant <serbaut@gmail.com>
 Joe Poirier <jdpoirier@gmail.com>
 Joel Sing <jsing@google.com>
@@ -269,6 +270,7 @@ Patrick Crosby <patrick@stathat.com>
 Patrick Gavlin <pgavlin@gmail.com>
 Patrick Higgins <patrick.allen.higgins@gmail.com>
 Patrick Mylund Nielsen <patrick@patrickmn.com>
+Patrick Smith <pat42smith@gmail.com>
 Paul Borman <borman@google.com>
 Paul Chang <paulchang@google.com>
 Paul Lalonde <paul.a.lalonde@gmail.com>

コアとなるコードの解説

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

  • AUTHORSファイル:

    • Jingcheng Zhang <diogin@gmail.com>という行が追加されています。これは、Jingcheng Zhang氏がGoプロジェクトの作者の一人として認識されたことを意味します。
    • Patrick Smith <pat42smith@gmail.com>という行が追加されています。これは、Patrick Smith氏もGoプロジェクトの作者の一人として認識されたことを意味します。
  • CONTRIBUTORSファイル:

    • Jingcheng Zhang <diogin@gmail.com>という行が追加されています。
    • Patrick Smith <pat42smith@gmail.com>という行が追加されています。

これらの変更は、テキストファイルに新しいエントリを追加する通常のファイル編集操作であり、特定のプログラミング言語のロジック変更や機能追加とは異なります。これは、プロジェクトのメタデータ管理の一環として行われる、定型的な更新です。

関連リンク

参考にした情報源リンク