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

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

このコミットは、Go言語プロジェクトの CONTRIBUTORS ファイルに新しい貢献者を追加するものです。CONTRIBUTORS ファイルは、プロジェクトにコードやドキュメントなどで貢献した個人のリストを管理するために使用されます。これは、オープンソースプロジェクトにおける貢献者の認識と、プロジェクトのライセンス要件を満たすための重要なドキュメントです。

コミット

commit 4ea8538c7f341d6cac355a08f517ef11460180a5
Author: Andrew Gerrand <adg@golang.org>
Date:   Wed Dec 19 10:14:05 2012 +1100

    C: add Shawn Ledbetter (Google CLA)
    
    R=golang-dev, agl, iant
    CC=golang-dev
    https://golang.org/cl/6955043

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

https://github.com/golang/go/commit/4ea8538c7f341d6cac355a08f517ef11460180a5

元コミット内容

C: add Shawn Ledbetter (Google CLA)

R=golang-dev, agl, iant
CC=golang-dev
https://golang.org/cl/6955043

変更の背景

このコミットの背景は、Shawn Ledbetter氏がGoプロジェクトに貢献するために、GoogleのContributor License Agreement (CLA) に署名したことにあります。オープンソースプロジェクト、特にGoogleのような企業が主導する大規模なプロジェクトでは、貢献者が知的財産権に関する合意書(CLA)に署名することが一般的です。これにより、プロジェクトは貢献されたコードを安心して利用し、再配布する権利を確保できます。CLAへの署名が完了したため、正式に貢献者リストに追加されたと考えられます。

前提知識の解説

Contributor License Agreement (CLA)

Contributor License Agreement (CLA) は、個人または企業がオープンソースプロジェクトに貢献する際に、その貢献に関する知的財産権をプロジェクトの所有者または管理者に譲渡またはライセンス供与することを定めた法的な合意書です。

CLAの主な目的:

  1. 知的財産権の明確化: 貢献されたコードの著作権が誰に帰属するかを明確にし、将来的な法的な紛争を防ぎます。
  2. ライセンスの統一性: プロジェクト全体で一貫したライセンスモデルを維持するために、貢献されたコードがプロジェクトのライセンス(例: Apache License, MIT License)の下で利用可能であることを保証します。
  3. 再ライセンスの可能性: プロジェクトが将来的にライセンスを変更する必要が生じた場合、CLAによってその変更が容易になります。
  4. プロジェクトの保護: 悪意のある貢献や、著作権侵害のコードがプロジェクトに混入するリスクを軽減します。

Googleのような企業が主導するプロジェクトでは、CLAは非常に一般的です。これは、企業がプロジェクトのコードベースに対する完全な権利を保持し、将来的な商業利用やライセンス変更の柔軟性を確保するためです。貢献者は、コードを提出する前にこの合意書に署名する必要があります。

技術的詳細

この変更は、Goプロジェクトのリポジトリ内の CONTRIBUTORS というテキストファイルに対する単純な行追加です。技術的には、Gitの差分(diff)として表現されるように、特定の行がファイルに追加されたことを示しています。特別なプログラミング言語やフレームワークの変更は含まれておらず、プロジェクトのメタデータ管理の一部と見なすことができます。

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

diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index f4f843827c..668e1bbaf5 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -336,6 +336,7 @@ Sergei Skorobogatov <skorobo@rambler.ru>
 Sergey 'SnakE' Gromov <snake.scaly@gmail.com>
 Sergio Luis O. B. Correia <sergio@correia.cc>
 Shane Hansen <shanemhansen@gmail.com>
+Shawn Ledbetter <sledbetter@google.com>
 Shawn Smith <shawn.p.smith@gmail.com>
 Shenghou Ma <minux.ma@gmail.com>
 Shivakumar GN <shivakumar.gn@gmail.com>

コアとなるコードの解説

上記の差分は、CONTRIBUTORS ファイルの336行目の後に新しい行が追加されたことを示しています。追加された行は以下の通りです。

+Shawn Ledbetter <sledbetter@google.com>

これは、Shawn Ledbetter氏の名前とGoogleのメールアドレスを、既存の貢献者リストにアルファベット順で挿入したものです。この変更により、Shawn Ledbetter氏がGoプロジェクトの公式な貢献者として認識されるようになります。

関連リンク

  • GoプロジェクトのCLAに関する情報(一般的な情報源として): https://golang.org/cl/6955043 (コミットメッセージに記載されているGoのコードレビューシステムへのリンク)

参考にした情報源リンク

  • Contributor License Agreement (CLA) に関する一般的な知識
  • Gitの基本的な操作と差分表示
  • オープンソースプロジェクトにおける貢献者管理の慣行