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

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

このコミットは、GoプロジェクトのAUTHORSファイルとCONTRIBUTORSファイルに新しい貢献者であるJoshua Chase氏を追加するものです。これは、彼がGoプロジェクトへの貢献を始めるにあたり、個人の貢献者ライセンス契約(CLA: Contributor License Agreement)を締結したことを示しています。

コミット

commit d08a7baa2eacbfd2701d364258b9e75c9655b536
Author: Brad Fitzpatrick <bradfitz@golang.org>
Date:   Sun Feb 2 12:58:45 2014 +0100

    A+C: Joshua Chase (individual CLA)
    
    Generated by addca.
    
    TBR=iant
    R=gobot
    CC=golang-codereviews
    https://golang.org/cl/54800045

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

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

元コミット内容

A+C: Joshua Chase (individual CLA)

Generated by addca.

TBR=iant
R=gobot
CC=golang-codereviews
https://golang.org/cl/54800045

変更の背景

オープンソースプロジェクト、特にGoogleが主導するような大規模なプロジェクトでは、貢献者からの知的財産権の帰属を明確にするために、貢献者ライセンス契約(CLA)の締結が求められることが一般的です。これは、プロジェクトのコードベースの健全性を保ち、将来的なライセンス問題を防ぐために不可欠なプロセスです。

このコミットは、Joshua Chase氏がGoプロジェクトにコードを貢献する準備が整ったことを示しています。彼が個人のCLAを締結したことで、彼の貢献がプロジェクトのライセンス要件に合致することが保証されます。コミットメッセージの "A+C" は "AUTHORS and CONTRIBUTORS" を意味し、addca ツールによって生成されたことが示されています。addca は、CLAが締結された貢献者をこれらのファイルに自動的に追加するための内部ツールであると推測されます。

前提知識の解説

  • 貢献者ライセンス契約 (CLA: Contributor License Agreement): CLAは、個人または企業がオープンソースプロジェクトにコードやドキュメントなどの貢献を行う際に、その貢献の著作権をプロジェクトの所有者(または指定された団体)に譲渡するか、または特定のライセンスの下で使用することを許可する法的な合意です。これにより、プロジェクトの所有者は、貢献されたコードを自由に利用、配布、再ライセンスできるようになり、将来的な著作権侵害の訴訟リスクを軽減できます。Googleが主導する多くのオープンソースプロジェクト(Go、Androidなど)では、貢献者にCLAの締結を義務付けています。

  • AUTHORS ファイルと CONTRIBUTORS ファイル: 多くのオープンソースプロジェクトでは、プロジェクトに貢献した人々の名前を記録するためのファイルが存在します。

    • AUTHORS ファイル: 主にプロジェクトの主要な作者や初期の貢献者をリストアップすることが多いです。
    • CONTRIBUTORS ファイル: プロジェクトに何らかの形で貢献したすべての個人や団体をリストアップします。これには、コードのコミットだけでなく、ドキュメントの改善、バグ報告、テストの作成なども含まれる場合があります。 これらのファイルは、貢献者への感謝を示すとともに、プロジェクトの透明性を高める役割も果たします。
  • TBR (To Be Reviewed) と R (Reviewer): Goプロジェクトのコードレビュープロセスにおける慣習的な表記です。

    • TBR=iant: この変更を最終的にレビューし、コミットを承認する責任者(またはその候補)を示します。ここではiant(Ian Lance Taylor氏)がその役割を担っています。
    • R=gobot: 自動化されたレビューボットまたはシステムを示します。CLAの追加のような定型的な変更の場合、自動化されたチェックが実行されることがあります。
  • CC (Carbon Copy): コードレビューの通知を送信するメーリングリストや個人を示します。golang-codereviewsはGoプロジェクトのコードレビューに関する議論が行われるメーリングリストです。

  • golang.org/cl/: Goプロジェクトでは、Gerritというコードレビューシステムを使用しています。https://golang.org/cl/54800045 は、このコミットに対応するGerrit上のチェンジリスト(Change List)へのリンクです。チェンジリストは、提案された変更、レビューコメント、およびその変更に関するすべてのやり取りを追跡するためのものです。

技術的詳細

このコミット自体は、Go言語のランタイムやコンパイラといった技術的なコードの変更ではなく、プロジェクトの管理ファイルに対する変更です。しかし、その背後には、オープンソースプロジェクトにおける法務的・管理的な側面が深く関わっています。

AUTHORSおよびCONTRIBUTORSファイルは、プロジェクトのメタデータの一部であり、通常はプレーンテキスト形式で管理されます。これらのファイルに新しいエントリを追加するプロセスは、手動で行われることもありますが、大規模なプロジェクトでは、CLAの締結状況と連携した自動化されたツール(この場合はaddca)によって行われることが多いです。これにより、人為的なミスを防ぎ、CLAの要件が満たされていることを確実にします。

コミットメッセージの "Generated by addca." は、この変更が手動で作成されたものではなく、特定のツールによって自動的に生成されたものであることを明示しています。これは、このような管理ファイルへの変更が、厳格なプロセスと自動化されたチェックによって管理されていることを示唆しています。

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

このコミットによって変更されたファイルは以下の2つです。

  1. AUTHORS
  2. CONTRIBUTORS

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

diff --git a/AUTHORS b/AUTHORS
index 6a79e64659..2ea7fe79fd 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -204,6 +204,7 @@ Joseph Holsten <joseph@josephholsten.com>
 Josh Bleecher Snyder <josharian@gmail.com>
 Josh Goebel <dreamer3@gmail.com>
 Josh Holland <jrh@joshh.co.uk>
+Joshua Chase <jcjoshuachase@gmail.com>
 Jukka-Pekka Kekkonen <karatepekka@gmail.co
 Julian Phillips <julian@quantumfyre.co.uk>
 Julien Schmidt <google@julienschmidt.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 6a73b5ba13..5e27b92cb5 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -297,6 +297,7 @@ Josh Bleecher Snyder <josharian@gmail.com>
 Josh Goebel <dreamer3@gmail.com>
 Josh Hoak <jhoak@google.com>
 Josh Holland <jrh@joshh.co.uk>
+Joshua Chase <jcjoshuachase@gmail.com>
 JP Sugarbroad <jpsugar@google.com>
 Jukka-Pekka Kekkonen <karatepekka@gmail.com>
 Julian Phillips <julian@quantumfyre.co.uk>

コアとなるコードの解説

変更自体は非常にシンプルで、各ファイルの特定の行に新しいエントリが追加されているだけです。

  • AUTHORSファイルでは、既存のJosh Holland氏のエントリの直後にJoshua Chase <jcjoshuachase@gmail.com>が追加されています。
  • CONTRIBUTORSファイルでも同様に、Josh Holland氏のエントリの直後にJoshua Chase <jcjoshuachase@gmail.com>が追加されています。

これらの変更は、Joshua Chase氏がGoプロジェクトの正式な貢献者として認識され、彼の将来の貢献がプロジェクトのライセンス要件に準拠していることを示すものです。これは、Goプロジェクトの健全な開発エコシステムを維持するための重要なステップです。

関連リンク

参考にした情報源リンク

  • GoプロジェクトのGitHubリポジトリ: https://github.com/golang/go
  • コミットハッシュ d08a7baa2eacbfd2701d364258b9e75c9655b536 の詳細ページ: https://github.com/golang/go/commit/d08a7baa2eacbfd2701d364258b9e75c9655b536
  • 一般的なオープンソースプロジェクトにおけるCLAの概念に関する情報源(例: Linux Foundation, Apache Software FoundationなどのCLA説明ページ)
  • Gerritに関する一般的な情報源
  • Goプロジェクトのコードレビュープロセスに関するドキュメント(もし公開されていれば)