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

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

このコミットは、GoプロジェクトのAUTHORSファイルとCONTRIBUTORSファイルに対する変更を記録しています。具体的には、Ryan Slade氏が個別のContributor License Agreement (CLA) を提出したことに伴い、これらのファイルに彼の情報が追加されています。

コミット

commit c69445738d6730fc514ed90a80214973787ea67f
Author: Russ Cox <rsc@golang.org>
Date:   Tue Dec 11 13:28:44 2012 -0500

    A+C: Ryan Slade (individual CLA)
    
    Generated by addca.
    
    R=gobot
    CC=golang-dev
    https://golang.org/cl/6924049

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

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

元コミット内容

このコミットの元々の内容は、Ryan Slade氏が個人のContributor License Agreement (CLA) を提出したことを示すものです。コミットメッセージの A+CAUTHORSCONTRIBUTORS ファイルへの追加を意味し、Generated by addca.addca というツールによって自動生成されたコミットであることを示唆しています。

変更の背景

オープンソースプロジェクト、特にGoogleが主導するGoのような大規模なプロジェクトでは、貢献者からの知的財産権の管理が非常に重要です。これは、プロジェクトのコードベースの健全性と将来的なライセンスの明確性を保証するためです。

このコミットの背景には、Ryan Slade氏がGoプロジェクトに貢献するために必要なContributor License Agreement (CLA) を提出したという事実があります。CLAは、貢献者が自身の貢献に対する著作権をプロジェクトの所有者(この場合はGoogle)に付与するか、または特定のライセンスの下で利用することを許可する法的な合意です。これにより、プロジェクトは貢献されたコードを安心して利用し、再配布することができます。

AUTHORSファイルとCONTRIBUTORSファイルは、プロジェクトに貢献した人々を公式に記録するためのものです。CLAが提出されると、その貢献者の名前がこれらのファイルに追加され、プロジェクトへの正式な参加が認められます。

前提知識の解説

Contributor License Agreement (CLA)

CLA(Contributor License Agreement)は、オープンソースプロジェクトにおいて、貢献者が自身のコードに対する著作権をプロジェクトの所有者(または特定の団体)に譲渡するか、あるいは特定のライセンスの下で利用することを許可する法的な文書です。CLAの主な目的は以下の通りです。

  1. 知的財産権の明確化: 誰がどのコードの著作権を所有しているかを明確にし、将来的な著作権侵害の訴訟リスクを軽減します。
  2. ライセンスの統一性: プロジェクト全体でコードのライセンスを統一し、再配布や利用に関する法的問題を回避します。
  3. プロジェクトの持続可能性: プロジェクトの所有者がコードベース全体に対する明確な権利を持つことで、プロジェクトの方向性を決定し、必要に応じてライセンスを変更する柔軟性を確保します。

GoプロジェクトのようなGoogleが主導するプロジェクトでは、通常、個人または企業がコードを貢献する前にCLAに署名することが求められます。

AUTHORSファイルと CONTRIBUTORSファイル

  • AUTHORSファイル: プロジェクトの主要な作者や、特に重要な貢献をした人々をリストアップするファイルです。プロジェクトの歴史や主要な開発者を概観するのに役立ちます。
  • CONTRIBUTORSファイル: プロジェクトに何らかの形で貢献したすべての個人をリストアップするファイルです。コードのコミットだけでなく、ドキュメントの改善、バグ報告、テストの作成など、幅広い貢献が含まれることがあります。

これらのファイルは、プロジェクトの透明性を高め、貢献者への感謝を示す役割も果たします。

addca ツール

コミットメッセージにある Generated by addca. は、このコミットが addca というツールによって自動生成されたことを示しています。addca は "add Contributor Agreement" の略であると推測され、Goプロジェクトの内部ツールとして、CLAが提出された際に自動的にAUTHORSおよびCONTRIBUTORSファイルを更新するために使用されていると考えられます。このような自動化は、大規模なオープンソースプロジェクトにおいて、管理作業の効率化とヒューマンエラーの削減に貢献します。

技術的詳細

このコミットは、GoリポジトリのルートディレクトリにあるAUTHORSファイルとCONTRIBUTORSファイルに対して行われた変更です。Gitの差分(diff)を見ると、以下の変更が確認できます。

  • AUTHORSファイル:
    • Brian Dellisanti氏のエントリが、元の位置から少し下の行に移動しています。これは、新しいエントリの追加に伴うソート順の調整である可能性があります。
    • Péter Surányi氏のエントリも同様に移動しています。
    • Ryan Slade <ryanslade@gmail.com>という新しいエントリが追加されています。
  • CONTRIBUTORSファイル:
    • 複数の既存のエントリ(Brendan O'Dea, Matt Jones, Pawel Szczur, Péter Surányi, Péter Szabó)が、ファイルの異なる位置に移動しています。これも、新しいエントリの追加と、ファイル内のソート順を維持するための調整と考えられます。
    • Ryan Slade <ryanslade@gmail.com>という新しいエントリが追加されています。

これらの変更は、手動で行われたものではなく、addcaツールによって自動的に行われた可能性が高いです。このツールは、新しい貢献者の情報を追加する際に、既存のエントリのアルファベット順を維持するために、必要に応じて行の移動も行っていると推測されます。

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

このコミットは、Go言語のソースコード自体を変更するものではなく、プロジェクトのメタデータファイルであるAUTHORSCONTRIBUTORSファイルを変更しています。

AUTHORSファイルにおける変更点:

--- a/AUTHORS
+++ b/AUTHORS
@@ -40,11 +40,11 @@ Ben Olive <sionide21@gmail.com>
 Benjamin Black <b@b3k.us>
 Benny Siegert <bsiegert@gmail.com>
 Berengar Lehr <berengar.lehr@gmx.de>
-Brian Dellisanti <briandellisanti@gmail.com>
 Bjorn Tillenius <bjorn@tillenius.me>
 Bjorn Tipling <bjorn.tipling@gmail.com>
 Blake Mizerany <blake.mizerany@gmail.com>
 Bobby Powers <bobbypowers@gmail.com>
+Brian Dellisanti <briandellisanti@gmail.com>
 Brian Ketelsen <bketelsen@gmail.com>
 Caine Tighe <arctanofyourface@gmail.com>
 Carlos Castillo <cookieo9@gmail.com>
@@ -202,10 +202,10 @@ Peter Armitage <peter.armitage@gmail.com>
 Peter Froehlich <peter.hans.froehlich@gmail.com>
 Peter Kleiweg <pkleiweg@xs4all.nl>
 Peter Mundy <go.peter.90@gmail.com>
+Péter Surányi <speter.go1@gmail.com>
 Peter Waller <peter.waller@gmail.com>
 Peter Williams <pwil3058@gmail.com>
 Pieter Droogendijk <pieter@binky.org.uk>
-Péter Surányi <speter.go1@gmail.com>
 Quan Yong Zhai <qyzhai@gmail.com>
 Raif S. Naffah <go@naffah-raif.name>
 Rémy Oudompheng <oudomphe@phare.normalesup.org>
@@ -220,6 +220,7 @@ Roger Peppe <rogpeppe@gmail.com>
 Ron Minnich <rminnich@gmail.com>
 Ross Light <rlight2@gmail.com>
 Ryan Hitchman <hitchmanr@gmail.com>
+Ryan Slade <ryanslade@gmail.com>
 Sanjay Menakuru <balasanjay@gmail.com>
 Scott Lawrence <bytbox@gmail.com>
 Sebastien Binet	<seb.binet@gmail.com>

CONTRIBUTORSファイルにおける変更点:

--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -82,10 +82,10 @@ Bjorn Tipling <bjorn.tipling@gmail.com>
 Blake Mizerany <blake.mizerany@gmail.com>
 Bobby Powers <bobbypowers@gmail.com>
 Brad Fitzpatrick <bradfitz@golang.org> <bradfitz@gmail.com>
+Brendan O'Dea <bod@golang.org>
 Brian Dellisanti <briandellisanti@gmail.com>
 Brian Ketelsen <bketelsen@gmail.com>
 Brian Slesinsky <skybrian@google.com>
-Brendan O'Dea <bod@golang.org>
 Caine Tighe <arctanofyourface@gmail.com>
 Carl Mastrangelo <notcarl@google.com>
 Carlos Castillo <cookieo9@gmail.com>
@@ -241,8 +241,8 @@ Martin Neubauer <m.ne@gmx.net>
 Mateusz Czapliński <czapkofan@gmail.com>
 Mathieu Lonjaret <mathieu.lonjaret@gmail.com>
 Mats Lidell <mats.lidell@cag.se> <mats.lidell@gmail.com>
-Matt Jones <mrjones@google.com>
 Matt Jibson <matt.jibson@gmail.com>
+Matt Jones <mrjones@google.com>
 Matthew Horsnell <matthew.horsnell@gmail.com>
 Maxim Pimenov <mpimenov@google.com>
 Maxim Ushakov <ushakov@google.com>
@@ -281,24 +281,24 @@ Patrick Gavlin <pgavlin@gmail.com>
 Patrick Higgins <patrick.allen.higgins@gmail.com>
 Patrick Mylund Nielsen <patrick@patrickmn.com>
 Patrick Smith <pat42smith@gmail.com>
-Pawel Szczur <filemon@google.com>
 Paul Borman <borman@google.com>
 Paul Chang <paulchang@google.com>
 Paul Lalonde <paul.a.lalonde@gmail.com>
 Paul Sbarra <Sbarra.Paul@gmail.com>
+Pawel Szczur <filemon@google.com>
 Petar Maymounkov <petarm@gmail.com>
 Peter Armitage <peter.armitage@gmail.com>
 Peter Froehlich <peter.hans.froehlich@gmail.com>
 Peter Kleiweg <pkleiweg@xs4all.nl>
 Peter McKenzie <petermck@google.com>
 Peter Mundy <go.peter.90@gmail.com>
+Péter Surányi <speter.go1@gmail.com>
+Péter Szabó <pts@google.com>
 Peter Waller <peter.waller@gmail.com>
 Peter Weinberger <pjw@golang.org>
 Peter Williams <pwil3058@gmail.com>
 Phil Pennock <pdp@golang.org>
 Pieter Droogendijk <pieter@binky.org.uk>
-Péter Surányi <speter.go1@gmail.com>
-Péter Szabó <pts@google.com>
 Quan Yong Zhai <qyzhai@gmail.com>
 Raif S. Naffah <go@naffah-raif.name>
 Raph Levien <raph@google.com>
@@ -318,6 +318,7 @@ Ross Light <rlight2@gmail.com>
 Russ Cox <rsc@golang.org>
 Ryan Barrett <ryanb@google.com>
 Ryan Hitchman <hitchmanr@gmail.com>
+Ryan Slade <ryanslade@gmail.com>
 Sam Thorogood <thorogood@google.com> <sam.thorogood@gmail.com>
 Sameer Ajmani <sameer@golang.org> <ajmani@gmail.com>
 Sanjay Menakuru <balasanjay@gmail.com>

コアとなるコードの解説

このコミットは、Goプロジェクトのガバナンスと法務に関する側面を反映しています。AUTHORSCONTRIBUTORSファイルは、プロジェクトの歴史と貢献者を追跡するための重要なドキュメントです。

  • AUTHORSファイル: このファイルは、プロジェクトの主要な作者や、特に大きな貢献をした人々をリストアップします。Ryan Slade氏がこのファイルに追加されたことは、彼がGoプロジェクトに対して重要な貢献を行うことが期待されているか、既に行っていることを示唆しています。
  • CONTRIBUTORSファイル: このファイルは、プロジェクトに何らかの形で貢献したすべての個人をリストアップします。これには、コードのコミットだけでなく、ドキュメントの改善、バグ報告、テストの作成など、幅広い貢献が含まれます。Ryan Slade氏がこのファイルに追加されたことは、彼がGoプロジェクトの貢献者コミュニティの一員として正式に認められたことを意味します。

既存のエントリが移動しているのは、これらのファイルが通常、アルファベット順にソートされているためです。新しいエントリが追加された際に、そのソート順を維持するために、既存のエントリの位置が調整されます。これは、addcaのような自動化ツールが、ファイルの整合性を保ちながら更新を行う典型的な挙動です。

このコミット自体はGo言語の機能やパフォーマンスに直接的な影響を与えるものではありませんが、プロジェクトの健全な運営と法的な枠組みを維持するために不可欠なプロセスの一部です。

関連リンク

参考にした情報源リンク

  • コミット情報: /home/orange/Project/comemo/commit_data/14614.txt
  • GitHubコミットページ: https://github.com/golang/go/commit/c69445738d6730fc514ed90a80214973787ea67f
  • 一般的なCLAに関する知識 (Web検索による)
  • オープンソースプロジェクトにおけるAUTHORSおよびCONTRIBUTORSファイルの役割に関する一般的な知識 (Web検索による)
  • Goプロジェクトの慣習に関する一般的な知識 (Web検索による)