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

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

このコミットは、Go言語プロジェクトのCONTRIBUTORSファイルに新しい貢献者であるBill Thiede氏を追加するものです。これは、Goプロジェクトへの貢献者が正式にプロジェクトに登録される際に行われる典型的な変更であり、通常はContributor License Agreement (CLA)への署名が完了したことを示します。

コミット

commit d6ac5b32d23b6d88342d55cd262f1b09e5a02f3e
Author: David Symonds <dsymonds@golang.org>
Date:   Fri May 25 09:18:12 2012 +1000

    C: Bill Thiede (Google CLA)
    
    R=golang-dev, r
    CC=golang-dev
    https://golang.org/cl/6257050

diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 54dbd4abf8..c1ca386309 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -68,6 +68,7 @@ Benjamin Black <b@b3k.us>
 Benny Siegert <bsiegert@gmail.com>
 Berengar Lehr <Berengar.Lehr@gmx.de>
 Bill Neubauer <wcn@golang.org> <wcn@google.com>
+Bill Thiede <couchmoney@gmail.com>
 Bjorn Tillenius <bjorn@tillenius.me>
 Bjorn Tipling <bjorn.tipling@gmail.com>
 Blake Mizerany <blake.mizerany@gmail.com>

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

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

元コミット内容

このコミットは、CONTRIBUTORSファイルにBill Thiede <couchmoney@gmail.com>という行を追加します。コミットメッセージには「C: Bill Thiede (Google CLA)」とあり、これはBill Thiede氏がGoogleのContributor License Agreement (CLA)に署名したことを示しています。また、「R=golang-dev, r」はレビュー担当者を示し、「CC=golang-dev」はカーボンコピーの対象を示しています。https://golang.org/cl/6257050は、この変更に対応するGerritのチェンジリストへのリンクです。

変更の背景

オープンソースプロジェクト、特にGoogleが関与するプロジェクトでは、知的財産権の管理と貢献者の保護のためにContributor License Agreement (CLA)の署名を義務付けることが一般的です。このコミットは、Bill Thiede氏がGoプロジェクトに貢献する準備が整い、必要な法的要件(この場合はGoogle CLAへの署名)を満たしたことを示すものです。CONTRIBUTORSファイルは、プロジェクトに貢献したすべての個人を記録するためのものであり、新しい貢献者が加わるたびに更新されます。

前提知識の解説

CONTRIBUTORSファイル

CONTRIBUTORSファイルは、多くのオープンソースプロジェクトで見られる慣習的なファイルです。このファイルには、プロジェクトにコード、ドキュメント、デザイン、その他の形で貢献した個人の名前と連絡先情報(通常はメールアドレス)がリストアップされます。このファイルの目的は、プロジェクトの成功に貢献した人々を認識し、感謝することです。また、プロジェクトのライセンスや著作権情報と関連付けられることもあります。

Contributor License Agreement (CLA)

Contributor License Agreement (CLA)は、個人または企業がオープンソースプロジェクトに貢献する際に署名する法的文書です。CLAの主な目的は以下の通りです。

  1. 知的財産権の明確化: 貢献されたコードやコンテンツの著作権が誰に帰属するかを明確にします。これにより、プロジェクトのライセンスが有効に機能し、将来的な法的紛争を防ぐことができます。
  2. プロジェクトの保護: プロジェクトの所有者(この場合はGoogle/Goプロジェクト)が、貢献されたコードをプロジェクトのライセンスの下で自由に利用、配布、変更する権利を確実に取得できるようにします。
  3. 貢献者の保護: 貢献者が自身の貢献に対して適切なクレジットを受け、プロジェクトのライセンス条件の下で自身の著作物を使用する権利を保持することを保証します。

Googleのプロジェクトでは、通常、Google CLAへの署名が求められます。これは、貢献者が自身の貢献に対する著作権をGoogleに譲渡するか、またはGoogleに広範なライセンスを付与することを意味します。これにより、Googleはプロジェクトのコードベースを管理し、将来的にライセンスを変更するなどの柔軟性を持つことができます。

Gerrit

Gerritは、Gitリポジトリ上でコードレビューを行うためのウェブベースのツールです。Googleによって開発され、多くのオープンソースプロジェクト(Android、Chromium、Goなど)で利用されています。Gerritの主な特徴は以下の通りです。

  • チェンジリスト (Change-ID): Gerritでは、各コミットが「チェンジリスト」として扱われ、一意のID(例: 6257050)が割り当てられます。これにより、特定の変更の追跡と議論が容易になります。
  • コードレビュー: 開発者はGerritを通じて変更を提案し、他の開発者やメンテナがその変更をレビューし、コメントや承認を行います。
  • 自動化されたワークフロー: GerritはCI/CDシステムと統合され、変更がプッシュされると自動的にテストを実行し、結果をレビュー担当者にフィードバックすることができます。
  • アクセス制御: 誰がどのリポジトリにプッシュできるか、誰がコードをレビューできるかなど、詳細なアクセス制御を設定できます。

Goプロジェクトでは、GitHubはミラーリポジトリとして機能し、実際の開発ワークフロー(コードの提出、レビュー、マージ)はGerritを中心に行われています。

技術的詳細

このコミットは、Gitの差分(diff)形式で表現されています。

diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 54dbd4abf8..c1ca386309 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -68,6 +68,7 @@ Benjamin Black <b@b3k.us>
 Benny Siegert <bsiegert@gmail.com>
 Berengar Lehr <Berengar.Lehr@gmx.de>
 Bill Neubauer <wcn@golang.org> <wcn@google.com>
+Bill Thiede <couchmoney@gmail.com>
 Bjorn Tillenius <bjorn@tillenius.me>
 Bjorn Tipling <bjorn.tipling@gmail.com>
 Blake Mizerany <blake.mizerany@gmail.com>
  • diff --git a/CONTRIBUTORS b/CONTRIBUTORS: これは、CONTRIBUTORSファイルが変更されたことを示しています。a/は変更前のファイル、b/は変更後のファイルを表します。
  • index 54dbd4abf8..c1ca386309 100644: これは、ファイルのGitオブジェクトハッシュの変更を示しています。54dbd4abf8は変更前のファイルのハッシュ、c1ca386309は変更後のファイルのハッシュです。100644は、ファイルが通常のファイル(実行可能ではない)であることを示すパーミッションモードです。
  • --- a/CONTRIBUTORS: 変更前のCONTRIBUTORSファイルを示します。
  • +++ b/CONTRIBUTORS: 変更後のCONTRIBUTORSファイルを示します。
  • @@ -68,6 +68,7 @@: これは「ハンクヘッダー」と呼ばれ、変更がファイルのどこで行われたかを示します。-68,6は変更前のファイルで68行目から6行が対象であることを意味し、+68,7は変更後のファイルで68行目から7行が対象であることを意味します。つまり、この変更によって1行が追加されたことがわかります。
  • +Bill Thiede <couchmoney@gmail.com>: この行の先頭にある+記号は、この行が新しく追加されたことを示しています。

この差分は、CONTRIBUTORSファイルの68行目の後に、新しい行が挿入されたことを明確に示しています。

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

CONTRIBUTORSファイルに以下の1行が追加されました。

+Bill Thiede <couchmoney@gmail.com>

コアとなるコードの解説

追加された行は、新しい貢献者であるBill Thiede氏の名前とメールアドレスをCONTRIBUTORSファイルに記録しています。これは、Goプロジェクトへの貢献が正式に認められ、記録されたことを意味します。このファイルは、プロジェクトの歴史と貢献者のリストを維持するために重要です。

関連リンク

参考にした情報源リンク

  • Goプロジェクトの公式ドキュメント (go.dev)
  • Google Contributor License Agreementに関する情報
  • Gerrit Code Reviewに関する情報
  • Gitの差分表示に関する一般的な情報