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

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

このコミットは、Go言語プロジェクトのAUTHORSファイルとCONTRIBUTORSファイルに、新しい貢献者であるCarlos Castillo氏の情報を追加するものです。これは、彼がプロジェクトに貢献するためのIndividual Contributor License Agreement (CLA) を提出したことを示しています。

コミット

commit a738f2b2a24019ff205c79f4de9c8a14f478ef2c
Author: Rob Pike <r@golang.org>
Date:   Wed Aug 22 20:48:54 2012 -0700

    C+A: add Carlos Castillo cookieo9@gmail.com (individual CLA)
    
    R=golang-dev, iant
    CC=golang-dev
    https://golang.org/cl/6479045
---
 AUTHORS      | 1 +
 CONTRIBUTORS | 1 +
 2 files changed, 2 insertions(+)

diff --git a/AUTHORS b/AUTHORS
index f5a9ea2912..8d7c3bf2b2 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -43,6 +43,7 @@ Bjorn Tipling <bjorn.tipling@gmail.com>
 Blake Mizerany <blake.mizerany@gmail.com>
 Bobby Powers <bobbypowers@gmail.com>
 Caine Tighe <arctanofyourface@gmail.com>
+Carlos Castillo <cookieo9@gmail.com>
 Charles L. Dorian <cldorian@gmail.com>
 Chris Dollin <ehog.hedge@gmail.com>
 Chris Farmiloe <chrisfarms@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index b8a2967f8e..b779323c93 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -80,6 +80,7 @@ Brad Fitzpatrick <bradfitz@golang.org> <bradfitz@gmail.com>
 Brian Dellisanti <briandellisanti@gmail.com>
 Brendan O'Dea <bod@golang.org>
 Caine Tighe <arctanofyourface@gmail.com>
+Carlos Castillo <cookieo9@gmail.com>
 Cary Hull <chull@google.com>
 Charles L. Dorian <cldorian@gmail.com>
 Chris Dollin <ehog.hedge@gmail.com>

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

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

元コミット内容

このコミットの元々の目的は、GoプロジェクトにCarlos Castillo氏を新しい貢献者として追加することです。これは、彼がIndividual Contributor License Agreement (CLA) に署名したことを受けて行われました。コミットメッセージの "C+A" は "Contributor + Agreement" を意味していると考えられます。

変更の背景

オープンソースプロジェクト、特にGoogleが主導するような大規模なプロジェクトでは、知的財産権の管理が非常に重要になります。プロジェクトにコードを貢献する際、そのコードの著作権が誰に帰属するのか、プロジェクトがそのコードをどのように利用できるのかを明確にする必要があります。このために、多くのプロジェクトではCLA(Contributor License Agreement)の提出を義務付けています。

このコミットは、Carlos Castillo氏がGoプロジェクトへの貢献を開始するにあたり、必要なCLAを提出したため、正式に貢献者リストに追加されたという背景があります。これにより、Goプロジェクトは彼の貢献したコードを安心して利用し、配布できるようになります。

前提知識の解説

Contributor License Agreement (CLA)

CLA(Contributor License Agreement)は、オープンソースプロジェクトにコードを貢献する開発者と、プロジェクトの管理者(またはその背後にある組織)との間で締結される法的な合意書です。CLAの主な目的は以下の通りです。

  1. 著作権の明確化: 貢献されたコードの著作権が誰に帰属するかを明確にします。多くの場合、貢献者は自身のコードの著作権を保持しつつ、プロジェクトに対してそのコードを特定のライセンス(例: Apache License, MIT License)の下で利用、変更、配布する権利を付与します。一部のCLAでは、著作権をプロジェクトの管理組織に譲渡する場合もあります(例: GoogleのCLA)。
  2. ライセンスの保証: 貢献されたコードが、プロジェクトのライセンスと互換性があり、第三者の著作権を侵害していないことを貢献者が保証します。
  3. プロジェクトの法的保護: プロジェクトが将来的にライセンスに関する紛争に巻き込まれるリスクを軽減します。CLAがあることで、プロジェクトは貢献されたすべてのコードに対して適切な利用権限を持っていることを証明できます。

Go言語プロジェクトのようにGoogleが関与するプロジェクトでは、通常、GoogleのCLAが適用されます。これは、貢献者が自身の著作権を保持しつつ、Googleに対して非独占的、永続的、取り消し不能なライセンスを付与する形式が一般的です。

AUTHORSファイルとCONTRIBUTORSファイル

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

  • AUTHORSファイル: 主にプロジェクトの主要な作者や、初期の貢献者、あるいは著作権を保持する個人や団体をリストアップするために使用されます。法的な著作権表示の目的で利用されることもあります。
  • CONTRIBUTORSファイル: プロジェクトに何らかの形で貢献したすべての個人をリストアップするために使用されます。これには、コードの貢献者だけでなく、ドキュメントの作成者、バグ報告者、テスター、翻訳者なども含まれる場合があります。このファイルは、コミュニティへの感謝と透明性を示す役割も果たします。

Go言語プロジェクトでは、これら二つのファイルが併用されており、新しい貢献者がCLAを提出すると、通常、両方のファイルに名前が追加されます。

技術的詳細

このコミット自体は、Go言語のソースコードに対する機能的な変更を含んでいません。純粋にプロジェクトのメタデータ、具体的には貢献者リストを更新するものです。

Gitの差分を見ると、AUTHORSファイルとCONTRIBUTORSファイルの両方に、Carlos Castillo <cookieo9@gmail.com>という行が追加されていることがわかります。これは、テキストファイルへの単純な行追加操作であり、特別な技術的複雑性はありません。

コミットメッセージにはhttps://golang.org/cl/6479045というリンクが含まれています。これは、Goプロジェクトが内部的に使用しているコードレビューシステム(Gerritベース)のChange-IDを示しています。このリンクを辿ることで、この変更がどのようにレビューされ、承認されたかの詳細な履歴を確認できます。これは、オープンソースプロジェクトにおける透明性と共同作業の典型的な例です。

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

このコミットにおける「コアとなるコードの変更箇所」は、Go言語の機能やロジックを変更するものではなく、プロジェクトのメタデータファイルである以下の2つのファイルです。

  1. AUTHORS
  2. CONTRIBUTORS

これらのファイルに、Carlos Castillo氏の名前とメールアドレスが追加されています。

diff --git a/AUTHORS b/AUTHORS
index f5a9ea2912..8d7c3bf2b2 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -43,6 +43,7 @@ Bjorn Tipling <bjorn.tipling@gmail.com>
 Blake Mizerany <blake.mizerany@gmail.com>
 Bobby Powers <bobbypowers@gmail.com>
 Caine Tighe <arctanofyourface@gmail.com>
+Carlos Castillo <cookieo9@gmail.com>
 Charles L. Dorian <cldorian@gmail.com>
 Chris Dollin <ehog.hedge@gmail.com>
 Chris Farmiloe <chrisfarms@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index b8a2967f8e..b779323c93 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -80,6 +80,7 @@ Brad Fitzpatrick <bradfitz@golang.org> <bradfitz@gmail.com>
 Brian Dellisanti <briandellisanti@gmail.com>
 Brendan O'Dea <bod@golang.org>
 Caine Tighe <arctanofyourface@gmail.com>
+Carlos Castillo <cookieo9@gmail.com>
 Cary Hull <chull@google.com>
 Charles L. Dorian <cldorian@gmail.com>
 Chris Dollin <ehog.hedge@gmail.com>

コアとなるコードの解説

上記の差分が示すように、AUTHORSファイルとCONTRIBUTORSファイルの両方に、アルファベット順でCarlos Castillo <cookieo9@gmail.com>という行が追加されています。これは、新しい貢献者がプロジェクトに加わったことを公式に記録するための標準的な手順です。

これらのファイルは、プロジェクトの歴史と貢献者を追跡するために重要であり、特に大規模なオープンソースプロジェクトでは、誰がどのような貢献をしたかを明確にする上で不可欠な役割を果たします。CLAと合わせて、プロジェクトの法的健全性を保つ上でも重要な要素となります。

関連リンク

参考にした情報源リンク

  • Gitの差分表示に関する一般的な知識
  • オープンソースプロジェクトにおけるCLAの役割に関する一般的な知識
  • オープンソースプロジェクトにおけるAUTHORSおよびCONTRIBUTORSファイルの慣習に関する一般的な知識
  • Go言語プロジェクトのコミット履歴と構造に関する一般的な知識
  • Gerritコードレビューシステムに関する一般的な知識