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

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

このコミットは、GoプロジェクトのCONTRIBUTORSファイルに新しい貢献者であるHossein Sheikh Attar氏を追加するものです。これは、彼がGoogleのContributor License Agreement (CLA) に署名したことを示すものであり、今後のGoプロジェクトへの貢献を可能にするための準備作業の一環です。

コミット

  • コミットハッシュ: c5da34eabeb35dea137bb1a217173fc29bf44ca1
  • 作者: Andrew Gerrand adg@golang.org
  • 日付: Wed Jan 30 17:26:22 2013 +1100
  • コミットメッセージ:
    C: add Hossein Sheikh Attar (Google CLA)
    
    R=golang-dev
    CC=golang-dev
    https://golang.org/cl/7241048
    

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

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

元コミット内容

C: add Hossein Sheikh Attar (Google CLA)

R=golang-dev
CC=golang-dev
https://golang.org/cl/7241048

変更の背景

この変更の背景には、オープンソースプロジェクト、特にGoogleが主導するような大規模なプロジェクトにおける貢献者ライセンス合意 (CLA: Contributor License Agreement) の重要性があります。

Goプロジェクトのようなオープンソースプロジェクトでは、外部からのコード貢献を受け入れる際に、プロジェクトの知的財産権を保護し、将来的なライセンス問題を防ぐためにCLAの署名を求めることが一般的です。CLAは、貢献者が提出するコードの著作権をプロジェクトの所有者(この場合はGoogle)に譲渡するか、またはプロジェクトのライセンスの下で利用することを許可する法的な合意です。

Hossein Sheikh Attar氏がGoogle CLAに署名したことにより、彼がGoプロジェクトにコードを貢献する準備が整ったことを示しています。このコミットは、その事実をプロジェクトの公式な貢献者リストであるCONTRIBUTORSファイルに記録するためのものです。これにより、プロジェクトの透明性が保たれ、誰がプロジェクトに貢献しているかが明確になります。

前提知識の解説

Contributor License Agreement (CLA)

CLAは、オープンソースプロジェクトにコードを貢献する開発者と、そのプロジェクトを管理する組織(企業や財団など)との間で交わされる法的な契約です。主な目的は以下の通りです。

  1. 知的財産権の明確化: 貢献されたコードの著作権が誰に帰属するかを明確にします。これにより、将来的に著作権侵害やライセンスに関する紛争が発生するリスクを低減します。
  2. ライセンスの統一性: プロジェクト全体でコードのライセンスを統一的に管理できるようにします。例えば、プロジェクトのライセンスを変更する際に、個々の貢献者から改めて許可を得る必要がなくなります。
  3. 法的保護: プロジェクトの管理者が、貢献されたコードを配布・利用する際に、法的な問題から保護されることを保証します。

CLAには、著作権をプロジェクトの管理者に譲渡する「著作権譲渡型」と、貢献者が著作権を保持しつつ、プロジェクトのライセンスの下でコードを利用することを許可する「非独占的ライセンス付与型」の2種類が主にあります。GoogleのCLAは通常、後者の非独占的ライセンス付与型を採用しています。

CONTRIBUTORSファイル

多くのオープンソースプロジェクトでは、プロジェクトに貢献した人々の名前をリストアップしたCONTRIBUTORS(またはAUTHORSTHANKSなど)というファイルがリポジトリのルートに置かれています。このファイルの目的は以下の通りです。

  1. 貢献者の認識: プロジェクトに貢献した人々を公式に認識し、感謝の意を示すため。
  2. 透明性: プロジェクトのコードベースが誰によって構築されたかという透明性を提供するため。
  3. 法的要件: CLAの署名者リストや、特定のライセンス要件を満たすために使用されることもあります。

このファイルは通常、手動で更新されるか、CLA署名プロセスと連携して自動的に更新されることがあります。

技術的詳細

このコミットは、GoプロジェクトのルートディレクトリにあるCONTRIBUTORSというテキストファイルに対して行われた単純な変更です。具体的には、ファイル内の既存の貢献者リストに新しい行が1行追加されています。

追加された行は以下の通りです。

Hossein Sheikh Attar <hattar@google.com>

これは、Hossein Sheikh Attar氏の名前と、彼がGoogleに所属していることを示すメールアドレスを記載したものです。この形式は、既存のCONTRIBUTORSファイル内の他のエントリと一貫しています。

この変更は、Gitの差分(diff)として表現されており、index f9a2f15ed1..af938c6681 100644は、変更前後のファイルのハッシュとパーミッションを示しています。--- a/CONTRIBUTORS+++ b/CONTRIBUTORSは、それぞれ変更前のファイルと変更後のファイルを示し、@@ -172,6 +172,7 @@は、変更がファイルの172行目から始まり、変更前は6行、変更後は7行になることを示しています。これは、1行が追加されたことを意味します。

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

diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index f9a2f15ed1..af938c6681 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -172,6 +172,7 @@ Han-Wen Nienhuys <hanwen@google.com>
 Harley Laue <losinggeneration@gmail.com>
 Hector Chu <hectorchu@gmail.com>
 Hong Ruiqi <hongruiqi@gmail.com>
+Hossein Sheikh Attar <hattar@google.com>
 Ian Lance Taylor <iant@golang.org>
 Icarus Sparry <golang@icarus.freeuk.com>
 Ingo Oeser <nightlyone@googlemail.com> <nightlyone@gmail.com>

コアとなるコードの解説

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

  • +Hossein Sheikh Attar <hattar@google.com>: この行がファイルに追加されたことを示します。具体的には、既存の貢献者リストのアルファベット順に並んだ「Hong Ruiqi」と「Ian Lance Taylor」の間に「Hossein Sheikh Attar」が挿入されています。

この変更は、Goプロジェクトの貢献者リストにHossein Sheikh Attar氏が正式に追加されたことを意味し、彼がGoプロジェクトにコードを貢献する法的・管理的な準備が完了したことを示唆しています。

関連リンク

  • Gerrit Code Review (Change-Id): https://golang.org/cl/7241048 このリンクは、Goプロジェクトがコードレビューに利用しているGerritシステム上の変更セット(Change-Id)を指しています。Goプロジェクトでは、GitHubにプッシュされる前にGerritでコードレビューが行われることが一般的です。このリンクから、このコミットに至るまでのレビュープロセスや議論の詳細を確認できる可能性があります。

参考にした情報源リンク

  • Contributor License Agreement (CLA) の一般的な情報:
  • オープンソースプロジェクトにおけるCONTRIBUTORSファイルの役割:
    • 一般的なオープンソースプロジェクトの慣習に基づいています。特定の公式ドキュメントがあるわけではありませんが、多くのプロジェクトのGitHubリポジトリで同様のファイルが見られます。