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

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

このコミットは、GoプロジェクトのAUTHORSファイルとCONTRIBUTORSファイルに、新たな貢献者であるLai Jiangshan氏の情報を追加するものです。これは、Goプロジェクトへの貢献が認められた際に、その貢献者の名前を公式に記録するための標準的なプロセスの一環です。

コミット

commit 4853cb9ab0941eeca9ec36628ed3e1a38f790148
Author: Andrew Gerrand <adg@golang.org>
Date:   Wed Feb 15 13:07:12 2012 +1100

    A+C: Lai Jiangshan
    
    R=golang-dev, dsymonds
    CC=golang-dev
    https://golang.org/cl/5677046

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

https://github.com/golang/go/commit/4853cb9ab0941eeca9ec36628ed3e1a38f790148

元コミット内容

AUTHORS      | 1 +
CONTRIBUTORS | 1 +
2 files changed, 2 insertions(+)

diff --git a/AUTHORS b/AUTHORS
index 5ecc7276c7..f82461467b 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -116,6 +116,7 @@ Ken Rockot <ken@oz.gs>
 Kevin Ballard <kevin@sb.org>
 Kyle Consalus <consalus@gmail.com>
 Kyle Lemons <kyle@kylelemons.net>
+Lai Jiangshan <eag0628@gmail.com>
 Lorenzo Stoakes <lstoakes@gmail.com>
 Luca Greco <luca.greco@alcacoop.it>
 Lucio De Re <lucio.dere@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 9d41f11a03..9689846037 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -173,6 +173,7 @@ Kevin Ballard <kevin@sb.org>
 Kirklin McDonald <kirklin.mcdonald@gmail.com>
 Kyle Consalus <consalus@gmail.com>
 Kyle Lemons <kyle@kylelemons.net> <kevlar@google.com>
+Lai Jiangshan <eag0628@gmail.com>
 Larry Hosken <lahosken@golang.org>
 Lorenzo Stoakes <lstoakes@gmail.com>
 Louis Kruger <louisk@google.com>

変更の背景

このコミットの背景は、Goプロジェクトに新たな貢献者であるLai Jiangshan氏が加わったことです。オープンソースプロジェクト、特に大規模なプロジェクトでは、コードベースに貢献した人々を公式に認識し、記録することが一般的です。これは、プロジェクトの透明性を高め、貢献者への感謝を示すとともに、知的財産権やライセンスに関する管理を容易にする目的もあります。

AUTHORSファイルとCONTRIBUTORSファイルは、プロジェクトに貢献した個人の名前と連絡先情報をリストアップするために使用されます。AUTHORSは通常、プロジェクトの主要な作者や初期の貢献者を指し、CONTRIBUTORSはそれ以外の様々な形でプロジェクトに貢献した人々(バグ修正、機能追加、ドキュメント改善など)を指します。Lai Jiangshan氏が両方のファイルに追加されていることから、彼がGoプロジェクトに対して重要な貢献を行ったことが示唆されます。

コミットメッセージにあるR=golang-dev, dsymondsCC=golang-devは、この変更がGo開発チームのレビューを受け、承認されたことを示しています。https://golang.org/cl/5677046は、この変更がGoプロジェクトのコードレビューシステムであるGerritにおける変更リスト(Change-ID)へのリンクであり、このコミットに至るまでの議論や詳細な変更内容を確認できます。

前提知識の解説

オープンソースプロジェクトにおける貢献者リスト

多くのオープンソースプロジェクトでは、プロジェクトに貢献した人々を明示的にリストアップする慣習があります。これには主に以下の目的があります。

  1. 貢献の認識と感謝: プロジェクトの成功は多くの人々の努力によって成り立っており、貢献者をリストアップすることでその努力を公式に認め、感謝の意を表します。
  2. 透明性: 誰がプロジェクトに貢献しているかを明確にすることで、プロジェクトの透明性が向上します。
  3. 法的側面: 特にライセンスや著作権に関する問題において、貢献者を明確にすることは重要です。多くのオープンソースライセンスでは、貢献者の著作権表示を保持することが求められます。
  4. コミュニティの形成: 貢献者リストは、プロジェクトのコミュニティの一員であるという意識を醸成し、新たな貢献を促すことにも繋がります。

AUTHORSCONTRIBUTORSファイル

これらのファイルは、プロジェクトによってその定義や使い分けが異なりますが、一般的には以下のような意味合いで使われます。

  • AUTHORS: プロジェクトの主要な開発者、創始者、またはプロジェクトの大部分を執筆した人々を指すことが多いです。彼らはプロジェクトの方向性や主要な設計に大きな影響を与えたと見なされます。
  • CONTRIBUTORS: AUTHORS以外の、様々な形でプロジェクトに貢献した人々を指します。これには、バグ修正、新機能の実装、ドキュメントの改善、テストの作成、翻訳、デザインなど、多岐にわたる貢献が含まれます。

Goプロジェクトでは、これらのファイルが貢献者の公式な記録として機能しています。

GerritとChange-ID

Goプロジェクトは、コードレビューにGerritというシステムを使用しています。GerritはGitの上に構築されたWebベースのコードレビューツールで、変更がメインのコードベースにマージされる前に、チームメンバーがコードをレビューし、承認するためのワークフローを提供します。

  • Change-ID: Gerritで管理される各変更リスト(コミット)には、一意のChange-IDが割り当てられます。これはコミットメッセージのフッターに記載されることが多く、関連するレビューページへの直接リンクとして機能します。このコミットメッセージにあるhttps://golang.org/cl/5677046がそれに該当します。

技術的詳細

このコミット自体は、Go言語のコードベースに対する機能的な変更やバグ修正ではなく、プロジェクトのメタデータに関する変更です。具体的には、テキストファイルであるAUTHORSCONTRIBUTORSに新しい行を追加しています。

Gitの観点から見ると、これは非常に単純な変更です。diffコマンドの出力が示すように、両ファイルに対して1行の追加(1 +)が行われています。

  • diff --git a/AUTHORS b/AUTHORS: AUTHORSファイルに対する変更を示します。a/は変更前のファイル、b/は変更後のファイルを表します。
  • index 5ecc7276c7..f82461467b 100644: Gitのインデックス情報です。5ecc7276c7は変更前のファイルのハッシュ、f82461467bは変更後のファイルのハッシュ、100644はファイルのパーミッション(通常のファイル)を示します。
  • --- a/AUTHORS+++ b/AUTHORS: 変更前と変更後のファイルパスを示します。
  • @@ -116,6 +116,7 @@: これは「hunk header」と呼ばれ、変更がファイルのどの部分で行われたかを示します。-116,6は変更前のファイルで116行目から6行が対象であることを意味し、+116,7は変更後のファイルで116行目から7行が対象であることを意味します。つまり、この位置に1行が追加されたことを示唆しています。
  • +Lai Jiangshan <eag0628@gmail.com>: 追加された具体的な行です。

この変更は、Goプロジェクトのガバナンスと貢献者管理のプロセスが機能していることを示すものです。新しい貢献者がプロジェクトに加わるたびに、このようなコミットが作成され、公式な記録が更新されます。

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

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

具体的には、以下の2つのファイルが変更されています。

  1. /AUTHORS
  2. /CONTRIBUTORS

それぞれのファイルに、Lai Jiangshan <eag0628@gmail.com>という行が1行ずつ追加されています。

コアとなるコードの解説

AUTHORSファイル

このファイルは、Goプロジェクトの主要な作者や、プロジェクトの初期段階から重要な貢献をしてきた人々をリストアップしています。追加された行は、アルファベット順に並べられた既存の作者リストの中に挿入されています。

--- a/AUTHORS
+++ b/AUTHORS
@@ -116,6 +116,7 @@ Ken Rockot <ken@oz.gs>
 Kevin Ballard <kevin@sb.org>
 Kyle Consalus <consalus@gmail.com>
 Kyle Lemons <kyle@kylelemons.net>
+Lai Jiangshan <eag0628@gmail.com>
 Lorenzo Stoakes <lstoakes@gmail.com>
 Luca Greco <luca.greco@alcacoop.it>
 Lucio De Re <lucio.dere@gmail.com>

Lai Jiangshan <eag0628@gmail.com>という形式は、氏名とメールアドレスを組み合わせた標準的な形式です。

CONTRIBUTORSファイル

このファイルは、Goプロジェクトに様々な形で貢献した人々をリストアップしています。AUTHORSファイルと同様に、アルファベット順に並べられた既存の貢献者リストの中に新しい行が挿入されています。

--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -173,6 +173,7 @@ Kevin Ballard <kevin@sb.mcdonald@gmail.com>
 Kirklin McDonald <kirklin.mcdonald@gmail.com>
 Kyle Consalus <consalus@gmail.com>
 Kyle Lemons <kyle@kylelemons.net> <kevlar@google.com>
+Lai Jiangshan <eag0628@gmail.com>
 Larry Hosken <lahosken@golang.org>
 Lorenzo Stoakes <lstoakes@gmail.com>
 Louis Kruger <louisk@google.com>

ここでも、Lai Jiangshan <eag0628@gmail.com>という形式で情報が追加されています。

これらの変更は、Goプロジェクトの公式な記録として、Lai Jiangshan氏の貢献を永続的に残すためのものです。

関連リンク

  • GoプロジェクトのGitHubリポジトリ: https://github.com/golang/go
  • このコミットのGerrit変更リスト: https://golang.org/cl/5677046 (現在はGitHubにミラーされているため、直接アクセスしてもGitHubのコミットページにリダイレクトされる可能性がありますが、当時のレビュープロセスを示す重要な情報です。)

参考にした情報源リンク

  • Git公式ドキュメント: Gitのdiffコマンドやコミットの構造に関する基本的な情報。
  • Gerrit Code Review: Gerritの公式ドキュメントや、GoプロジェクトにおけるGerritの利用方法に関する情報。
  • オープンソースプロジェクトの貢献ガイドライン: 一般的なオープンソースプロジェクトにおける貢献者リストの管理方法やその意義に関する情報。