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

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

このコミットは、GoプロジェクトのAUTHORSファイルとCONTRIBUTORSファイルに新しい貢献者を追加するものです。具体的には、Alexey Palazhchenko氏がGoプロジェクトの貢献者リストに加わったことを記録しています。

コミット

commit 5203bd6f0ccbfd98d671580f4e4f294c462dda37
Author: Andrew Gerrand <adg@golang.org>
Date:   Thu Feb 13 15:27:36 2014 +1100

    A+C: Alexey Palazhchenko (individual CLA)
    
    Generated by addca.
    
    R=gobot
    CC=golang-codereviews
    https://golang.org/cl/62860043

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

https://github.com/golang/go/commit/5203bd6f0ccbfd98d671580f4e4f294c462dda37

元コミット内容

A+C: Alexey Palazhchenko (individual CLA)

Generated by addca.

R=gobot
CC=golang-codereviews
https://golang.org/cl/62860043

変更の背景

オープンソースプロジェクト、特にGoogleが主導するGoのような大規模なプロジェクトでは、貢献者がコードを提出する前に、Contributor License Agreement (CLA) に署名することが一般的です。CLAは、貢献されたコードの著作権がプロジェクトの所有者(この場合はGoogle)に移譲されるか、またはプロジェクトの所有者がそのコードを使用、配布、変更する永続的で取り消し不能な権利を得ることを保証する法的な合意です。

このコミットは、Alexey Palazhchenko氏がGoプロジェクトに貢献するために必要な個人のCLAに署名したことを示しています。AUTHORSファイルとCONTRIBUTORSファイルは、プロジェクトに貢献した人々の公式な記録として機能します。これらのファイルに名前を追加することは、その人物がプロジェクトの正式な貢献者として認識されたことを意味します。

Generated by addca.というメッセージは、この変更がaddcaというツールによって自動生成されたものであることを示唆しています。addcaは「add Contributor Agreement」の略である可能性が高く、CLAの署名プロセスが完了した際に、関連するファイルを自動的に更新するための内部ツールであると考えられます。

前提知識の解説

Contributor License Agreement (CLA)

CLAは、オープンソースプロジェクトにおいて、貢献者とプロジェクトの間の法的な合意です。主な目的は以下の通りです。

  1. 著作権の明確化: 貢献されたコードの著作権が誰に帰属するかを明確にします。これにより、将来的な著作権侵害の訴訟リスクを軽減し、プロジェクトのライセンスの一貫性を保つことができます。
  2. ライセンスの保証: プロジェクトがそのコードを、選択したオープンソースライセンス(例: BSDライセンス、Apacheライセンスなど)の下で配布する権利を持つことを保証します。
  3. プロジェクトの持続性: プロジェクトの所有者が、貢献されたコードを自由に利用、変更、再配布できることを保証することで、プロジェクトの長期的な健全性と持続性を確保します。

CLAには、個人向けの「Individual CLA (ICLA)」と、企業向けの「Corporate CLA (CCLA)」があります。このコミットでは「individual CLA」と明記されているため、Alexey Palazhchenko氏が個人としてCLAに署名したことを意味します。

AUTHORSファイルと CONTRIBUTORSファイル

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

  • AUTHORS: 通常、プロジェクトの主要な作者や、プロジェクトの初期段階から深く関わってきた人々をリストアップします。
  • CONTRIBUTORS: プロジェクトに何らかの形で貢献したすべての人々(コードの提出、バグ報告、ドキュメントの改善、翻訳など)をリストアップします。

Goプロジェクトでは、これら2つのファイルが両方存在し、貢献者の名前とメールアドレスが記載されています。これらのファイルは、プロジェクトの透明性と貢献者への感謝を示す役割も果たします。

Gerrit (golang.org/cl)

コミットメッセージにあるhttps://golang.org/cl/62860043は、Goプロジェクトがコードレビューに利用しているGerritシステムへのリンクです。Gerritは、Gitリポジトリと連携して動作するWebベースのコードレビューシステムで、変更がメインのコードベースにマージされる前に、チームメンバーがコードをレビューし、承認するためのプラットフォームを提供します。

CLは「Change List」の略で、Gerritにおける個々の変更セットを指します。このリンクは、Alexey Palazhchenko氏のCLA追加に関連するGerrit上の変更リストを示しています。

技術的詳細

このコミット自体は、Go言語のランタイムやコンパイラといったコア機能に直接的なコード変更を加えるものではありません。その代わりに、プロジェクトの管理と法的な側面に関連するメタデータファイルを更新しています。

変更のプロセスは以下のようになります。

  1. CLA署名: Alexey Palazhchenko氏がGoプロジェクトのIndividual CLAに署名します。
  2. CLAの検証: Googleの法務チームまたは関連する担当者がCLAの署名を検証します。
  3. ツールによる更新: 署名が検証されると、addcaのような内部ツールが実行されます。このツールは、CLAに署名した貢献者の情報をAUTHORSファイルとCONTRIBUTORSファイルに追加します。
  4. コードレビューとマージ: addcaツールによって生成された変更(このコミット)は、Gerritを通じてコードレビューに提出されます。この変更は通常、法務的な側面やプロジェクト管理の観点からレビューされ、承認された後にGoリポジトリのマスターブランチにマージされます。

このコミットの技術的な側面は、主にバージョン管理システム(Git)におけるファイルの変更と、オープンソースプロジェクトにおける貢献者管理の自動化にあります。diff --git a/AUTHORS b/AUTHORSdiff --git a/CONTRIBUTORS b/CONTRIBUTORSといった行は、Gitの差分表示を示しており、それぞれのファイルに1行が追加されたことを明確に示しています。

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

このコミットによるコードの変更は、以下の2つのファイルに対するものです。

  1. AUTHORSファイル
  2. CONTRIBUTORSファイル

それぞれのファイルに、Alexey Palazhchenko氏の名前とメールアドレスが1行ずつ追加されています。

diff --git a/AUTHORS b/AUTHORS
index cfc9f0c860..97e7e733e9 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -27,6 +27,7 @@ Alexander Surma <surma@surmair.de>
 Alexandre Normand <alexandre.normand@gmail.com>
 Alexei Sholik <alcosholik@gmail.com>
 Alexey Borzenkov <snaury@gmail.com>
+Alexey Palazhchenko <alexey.palazhchenko@gmail.com>
 Amir Mohammad Saied <amir@gluegadget.com>
 Amrut Joshi <amrut.joshi@gmail.com>
 Andrei Vieru <euvieru@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 0fd880aaf8..62f1a227b3 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -55,6 +55,7 @@ Alexandre Normand <alexandre.normand@gmail.com>
 Alexandru Moșoi <brtzsnr@gmail.com>
 Alexei Sholik <alcosholik@gmail.com>
 Alexey Borzenkov <snaury@gmail.com>
+Alexey Palazhchenko <alexey.palazhchenko@gmail.com>
 Alexis Imperial-Legrand <ail@google.com>
 Amir Mohammad Saied <amir@gluegadget.com>
 Amrut Joshi <amrut.joshi@gmail.com>

コアとなるコードの解説

上記の差分は、Gitの標準的なフォーマットでファイルの変更を示しています。

  • --- a/AUTHORS+++ b/AUTHORSは、それぞれ変更前のAUTHORSファイルと変更後のAUTHORSファイルを示します。
  • @@ -27,6 +27,7 @@は、変更がAUTHORSファイルの27行目から始まり、変更前は6行、変更後は7行になったことを示します。
  • +Alexey Palazhchenko <alexey.palazhchenko@gmail.com>という行は、このコミットによって新しく追加された行です。

同様に、CONTRIBUTORSファイルにも同じ行が追加されています。

この変更は、Goプロジェクトの貢献者リストにAlexey Palazhchenko氏の名前とメールアドレスを正式に追加するものです。これにより、Alexey Palazhchenko氏はGoプロジェクトの公式な貢献者として認識され、将来的に彼が提出するコード変更が、CLAの合意の下でプロジェクトに組み込まれることが保証されます。

関連リンク

参考にした情報源リンク