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

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

このコミットは、GoプロジェクトのAUTHORSファイルとCONTRIBUTORSファイルに、新たな貢献者であるJulien Schmidt氏を追加するものです。これは、彼がGoプロジェクトへの貢献を開始するにあたり、個人貢献者ライセンス契約(Individual CLA)を締結したことを示す記録的な変更です。

コミット

commit c39509a3b3bdf645bbf4aef8186fddee67e61eae
Author: Brad Fitzpatrick <bradfitz@golang.org>
Date:   Thu Aug 23 19:29:15 2012 -0700

    A+C: Add Julien Schmidt (Individual CLA)
    
    R=golang-dev, iant
    CC=golang-dev
    https://golang.org/cl/6459050

diff --git a/AUTHORS b/AUTHORS
index f8c859ee50..eeb51ec336 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -129,6 +129,7 @@ Jose Luis Vázquez González <josvazg@gmail.com>
 Josh Goebel <dreamer3@gmail.com>
 Jukka-Pekka Kekkonen <karatepekka@gmail.com>
 Julian Phillips <julian@quantumfyre.co.uk>
+Julien Schmidt <google@julienschmidt.com>
 Kai Backman <kaib@golang.org>
 Kei Son <hey.calmdown@gmail.com>
 Keith Rarick <kr@xph.us>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 9bc06d2312..1c9d736828 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -192,6 +192,7 @@ Jose Luis Vázquez González <josvazg@gmail.com>
 Josh Goebel <dreamer3@gmail.com>
 Jukka-Pekka Kekkonen <karatepekka@gmail.com>
 Julian Phillips <julian@quantumfyre.co.uk>
+Julien Schmidt <google@julienschmidt.com>
 Kai Backman <kaib@golang.org>
 Kei Son <hey.calmdown@gmail.com>
 Keith Rarick <kr@xph.us>

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

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

元コミット内容

このコミットの元の内容は、Goプロジェクトの公式リポジトリにおいて、Julien Schmidt氏を貢献者として追加することです。コミットメッセージの「A+C: Add Julien Schmidt (Individual CLA)」は、「AUTHORSファイルとCONTRIBUTORSファイルにJulien Schmidt氏を追加する(個人CLAによる)」という意味です。これは、彼がGoプロジェクトにコードを貢献するための法的な要件を満たしたことを示しています。

変更の背景

オープンソースプロジェクト、特にGoogleのような大企業が支援するプロジェクトでは、知的財産権の管理と法的な保護を確実にするために、貢献者ライセンス契約(Contributor License Agreement, CLA)の締結を義務付けることが一般的です。このコミットは、Julien Schmidt氏がGoプロジェクトへの貢献を開始するにあたり、必要な個人CLAを締結したため、その事実をプロジェクトの公式記録であるAUTHORSおよびCONTRIBUTORSファイルに反映させるために行われました。これにより、彼の将来の貢献がプロジェクトのライセンスと整合性が取れていることが保証されます。

前提知識の解説

貢献者ライセンス契約 (Contributor License Agreement, CLA)

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

  1. 知的財産権の明確化: 貢献されたコードの著作権が誰に帰属するか、またはプロジェクトがそのコードをどのように利用できるかを明確にします。多くの場合、貢献者は自身の著作権を保持しつつ、プロジェクトに対してそのコードをプロジェクトのライセンス(例: Apache License, MIT License)の下で利用、配布、変更する永続的、非独占的、ロイヤリティフリーの権利を付与します。一部のCLAでは、著作権をプロジェクトの所有者(例: Google)に譲渡する場合もあります。
  2. 法的な保護: プロジェクトが、貢献されたコードに関する将来の著作権侵害や特許侵害の訴訟から保護されることを保証します。CLAを締結することで、プロジェクトは貢献されたコードが貢献者自身のオリジナルであり、第三者の権利を侵害していないことを確認できます。
  3. ライセンスの一貫性: プロジェクト全体のコードベースが単一のライセンスの下で配布されることを保証し、ライセンスの複雑性や矛盾を防ぎます。

Goプロジェクトの場合、Googleがプロジェクトを支援しているため、GoogleのCLAポリシーに準拠しています。

AUTHORSファイルとCONTRIBUTORSファイル

多くのオープンソースプロジェクトでは、プロジェクトの歴史と貢献者を記録するために特定のファイルを使用します。

  • AUTHORSファイル: このファイルは通常、プロジェクトの主要な作者、著作権保持者、またはプロジェクトの初期段階から深く関わってきた人々をリストアップします。法的な著作権表示の目的で利用されることもあります。
  • CONTRIBUTORSファイル: このファイルは、プロジェクトに何らかの形で貢献したすべての個人をリストアップします。これには、コードのコミット、バグ報告、ドキュメントの作成、翻訳、テスト、デザインなど、幅広い貢献が含まれます。このファイルは、コミュニティの努力を認識し、感謝を示す役割も果たします。

これらのファイルは、プロジェクトの透明性を高め、誰がプロジェクトに貢献しているかを明確にするために重要です。

Gerrit (コードレビューシステム)

Goプロジェクトは、Googleが開発したオープンソースのコードレビューシステムであるGerritを使用しています。コミットメッセージに含まれるR=CC=は、Gerritのワークフローに関連するものです。

  • R= (Reviewers): この行は、コード変更をレビューし、承認する必要があるレビュアーを指定します。このコミットではgolang-dev(Go開発者メーリングリストまたはグループ)とiant(Ian Lance Taylor氏、Goチームの主要メンバー)がレビュアーとして指定されています。
  • CC= (Carbon Copy): この行は、コード変更に関する通知を受け取る必要がある追加のユーザーやグループを指定します。ここではgolang-devが指定されており、関連する開発者がこの変更を追跡できるようにしています。
  • https://golang.org/cl/6459050: これはGerritの変更リスト(Change-ID)へのリンクです。このリンクを辿ることで、このコミットに至るまでのコードレビューの議論、コメント、承認履歴などを確認できます。

技術的詳細

このコミットの技術的な変更は非常にシンプルで、既存のテキストファイルであるAUTHORSCONTRIBUTORSに新しい行を追加するだけです。

具体的には、両ファイルにおいて、Julian Phillips <julian@quantumfyre.co.uk>の行の直後に、Julien Schmidt <google@julienschmidt.com>という行が挿入されています。これは、ファイルのアルファベット順の並びを維持するための一般的な慣習に従っています。

この変更自体は、Go言語のコードベースや機能に直接的な影響を与えるものではありません。しかし、プロジェクトのガバナンスと法的な側面において重要な意味を持ちます。新しい貢献者が正式にプロジェクトの一部として認識され、その貢献が法的に保護される基盤が整えられたことを示しています。

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

このコミットで変更された「コード」は、厳密にはGo言語のソースコードではなく、プロジェクトのメタデータファイルです。

  1. AUTHORSファイル:

    --- a/AUTHORS
    +++ b/AUTHORS
    @@ -129,6 +129,7 @@ Jose Luis Vázquez González <josvazg@gmail.com>
     Josh Goebel <dreamer3@gmail.com>
     Jukka-Pekka Kekkonen <karatepekka@gmail.com>
     Julian Phillips <julian@quantumfyre.co.uk>
    +Julien Schmidt <google@julienschmidt.com>
     Kai Backman <kaib@golang.org>
     Kei Son <hey.calmdown@gmail.com>
     Keith Rarick <kr@xph.us>
    

    AUTHORSファイルにJulien Schmidt <google@julienschmidt.com>という行が追加されました。

  2. CONTRIBUTORSファイル:

    --- a/CONTRIBUTORS
    +++ b/CONTRIBUTORS
    @@ -192,6 +192,7 @@ Jose Luis Vázquez González <josvazg@gmail.com>
     Josh Goebel <dreamer3@gmail.com>
     Jukka-Pekka Kekkonen <karatepekka@gmail.com>
     Julian Phillips <julian@quantumfyre.co.uk>
    +Julien Schmidt <google@julienschmidt.com>
     Kai Backman <kaib@golang.org>
     Kei Son <hey.calmdown@gmail.com>
     Keith Rarick <kr@xph.us>
    

    CONTRIBUTORSファイルにもJulien Schmidt <google@julienschmidt.com>という行が追加されました。

両ファイルで、既存の貢献者リストのアルファベット順に新しいエントリが挿入されています。

コアとなるコードの解説

このコミットにおける「コアとなるコード」は、AUTHORSCONTRIBUTORSという2つのプレーンテキストファイルへの単純な行追加です。

  • AUTHORSファイルへの追加: Julien Schmidt氏がGoプロジェクトの主要な作者または著作権保持者の一員として認識されたことを意味します。これは、彼がプロジェクトの知的財産権の側面において重要な役割を担う可能性があることを示唆しています。
  • CONTRIBUTORSファイルへの追加: Julien Schmidt氏がGoプロジェクトに貢献する資格を得た、または既に貢献を開始したことを公式に記録するものです。このファイルは、プロジェクトのコミュニティと、その成長を支える個々の努力を可視化する役割を果たします。

これらのファイルは、プロジェクトのソースコード自体ではありませんが、プロジェクトの健全な運営と法的な枠組みを維持するために不可欠なメタデータです。新しい貢献者が追加されるたびに、このようなコミットが行われることは、オープンソースプロジェクトにおける標準的な運用手順の一部です。

関連リンク

参考にした情報源リンク

  • GoプロジェクトのGitHubリポジトリ: https://github.com/golang/go
  • コミットハッシュ: c39509a3b3bdf645bbf4aef8186fddee67e61eae
  • Gerrit Change-ID: https://golang.org/cl/6459050
  • 一般的なContributor License Agreement (CLA)に関する情報(例: Apache CLA, Google CLAなど)
  • Gitのdiff形式に関する一般的な情報。
  • オープンソースプロジェクトにおけるAUTHORSおよびCONTRIBUTORSファイルの慣習に関する一般的な知識。