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

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

このコミットは、GoプロジェクトのCONTRIBUTORSファイルに新しい貢献者であるFrancesc Campoy氏を追加するものです。これは、彼がGoogleのContributor License Agreement (CLA) に署名したことを示しています。

コミット

commit b64a99da88a92a0cfb85fbc6851437e399e5d4e6
Author: Andrew Gerrand <adg@golang.org>
Date:   Tue Sep 11 17:15:20 2012 +1000

    C: add Francesc Campoy (Google CLA)
    
    R=golang-dev, dsymonds, campoy
    CC=golang-dev
    https://golang.org/cl/6490102

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

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

元コミット内容

C: add Francesc Campoy (Google CLA)

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

変更の背景

このコミットの背景は、Francesc Campoy氏がGoプロジェクトへの貢献を開始するにあたり、Googleが求めるContributor License Agreement (CLA) に署名したため、その記録としてCONTRIBUTORSファイルに彼の名前が追加されたことです。オープンソースプロジェクトでは、知的財産権の管理やライセンスの明確化のために、貢献者に対してCLAへの署名を求めることが一般的です。これにより、プロジェクトは貢献されたコードを安心して利用し、再配布できるようになります。

前提知識の解説

CONTRIBUTORSファイル

CONTRIBUTORSファイルは、多くのオープンソースプロジェクトで見られるテキストファイルで、そのプロジェクトにコード、ドキュメント、その他の形で貢献した人々の名前をリストアップしています。このファイルは、プロジェクトの歴史とコミュニティを可視化し、貢献者への感謝を示す役割を果たします。また、プロジェクトのライセンスや知的財産権に関する情報と合わせて、誰がどの部分に貢献したかを明確にするための補助的な役割を担うこともあります。

Contributor License Agreement (CLA)

Contributor License Agreement (CLA) は、個人または企業がオープンソースプロジェクトに貢献する際に、その貢献物の著作権をプロジェクトの所有者(この場合はGoogle)に譲渡するか、または特定のライセンスの下で利用することを許可する法的な合意書です。CLAの主な目的は以下の通りです。

  1. 知的財産権の明確化: 貢献されたコードの著作権が誰に帰属するかを明確にし、将来的な法的な紛争を防ぎます。
  2. ライセンスの統一性: プロジェクト全体で一貫したライセンスを維持することを可能にします。これにより、プロジェクトのコードベース全体が特定のオープンソースライセンス(例: Apache License, MIT Licenseなど)の下で利用可能であることを保証できます。
  3. 再ライセンスの可能性: プロジェクトの所有者が将来的にライセンスを変更する必要が生じた場合、CLAによってその権限が与えられているため、スムーズな移行が可能になります。

Googleのような大企業が主導するオープンソースプロジェクトでは、CLAの採用は非常に一般的です。これは、企業がプロジェクトの法的リスクを管理し、長期的な持続可能性を確保するための重要な手段となります。

技術的詳細

このコミットは、CONTRIBUTORSという単一のテキストファイルに対する変更です。技術的には、ファイルの末尾に新しい行を追加するだけの非常に単純な操作です。Gitの差分表示(diff)を見ればわかるように、既存の行の間に新しい行が挿入されています。これは、テキストエディタでファイルを編集し、新しい行を挿入するのと同等の操作です。

ファイルの変更は以下のようになります。

  • CONTRIBUTORSファイルを開く。
  • 適切な位置(この場合はアルファベット順の並びを考慮して既存の貢献者の間に)に新しい行を挿入する。
  • 新しい行に「Francesc Campoy campoy@golang.org」という形式で貢献者の名前とメールアドレスを追加する。

この変更は、Go言語のコードベース自体には影響を与えず、プロジェクトのメタデータの一部を更新するものです。

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

diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 96728c69c2..f21cbc9380 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -138,6 +138,7 @@ Fazlul Shahriar <fshahriar@gmail.com>
 Firmansyah Adiputra <frm.adiputra@gmail.com>
 Florian Uekermann <florian@uekermann-online.de> <f1@uekermann-online.de>
 Florian Weimer <fw@deneb.enyo.de>
+Francesc Campoy <campoy@golang.org>
 Francisco Souza <franciscossouza@gmail.com>
 Fumitoshi Ukai <ukai@google.com>
 Gary Burd <gary@beagledreams.com> <gary.burd@gmail.com>

コアとなるコードの解説

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

  • - で始まる行は削除された行、+ で始まる行は追加された行を示します。
  • このコミットでは、既存の行が削除されることなく、新しい行が1行追加されています。
  • 追加された行は +Francesc Campoy <campoy@golang.org> であり、これはFrancesc Campoy氏の名前と彼のGoプロジェクトにおけるメールアドレスを示しています。
  • この行は、既存の貢献者リストのアルファベット順に沿って、Florian WeimerFrancisco Souzaの間に挿入されています。

この変更は、Goプロジェクトの公式な貢献者リストにFrancesc Campoy氏が追加されたことを記録するものであり、彼がプロジェクトに貢献する準備が整ったことを示唆しています。

関連リンク

参考にした情報源リンク

  • Gitの差分表示に関する一般的なドキュメント
  • オープンソースプロジェクトにおけるCONTRIBUTORSファイルの役割に関する一般的な情報
  • Contributor License Agreement (CLA) の概念に関する一般的な情報