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

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

このコミットは、Goプロジェクトの貢献者リストに新しい個人を追加するものです。具体的には、AUTHORSファイルとCONTRIBUTORSファイルに「Yoshiyuki Kanno」氏の情報を追加しています。これは、Goプロジェクトへの貢献が認められ、正式に記録されるための標準的なプロセスの一部です。

コミット

commit 6a0e6cc7f41d49590c12c7affa9d145371a88cad
Author: Brad Fitzpatrick <bradfitz@golang.org>
Date:   Tue Jan 10 15:50:44 2012 -0800

    A+C: add Yoshiyuki Kanno (Individual CLA)
    
    R=golang-dev, r
    CC=golang-dev
    https://golang.org/cl/5534066

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

https://github.com/golang/go/commit/6a0e6cc7f41d49590c12c7affa9d145371a88cad

元コミット内容

A+C: add Yoshiyuki Kanno (Individual CLA)

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5534066

変更の背景

この変更の背景には、オープンソースプロジェクトにおける貢献者の管理と、知的財産権の明確化という重要な側面があります。Goプロジェクトのような大規模なオープンソースプロジェクトでは、多くの開発者がコード、ドキュメント、その他のリソースに貢献します。これらの貢献を法的に保護し、プロジェクトのライセンスの下で適切に利用できるようにするためには、貢献者ライセンス契約(CLA: Contributor License Agreement)の締結が一般的です。

「Individual CLA」という記述から、Yoshiyuki Kanno氏がGoプロジェクトに対して個人としてCLAを締結したことが示唆されます。CLAは、貢献者が自身の貢献に対する著作権をプロジェクトに譲渡するか、またはプロジェクトがその貢献を特定のライセンス(例: BSDライセンス、Apacheライセンスなど)の下で利用することを許可する法的な合意です。これにより、プロジェクトは将来的に貢献されたコードを自由に利用・配布・変更できるようになり、法的な紛争のリスクを低減できます。

このコミットは、CLAの締結が完了し、Yoshiyuki Kanno氏が正式にGoプロジェクトの貢献者として認識されたことを反映しています。

前提知識の解説

  • オープンソースプロジェクトにおける貢献者: オープンソースプロジェクトは、世界中の開発者からの貢献によって成り立っています。これらの貢献は、コードの追加、バグ修正、ドキュメントの改善、テストの作成、翻訳など多岐にわたります。
  • 貢献者ライセンス契約 (CLA: Contributor License Agreement): CLAは、オープンソースプロジェクトにおいて、貢献者がその貢献物に対する著作権をプロジェクトの所有者(または特定の財団など)に譲渡するか、またはプロジェクトがその貢献物を特定のライセンスの下で利用することを許可する法的な文書です。これにより、プロジェクトは貢献されたコードを安心して利用し、再配布することができます。Googleが主導するGoプロジェクトのような大規模なプロジェクトでは、CLAの締結が必須となることがほとんどです。
  • AUTHORSファイル: プロジェクトの主要な作者や貢献者の名前がリストされているファイルです。通常、プロジェクトの初期からの主要な開発者や、特に大きな貢献をした人物が記載されます。
  • CONTRIBUTORSファイル: プロジェクトに貢献したすべての人物の名前がリストされているファイルです。AUTHORSファイルよりも広範な貢献者を含みます。
  • golang-dev: Goプロジェクトの開発者メーリングリストまたはレビューグループを指します。コミットメッセージのR=(Reviewers)やCC=(Carbon Copy)は、このグループが変更のレビューに関与したことを示しています。
  • https://golang.org/cl/5534066: これはGoプロジェクトのコードレビューシステム(Gerritなど)における変更リスト(Change List)へのリンクです。Goプロジェクトでは、GitHubへのマージ前に、このシステムでコードレビューが行われます。

技術的詳細

このコミット自体は、技術的なコードの変更を伴うものではなく、プロジェクトのメタデータ(貢献者情報)の更新です。具体的には、以下の2つのテキストファイルに新しい行を追加しています。

  1. AUTHORS: このファイルは、プロジェクトの主要な作者や、特に重要な貢献をした人物を列挙するために使用されます。
  2. CONTRIBUTORS: このファイルは、プロジェクトに貢献したすべての人物を列挙するために使用されます。

変更は非常にシンプルで、既存のリストの末尾にYoshiyuki Kanno氏の名前とメールアドレス(および追加のメールアドレス)が追加されています。これは、テキストファイルへの単純な追記操作であり、特別なプログラミング言語やフレームワークの知識は必要ありません。

Gitの差分(diff)を見ると、AUTHORSファイルとCONTRIBUTORSファイルの両方で、既存の行の後に新しい行が1行ずつ追加されていることがわかります。

diff --git a/AUTHORS b/AUTHORS
index 112479ce87..205fb847d9 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -180,6 +180,7 @@ Wei Guangjing <vcc.163@gmail.com>
 William Josephson <wjosephson@gmail.com>
 Yasuhiro Matsumoto <mattn.jp@gmail.com>
 Yongjian Xu <i3dmaster@gmail.com>
+Yoshiyuki Kanno <nekotaroh@gmail.com> <yoshiyuki.kanno@stoic.co.jp>
 Yuusei Kuwana <kuwana@kumama.org>
 Yuval Pavel Zholkover <paulzhol@gmail.com>
 Ziad Hatahet <hatahet@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index eca370b1ee..7c8874be39 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -265,6 +265,7 @@ William Chan <willchan@chromium.org>
 William Josephson <wjosephson@gmail.com>
 Yasuhiro Matsumoto <mattn.jp@gmail.com>
 Yongjian Xu <i3dmaster@gmail.com>
+Yoshiyuki Kanno <nekotaroh@gmail.com> <yoshiyuki.kanno@stoic.co.jp>
 Yuusei Kuwana <kuwana@kumama.org>
 Yuval Pavel Zholkover <paulzhol@gmail.com>
 Yves Junqueira <yves.junqueira@gmail.com>

この差分は、Gitがファイルの変更をどのように追跡しているかを示しています。index行は、変更前後のファイルのハッシュ(SHA-1)を示し、--- a/AUTHORS+++ b/AUTHORSは、それぞれ変更前のファイルと変更後のファイルを示します。@@ -180,6 +180,7 @@は、変更がファイルの180行目から始まり、変更前は6行、変更後は7行になったことを示しています。+記号が付いている行が追加された行です。

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

このコミットにおける「コアとなるコード」は、Goプロジェクトのソースコードそのものではなく、プロジェクトのメタデータを構成するテキストファイルです。変更箇所は以下の2ファイルです。

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

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

コアとなるコードの解説

追加された行は以下の通りです。

Yoshiyuki Kanno <nekotaroh@gmail.com> <yoshiyuki.kanno@stoic.co.jp>

この行は、Yoshiyuki Kanno氏の氏名と、彼が使用する2つのメールアドレスを含んでいます。通常、オープンソースプロジェクトの貢献者リストでは、連絡先情報としてメールアドレスが記載されます。複数のメールアドレスが記載されているのは、個人用と仕事用など、複数のアドレスを使い分けている場合に、両方を記録するためと考えられます。

これらのファイルは、プロジェクトの歴史と貢献者を記録する上で非常に重要です。特に、法的な観点から、誰がどの部分に貢献したかを明確にするために役立ちます。

関連リンク

  • Goプロジェクトの公式ウェブサイト: https://golang.org/
  • Goプロジェクトの貢献ガイドライン(一般的なオープンソースプロジェクトの貢献プロセスについて理解を深めるのに役立ちます): https://go.dev/doc/contribute
  • GoプロジェクトのCLAに関する情報(もし公開されていれば): Goプロジェクトの貢献ガイドラインやFAQセクションでCLAに関する詳細が見つかる可能性があります。

参考にした情報源リンク

  • GitHubのコミットページ: https://github.com/golang/go/commit/6a0e6cc7f41d49590c12c7affa9d145371a88cad
  • Goプロジェクトのコードレビューシステム(Gerrit)の変更リスト: https://golang.org/cl/5534066 (このリンクは古い可能性があり、現在のGerritインスタンスでは異なるURL構造になっている場合がありますが、コミットメッセージに記載されているため含めました。)
  • 一般的なオープンソースプロジェクトにおけるCLAの概念に関する情報源(例: Linux Foundation, Apache Software Foundationなどのウェブサイト)