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

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

このコミットは、Go言語プロジェクトのCONTRIBUTORSファイルに新たな貢献者であるColby Ranger氏を追加するものです。これは、同氏がGoogleのContributor License Agreement (CLA) を締結したことに伴う変更であり、オープンソースプロジェクトにおける貢献者の正式な記録と法的な側面を反映しています。

コミット

  • コミットハッシュ: bd7c4aee96b5256d59a9805a2bfbb2d6394df9ff
  • 作者: Brad Fitzpatrick bradfitz@golang.org
  • コミット日時: 2012年4月16日 月曜日 10:25:20 -0700
  • 変更概要: CONTRIBUTORSファイルにColby Ranger氏を追加 (Google CLA)

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

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

元コミット内容

CONTRIBUTORS: add Colby Ranger (Google CLA)

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/6037052

変更の背景

この変更の背景には、オープンソースプロジェクト、特に大規模なプロジェクトにおける貢献管理のプロセスがあります。Go言語プロジェクトのようなGoogleが主導するプロジェクトでは、外部からのコード貢献を受け入れる際に、法的な問題を避けるためにContributor License Agreement (CLA) の締結を求めるのが一般的です。

Colby Ranger氏がGoプロジェクトに貢献するにあたり、GoogleのCLAを締結したため、その貢献を正式に認識し、プロジェクトの公式な貢献者リストであるCONTRIBUTORSファイルにその名前を追加する必要が生じました。このコミットは、その手続きの一環として行われたものです。

前提知識の解説

CONTRIBUTORSファイル

多くのオープンソースプロジェクトでは、プロジェクトに貢献した人々の名前をリストアップしたCONTRIBUTORSAUTHORS、または類似のファイルが存在します。このファイルは、プロジェクトの歴史と、誰がその開発に貢献したかを示す重要な記録となります。法的な意味合いを持つこともありますが、多くの場合、貢献者への感謝と認識を示す目的で維持されます。

Contributor License Agreement (CLA)

CLA(貢献者ライセンス同意書)は、個人または企業がオープンソースプロジェクトにコードやドキュメントなどの貢献を行う際に、プロジェクトの所有者(この場合はGoogle)と締結する法的な契約です。CLAの主な目的は以下の通りです。

  1. ライセンスの明確化: 貢献されたコードが、プロジェクトの既存のライセンス(例: Apache License, MIT License)の下で配布されることを明確にします。これにより、プロジェクトの所有者は、貢献されたコードを自由に利用、変更、配布する権利を得ます。
  2. 著作権の保護: 貢献されたコードの著作権が誰に帰属するかを明確にします。多くの場合、CLAは貢献者が著作権を保持しつつ、プロジェクト所有者に広範な利用権を付与する形を取ります。これにより、プロジェクト所有者は将来的なライセンス変更や訴訟リスクからプロジェクトを保護できます。
  3. 法的なリスクの軽減: 貢献されたコードに第三者の著作権侵害がないことを保証し、プロジェクトが法的な紛争に巻き込まれるリスクを軽減します。

Googleのような大企業が主導するオープンソースプロジェクトでは、法務部門が厳格なコンプライアンスを求めるため、CLAの締結は必須となることがほとんどです。

技術的詳細

このコミット自体は、非常に単純なテキストファイルの変更です。CONTRIBUTORSファイルは、各行に貢献者の名前とメールアドレスが記述されたプレーンテキストファイルであり、特定のフォーマットに従って並べられています。

変更内容は、既存の貢献者リストに新しい行を追加するだけです。Gitの差分(diff)を見ると、Christopher Redden氏とChristopher Wedgwood氏の間にColby Ranger氏の名前が挿入されていることがわかります。これは、ファイルがアルファベット順にソートされていることを示唆しており、新しい貢献者を追加する際にはこの順序を維持することがプロジェクトの慣習となっている可能性が高いです。

この種の変更は、通常、以下のプロセスを経て行われます。

  1. 貢献者がCLAを締結する。
  2. CLAの締結が確認される。
  3. プロジェクトのメンテナまたは担当者が、CONTRIBUTORSファイルに貢献者の名前を追加するコミットを作成する。
  4. このコミットは、通常のコード変更と同様にレビュープロセス(この場合はR=golang-dev, adgCC=golang-devが示唆するように、Go開発チームとadg氏によるレビュー)を経て承認され、マージされる。

https://golang.org/cl/6037052というリンクは、Goプロジェクトが利用しているコードレビューシステム(Gerritなど)のチェンジリスト(CL)へのリンクです。これは、この変更がどのように提案され、レビューされたかの詳細な記録を示しています。

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

diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index a10e0de3c7..17c2aead32 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -86,6 +86,7 @@ Christopher Nielsen <m4dh4tt3r@gmail.com>
 Christopher Redden <christopher.redden@gmail.com>
 Christopher Wedgwood <cw@f00f.org>
 Clement Skau <clementskau@gmail.com>
+Colby Ranger <cranger@google.com>
 Conrad Meyer <cemeyer@cs.washington.edu>
 Corey Thomasson <cthom.lists@gmail.com>
 Damian Gryski <dgryski@gmail.com>

コアとなるコードの解説

上記の差分は、CONTRIBUTORSファイルに対する変更を示しています。

  • -で始まる行は削除された行、+で始まる行は追加された行を示します。
  • このコミットでは、-で始まる行はなく、+Colby Ranger <cranger@google.com>という行が追加されていることがわかります。
  • 追加された行は、Christopher Wedgwood <cw@f00f.org>Clement Skau <clementskau@gmail.com>の間に挿入されています。これは、CONTRIBUTORSファイルがアルファベット順にソートされているため、Colby Rangerが適切な位置に挿入されたことを意味します。

この変更は、Goプロジェクトの公式な貢献者リストにColby Ranger氏の名前とメールアドレスを正式に追加するものです。これにより、Colby Ranger氏はGoプロジェクトの貢献者として公に認識されることになります。

関連リンク

参考にした情報源リンク