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

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

このコミットは、GoプロジェクトのAUTHORSファイルとCONTRIBUTORSファイルに新しい貢献者を追加するものです。具体的には、Emil Hessman <c.emil.hessman@gmail.com>というエントリが追加されています。

コミット

このコミットは、Goプロジェクトの貢献者リストを更新するものです。新しい貢献者であるEmil Hessman氏の情報をAUTHORSファイルとCONTRIBUTORSファイルに追記しています。これは、オープンソースプロジェクトにおいて、コードベースに貢献した個人を公式に認識し、記録するための一般的な慣行です。

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

https://github.com/golang/go/commit/286fb69746cc33e8f408f14d7c505aec6fd4d682

元コミット内容

commit 286fb69746cc33e8f408f14d7c505aec6fd4d682
Author: Robert Griesemer <gri@golang.org>
Date:   Mon Mar 5 15:10:58 2012 -0800

    C+A: adding c.emil.hessman@gmail.com
    
    R=golang-dev, adg
    CC=golang-dev
    https://golang.org/cl/5754044
---
 AUTHORS      | 1 +
 CONTRIBUTORS | 1 +
 2 files changed, 2 insertions(+)

diff --git a/AUTHORS b/AUTHORS
index 11ebeb03be..07acf71f22 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -65,6 +65,7 @@ Devon H. O'Dell <devon.odell@gmail.com>
 Dmitry Chestnykh <dchest@gmail.com>
 Eden Li <eden.li@gmail.com>
 Eivind Uggedal <eivind@uggedal.com>
+Emil Hessman <c.emil.hessman@gmail.com>
 Eoghan Sherry <ejsherry@gmail.com>
 Eric Clark <zerohp@gmail.com>
 Eric Eisner <eric.d.eisner@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 5d2301f323..b843e791b2 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -107,6 +107,7 @@ Dmitriy Vyukov <dvyukov@google.com>
 Dmitry Chestnykh <dchest@gmail.com>
 Eden Li <eden.li@gmail.com>
 Eivind Uggedal <eivind@uggedal.com>
+Emil Hessman <c.emil.hessman@gmail.com>
 Eoghan Sherry <ejsherry@gmail.com>
 Eric Clark <zerohp@gmail.com>
 Eric Eisner <eric.d.eisner@gmail.com>

変更の背景

この変更の背景は、Goプロジェクトに新たな貢献者が加わったことを公式に記録するためです。オープンソースプロジェクトでは、多くの個人がコードの作成、バグ修正、ドキュメントの改善、テストの追加など、様々な形で貢献します。これらの貢献者を認識し、感謝の意を示すために、AUTHORSCONTRIBUTORSといったファイルがプロジェクトのリポジトリ内に維持されることが一般的です。

このコミットは、Emil Hessman氏がGoプロジェクトに対して何らかの貢献を行った結果として、その貢献が公式に認められ、記録されるプロセスの一環として行われました。これにより、プロジェクトの歴史と貢献者のリストが正確に保たれます。

前提知識の解説

  • オープンソースプロジェクトにおける貢献者リスト: 多くのオープンソースプロジェクトでは、プロジェクトに貢献した人々の名前をリストアップしたファイル(例: AUTHORS, CONTRIBUTORS, CREDITSなど)を保持しています。これらのファイルは、プロジェクトの透明性を高め、貢献者への感謝を示す役割を果たします。また、ライセンスや著作権に関する情報の一部として機能することもあります。
  • Gitの差分 (diff): Gitの差分は、2つの異なるバージョンのファイルまたはコードベース間の変更点を示すものです。diff --git a/AUTHORS b/AUTHORSのような行は、AUTHORSファイルの変更を示しており、+記号は追加された行を、-記号は削除された行を示します。このコミットでは、両ファイルに1行ずつ追加が行われています。
  • Goプロジェクト: GoはGoogleによって開発されたオープンソースのプログラミング言語です。その開発は活発で、世界中の多くの貢献者によって支えられています。Goプロジェクトの貢献者リストは、そのコミュニティの広がりと多様性を反映しています。
  • Code Review (R=..., CC=...): コミットメッセージ内のR=golang-dev, adgCC=golang-devは、コードレビューのプロセスを示しています。R=はレビュー担当者(Reviewer)を、CC=はカーボンコピー(Carbon Copy)の対象を示します。これは、変更がプロジェクトにマージされる前に、他の開発者によってレビューされたことを意味します。golang-devはGo開発者メーリングリストを指し、adgはAndrew Gerrand氏(当時のGoチームの主要メンバー)を指している可能性が高いです。
  • Gerrit (https://golang.org/cl/5754044): https://golang.org/cl/5754044は、Goプロジェクトが使用しているコードレビューシステムであるGerritの変更リスト(Change-List, CL)へのリンクです。Goプロジェクトでは、GitHubに直接プッシュするのではなく、Gerritを介して変更を提出し、レビューを受けるワークフローを採用しています。このリンクは、このコミットがGerrit上でどのようにレビューされたかを示す元の変更リクエストを指しています。

技術的詳細

このコミットは、技術的には非常に単純なテキストファイルの変更です。AUTHORSファイルとCONTRIBUTORSファイルは、プレーンテキスト形式で、各行に貢献者の名前とメールアドレスが記述されています。

  • AUTHORSファイル: このファイルは通常、プロジェクトの主要な作者や、著作権表示に関連する個人をリストアップするために使用されます。
  • CONTRIBUTORSファイル: このファイルは、コード、ドキュメント、テスト、バグ報告など、様々な形でプロジェクトに貢献したすべての個人をリストアップするために使用されます。AUTHORSファイルよりも広範な貢献者を含むことが多いです。

このコミットでは、両ファイルにEmil Hessman <c.emil.hessman@gmail.com>という行が追加されています。これは、ファイルの既存のソート順(アルファベット順)に従って適切な位置に挿入されています。

ファイルの変更は、Gitのdiffコマンドによって示されるように、既存の行の間に新しい行を挿入する形で行われています。index 11ebeb03be..07acf71f22 100644のような行は、Gitがファイルの変更を追跡するために使用する内部的なハッシュ(オブジェクトID)とファイルモードを示しています。

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

このコミットにおける「コード」の変更箇所は、Go言語のソースコードそのものではなく、プロジェクトのメタデータファイルであるAUTHORSCONTRIBUTORSです。

diff --git a/AUTHORS b/AUTHORS
index 11ebeb03be..07acf71f22 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -65,6 +65,7 @@ Devon H. O'Dell <devon.odell@gmail.com>
 Dmitry Chestnykh <dchest@gmail.com>
 Eden Li <eden.li@gmail.com>
 Eivind Uggedal <eivind@uggedal.com>
+Emil Hessman <c.emil.hessman@gmail.com>
 Eoghan Sherry <ejsherry@gmail.com>
 Eric Clark <zerohp@gmail.com>
 Eric Eisner <eric.d.eisner@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 5d2301f323..b843e791b2 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -107,6 +107,7 @@ Dmitriy Vyukov <dvyukov@google.com>
 Dmitry Chestnykh <dchest@gmail.com>
 Eden Li <eden.li@gmail.com>
 Eivind Uggedal <eivind@uggedal.com>
+Emil Hessman <c.emil.hessman@gmail.com>
 Eoghan Sherry <ejsherry@gmail.com>
 Eric Clark <zerohp@gmail.com>
 Eric Eisner <eric.d.eisner@gmail.com>

上記の差分が示すように、両ファイルにおいて、アルファベット順でEivind Uggedalの後にEmil Hessmanのエントリが追加されています。

コアとなるコードの解説

このコミットの「コアとなるコード」は、Goプロジェクトの貢献者リストを管理するAUTHORSCONTRIBUTORSファイルです。これらのファイルは、プロジェクトのガバナンスと透明性において重要な役割を果たします。

  • AUTHORS: このファイルは、プロジェクトの著作権表示に直接関連する可能性のある主要な作者を列挙します。法的な観点から、誰がプロジェクトの知的財産権を保持しているかを示すために重要です。
  • CONTRIBUTORS: このファイルは、プロジェクトに何らかの形で貢献したすべての個人を網羅的にリストアップします。これは、コードのコミットだけでなく、バグ報告、ドキュメントの改善、テストの作成、コミュニティサポートなど、様々な貢献を含みます。このリストは、プロジェクトのコミュニティの広がりと、その成功に寄与した人々の多様性を示すものです。

これらのファイルは、手動で更新されることが一般的です。新しい貢献者が重要な貢献を行った際に、プロジェクトのメンテナがこれらのファイルにその貢献者の情報を追加します。このプロセスは、貢献者への感謝と、プロジェクトの公式な記録を維持するために不可欠です。

このコミットは、Goプロジェクトがその貢献者をどのように認識し、記録しているかを示す典型的な例です。

関連リンク

参考にした情報源リンク

  • Gitの公式ドキュメント: https://git-scm.com/doc
  • オープンソースプロジェクトの一般的な慣行に関する情報 (例: GitHubのドキュメント、各種オープンソースライセンスの解説など)
  • Goプロジェクトの貢献ガイドライン (通常、リポジトリ内のCONTRIBUTING.mdファイルなどで提供される)
  • Gerritのドキュメント (GoプロジェクトのGerritインスタンスの動作を理解するため)
  • コミットメッセージ内のR=CC=の慣習は、Google内部のコードレビューシステム(MondrianやGerrit)に由来するもので、そのドキュメントや慣習に関する情報。
  • GoプロジェクトのAUTHORSおよびCONTRIBUTORSファイルの歴史と目的に関する情報 (Goプロジェクトのメーリングリストや設計ドキュメントなど)。
  • Robert Griesemer氏とAndrew Gerrand氏に関する情報 (Go言語の初期開発者および主要貢献者)。