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

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

このコミットは、Goプロジェクトのコントリビューターリストに新しい個人、Andrey Radev氏を追加するものです。具体的には、プロジェクトのAUTHORSファイルとCONTRIBUTORSファイルにAndrey Radev氏の名前とメールアドレスが追記されています。これは、Andrey Radev氏がGoプロジェクトへの貢献を開始するにあたり、個人のContributor License Agreement (CLA) に署名したことを示しています。

コミット

commit 63c6b3c482ffdd1c75530c619fd75b7adc1009c8
Author: David Symonds <dsymonds@golang.org>
Date:   Mon Oct 29 22:10:45 2012 +1100

    A+C: Andrey Radev (individual CLA).
    
    R=golang-dev, bradfitz
    CC=andrey.radev, golang-dev
    https://golang.org/cl/6775067
---
 AUTHORS      | 1 +
 CONTRIBUTORS | 1 +
 2 files changed, 2 insertions(+)

diff --git a/AUTHORS b/AUTHORS
index 7b7ea3170f..0a07281bfd 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -24,6 +24,7 @@ Andrew Balholm <andybalholm@gmail.com>
 Andrew Harding <andrew@spacemonkey.com>
 Andrew Lutomirski <andy@luto.us>
 Andrew Pritchard <awpritchard@gmail.com>
+Andrew Radev <andrey.radev@gmail.com>
 Andrew Skiba <skibaa@gmail.com>\n Andrew Wilkins <axwalk@gmail.com>\n Andrey Mirtchovski <mirtchovski@gmail.com>\ndiff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 1cf3b93014..44f07136ac 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -54,6 +54,7 @@ Andrew Gerrand <adg@golang.org>
 Andrew Harding <andrew@spacemonkey.com>
 Andrew Lutomirski <andy@luto.us>
 Andrew Pritchard <awpritchard@gmail.com>
+Andrew Radev <andrey.radev@gmail.com>
 Andrew Skiba <skibaa@gmail.com>
 Andrew Wilkins <axwalk@gmail.com>
 Andrey Mirtchovski <mirtchovski@gmail.com>

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

https://github.com/golang/go/commit/63c6b3c482ffdd1c75530c619fd75b7adc1009c8

元コミット内容

このコミットのタイトルは「A+C: Andrey Radev (individual CLA).」です。これは「Add + Commit」の略で、Andrey Radev氏が個人のContributor License Agreement (CLA) に署名したことを受けて、彼をGoプロジェクトの貢献者として追加するコミットであることを示しています。

コミットメッセージには、レビュー担当者(R=golang-dev, bradfitz)とCC(andrey.radev, golang-dev)が記載されており、Goプロジェクトのコードレビュープロセスを経てこの変更が承認されたことがわかります。また、https://golang.org/cl/6775067というリンクは、Goプロジェクトが利用しているGerritベースのコードレビューシステム(Code Review)へのリンクであり、この変更がどのように提案され、レビューされたかの詳細を確認できます。

変更の背景

オープンソースプロジェクト、特にGoogleが主導するGoのような大規模なプロジェクトでは、知的財産権の管理が非常に重要です。プロジェクトにコードを貢献する開発者は、その貢献がプロジェクトのライセンス(Goの場合はBSDライセンス)の下で適切に利用されることを保証するために、Contributor License Agreement (CLA) に署名することが求められるのが一般的です。

このコミットは、Andrey Radev氏がGoプロジェクトに貢献を開始する準備が整い、必要なCLAに署名したことを受けて行われました。CLAに署名することで、プロジェクトは貢献されたコードを安心して利用・配布できるようになり、将来的な法的な問題を回避できます。このコミットは、Andrey Radev氏が正式にGoプロジェクトの貢献者として認識されたことを示すものです。

前提知識の解説

Contributor License Agreement (CLA)

Contributor License Agreement (CLA) は、オープンソースプロジェクトにコードやドキュメントなどの貢献を行う開発者と、プロジェクトの所有者(または管理団体)との間で締結される法的な合意書です。CLAの主な目的は以下の通りです。

  1. 知的財産権の明確化: 貢献されたコードの著作権が誰に帰属するか、そしてプロジェクトがそのコードをどのように利用できるかを明確にします。これにより、プロジェクトは貢献されたコードを安心してプロジェクトのライセンスの下で配布・利用できます。
  2. ライセンスの保証: 貢献者が、貢献するコードが第三者の著作権を侵害していないこと、およびそのコードをプロジェクトのライセンスの下で提供する権利を持っていることを保証します。
  3. 法的な保護: 将来的にプロジェクトがライセンスに関する訴訟に巻き込まれた場合、CLAはプロジェクトを保護する役割を果たします。

CLAには、個人が署名する「Individual CLA」と、企業が署名する「Corporate CLA」の2種類があります。Goプロジェクトでは、個人の貢献者にはIndividual CLAが、企業に所属する開発者が企業の代理として貢献する場合にはCorporate CLAが求められます。

AUTHORSファイルとCONTRIBUTORSファイル

多くのオープンソースプロジェクトでは、プロジェクトに貢献した人々の名前を記録するために、特定のファイルを使用します。Goプロジェクトでは、AUTHORSCONTRIBUTORSという2つのファイルがその役割を担っています。

  • AUTHORS: 主にプロジェクトの主要な作者や、初期からの貢献者、あるいは特に重要な貢献をした人々をリストアップするために使用されます。このファイルは、プロジェクトの歴史的な側面や、主要な開発者を識別するのに役立ちます。
  • CONTRIBUTORS: プロジェクトに何らかの形で貢献したすべての個人をリストアップするために使用されます。これには、コードのコミットだけでなく、バグ報告、ドキュメントの改善、テストの作成など、幅広い貢献が含まれる場合があります。このファイルは、プロジェクトのコミュニティ全体を認識し、感謝を示すためのものです。

これらのファイルは、プロジェクトの透明性を高め、貢献者への敬意を示す重要な役割を果たします。

技術的詳細

このコミットは、Goプロジェクトのソースコードリポジトリ内の2つのテキストファイル、AUTHORSCONTRIBUTORSを修正しています。これらのファイルは、プロジェクトの歴史と貢献者を追跡するためのものであり、Goのビルドプロセスや実行には直接影響しません。

変更内容は非常にシンプルで、両方のファイルにAndrey Radev氏の名前とメールアドレス(Andrew Radev <andrey.radev@gmail.com>)が追加されています。これは、テキストファイルへの行追加操作であり、特別なプログラミング言語の知識や複雑なロジックは含まれていません。

Gitのdiff出力を見ると、AUTHORSファイルでは24行目の後に、CONTRIBUTORSファイルでは54行目の後に、それぞれ新しい行が追加されていることがわかります。index行は、変更前後のファイルのハッシュ値を示しており、ファイルの内容が変更されたことを確認できます。100644は、ファイルのパーミッションが通常のファイルであることを示しています。

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

diff --git a/AUTHORS b/AUTHORS
index 7b7ea3170f..0a07281bfd 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -24,6 +24,7 @@ Andrew Balholm <andybalholm@gmail.com>
 Andrew Harding <andrew@spacemonkey.com>
 Andrew Lutomirski <andy@luto.us>
 Andrew Pritchard <awpritchard@gmail.com>
+Andrew Radev <andrey.radev@gmail.com>
 Andrew Skiba <skibaa@gmail.com>\n Andrew Wilkins <axwalk@gmail.com>\n Andrey Mirtchovski <mirtchovski@gmail.com>\ndiff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 1cf3b93014..44f07136ac 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -54,6 +54,7 @@ Andrew Gerrand <adg@golang.org>
 Andrew Harding <andrew@spacemonkey.com>
 Andrew Lutomirski <andy@luto.us>
 Andrew Pritchard <awpritchard@gmail.com>
+Andrew Radev <andrey.radev@gmail.com>
 Andrew Skiba <skibaa@gmail.com>
 Andrew Wilkins <axwalk@gmail.com>
 Andrey Mirtchovski <mirtchovski@gmail.com>

コアとなるコードの解説

上記のdiff出力は、AUTHORSファイルとCONTRIBUTORSファイルに対する変更を示しています。

  • --- a/AUTHORS+++ b/AUTHORS は、AUTHORSファイルの変更前と変更後を示します。
  • @@ -24,6 +24,7 @@ は、AUTHORSファイルにおいて、元の24行目から6行が、変更後には24行目から7行になったことを示します。これは1行追加されたことを意味します。
  • +Andrew Radev <andrey.radev@gmail.com> の行が追加されています。これは、Andrey Radev氏の名前とメールアドレスがAUTHORSファイルに追記されたことを示しています。

同様に、CONTRIBUTORSファイルについても、

  • --- a/CONTRIBUTORS+++ b/CONTRIBUTORS は、CONTRIBUTORSファイルの変更前と変更後を示します。
  • @@ -54,6 +54,7 @@ は、CONTRIBUTORSファイルにおいて、元の54行目から6行が、変更後には54行目から7行になったことを示します。これも1行追加されたことを意味します。
  • +Andrew Radev <andrey.radev@gmail.com> の行が追加されています。これは、Andrey Radev氏の名前とメールアドレスがCONTRIBUTORSファイルに追記されたことを示しています。

これらの変更は、Andrey Radev氏がGoプロジェクトの正式な貢献者として認識され、その記録がプロジェクトの公式なドキュメントに反映されたことを意味します。

関連リンク

  • Goプロジェクトの貢献ガイドライン (CLAに関する情報が含まれている可能性があります):
  • GoプロジェクトのCLAに関する具体的な情報:

参考にした情報源リンク

  • GoプロジェクトのGitHubリポジトリ: https://github.com/golang/go
  • Gitのdiffコマンドに関する一般的な情報
  • Contributor License Agreement (CLA) に関する一般的な情報 (例: Wikipedia, 各オープンソースプロジェクトのCLA説明ページなど)
  • Gerrit Code Review Systemに関する一般的な情報