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

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

このコミットは、GoプロジェクトのAUTHORSファイルとCONTRIBUTORSファイルに新しい貢献者「申习之 (Shen Xizhi)」を追加するものです。これらのファイルは、プロジェクトに貢献した個人を記録するために使用されます。AUTHORSファイルは著作権の帰属を示すことが多く、CONTRIBUTORSファイルはコードベースに貢献したすべての個人をリストアップします。

コミット

このコミットは、Goプロジェクトに新たな個人貢献者である「申习之 (bronze1man@gmail.com)」を追加するものです。これは、彼が個人のContributor License Agreement (CLA) に署名したことを示すものであり、addcaツールによって自動生成されました。

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

https://github.com/golang/go/commit/9a960042877ced51ac1337dfd82423a130310890

元コミット内容

commit 9a960042877ced51ac1337dfd82423a130310890
Author: Brad Fitzpatrick <bradfitz@golang.org>
Date:   Mon Feb 3 09:52:03 2014 +0100

    A+C: 申习之 (individual CLA)
    
    Generated by addca.
    
    TBR=iant
    R=gobot
    CC=golang-codereviews
    https://golang.org/cl/59550044
---
 AUTHORS      | 1 +
 CONTRIBUTORS | 1 +
 2 files changed, 2 insertions(+)

diff --git a/AUTHORS b/AUTHORS
index 804c17979f..069b8fd346 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -382,3 +382,4 @@ Yuusei Kuwana <kuwana@kumama.org>
 Yuval Pavel Zholkover <paulzhol@gmail.com>
 Ziad Hatahet <hatahet@gmail.com>
 Zorion Arrizabalaga <zorionk@gmail.com>
+申习之 <bronze1man@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 9b029332a7..87a8543ae5 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -528,3 +528,4 @@ Yuval Pavel Zholkover <paulzhol@gmail.com>
 Yves Junqueira <yves.junqueira@gmail.com>
 Ziad Hatahet <hatahet@gmail.com>
 Zorion Arrizabalaga <zorionk@gmail.com>
+申习之 <bronze1man@gmail.com>

変更の背景

オープンソースプロジェクト、特にGoogleが主導するGoのような大規模プロジェクトでは、知的財産権の管理が非常に重要です。貢献者ライセンス同意書(CLA: Contributor License Agreement)は、貢献者がその貢献に対する著作権をプロジェクトの所有者(この場合はGoogle)に付与し、プロジェクトがそのコードを自由に利用、配布、ライセンスすることを保証するための法的な取り決めです。

このコミットは、新しい貢献者がGoプロジェクトにコードを提出する前に、個人のCLAに署名したことを記録するために行われました。AUTHORSおよびCONTRIBUTORSファイルに名前を追加することは、その個人が正式にプロジェクトの貢献者コミュニティの一員として認識されたことを意味します。これにより、プロジェクトは将来的にコードのライセンスや再配布に関して法的な問題が発生しないことを保証できます。

前提知識の解説

Contributor License Agreement (CLA)

CLAは、オープンソースプロジェクトにおいて、貢献者がそのコードに対する著作権をプロジェクトの所有者または特定の団体に譲渡、あるいは非独占的な利用権を付与するための法的な文書です。Goプロジェクトの場合、Googleがプロジェクトの主要な管理者であるため、貢献者はGoogleに対してCLAに署名します。これにより、Googleは貢献されたコードをGoプロジェクトのライセンス(通常はBSDライセンス)の下で配布する権利を得ます。CLAは、プロジェクトのコードベース全体の著作権の明確性を保ち、将来的なライセンス変更や商業利用の可能性を確保するために不可欠です。

AUTHORS および CONTRIBUTORS ファイル

  • AUTHORS: このファイルは、プロジェクトの主要な作者や、著作権を保持する個人または団体をリストアップします。Goプロジェクトの場合、Googleが主要な著作権者ですが、個々の貢献者も自身の貢献部分に対する著作権を保持しつつ、CLAを通じてプロジェクトに利用を許諾します。
  • CONTRIBUTORS: このファイルは、プロジェクトにコード、ドキュメント、その他の形で貢献したすべての個人をリストアップします。これは、コミュニティの努力を認識し、感謝を示すためのものです。

これらのファイルは、プロジェクトの透明性と法的な健全性を維持するために重要な役割を果たします。

Goプロジェクトのコードレビュープロセス (TBR, R, CC, CL)

Goプロジェクトでは、 Gerrit を使用した厳格なコードレビュープロセスが採用されています。コミットメッセージに含まれる以下のフィールドは、このプロセスに関連するものです。

  • TBR (To Be Reviewed by): このコミットがレビューされるべきレビュアーを示します。この場合はiant(Ian Lance Taylor)です。
  • R (Reviewer): このコミットをレビューしたレビュアーを示します。この場合はgobot(自動化されたボット)が初期チェックを行ったことを示唆しています。
  • CC (Carbon Copy): このコミットに関する通知を受け取るべき追加のメーリングリストや個人を示します。golang-codereviewsは、Goプロジェクトのコードレビューに関する議論が行われるメーリングリストです。
  • https://golang.org/cl/59550044: これは、Gerrit上の変更リスト(Change List)へのリンクです。Goプロジェクトでは、すべての変更はGerrit上でレビューされ、承認されてからメインリポジトリにマージされます。

addca ツール

addcaは、Goプロジェクト内部で使用されるツールで、新しい貢献者がCLAに署名した際に、その情報をAUTHORSおよびCONTRIBUTORSファイルに自動的に追加するために設計されています。このツールは、手動でのファイル編集ミスを防ぎ、プロセスを効率化することを目的としています。コミットメッセージの「Generated by addca.」という記述は、このコミットが手動ではなく、このツールによって生成されたものであることを示しています。

技術的詳細

このコミット自体は、Go言語のランタイムやライブラリの機能に直接的な変更を加えるものではありません。その技術的詳細は、主にオープンソースプロジェクトのガバナンスと知的財産管理の側面に関連しています。

  1. 自動化された貢献者管理: addcaツールの使用は、Goプロジェクトが貢献者管理プロセスを自動化していることを示しています。これは、大規模なオープンソースプロジェクトにおいて、手作業によるエラーを減らし、効率を向上させるための一般的なプラクティスです。CLAの署名が確認されると、このツールが関連するファイルを更新し、貢献者の名前とメールアドレスを正確に記録します。
  2. ファイルの構造: AUTHORSCONTRIBUTORSファイルは、単純なテキストファイルであり、各行に貢献者の名前とメールアドレスが記述されています。このシンプルな構造は、ツールの処理を容易にし、人間が読みやすい形式を維持します。
  3. コミットのメタデータ: コミットメッセージに含まれるTBR, R, CC, CLといった情報は、Goプロジェクトの厳格な開発ワークフローの一部です。これらのメタデータは、変更がどのようにレビューされ、誰によって承認されたか、そしてGerrit上のどの変更リストに対応するかを追跡するために使用されます。これは、プロジェクトの透明性と説明責任を保証するために重要です。

このコミットは、Goプロジェクトがその成長と法的な健全性を維持するために、バックエンドでどのような管理プロセスが実行されているかを示す良い例です。

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

このコミットによる変更は、以下の2つのファイルに対するものです。

  1. AUTHORSファイルへの追加:

    --- a/AUTHORS
    +++ b/AUTHORS
    @@ -382,3 +382,4 @@ Yuusei Kuwana <kuwana@kumama.org>
     Yuval Pavel Zholkover <paulzhol@gmail.com>
     Ziad Hatahet <hatahet@gmail.com>
     Zorion Arrizabalaga <zorionk@gmail.com>
    +申习之 <bronze1man@gmail.com>
    
  2. CONTRIBUTORSファイルへの追加:

    --- a/CONTRIBUTORS
    +++ b/CONTRIBUTORS
    @@ -528,3 +528,4 @@ Yuval Pavel Zholkover <paulzhol@gmail.com>
     Yves Junqueira <yves.junqueira@gmail.com>
     Ziad Hatahet <hatahet@gmail.com>
     Zorion Arrizabalaga <zorionk@gmail.com>
    +申习之 <bronze1man@gmail.com>
    

コアとなるコードの解説

上記の変更箇所は、AUTHORSファイルとCONTRIBUTORSファイルの末尾に、新しい行として「申习之 bronze1man@gmail.com」というエントリを追加していることを示しています。

  • AUTHORSファイルへの追加は、申习之氏がGoプロジェクトの著作権に関する取り決め(CLA)に同意し、その貢献が正式に認められたことを意味します。
  • CONTRIBUTORSファイルへの追加は、申习之氏がGoプロジェクトに貢献を行った、または今後行う予定の個人として公式にリストアップされたことを意味します。

これらの変更は、Goプロジェクトのコードベースに直接的な機能変更をもたらすものではなく、プロジェクトの管理と法的な側面を更新するためのものです。これは、新しい貢献者がプロジェクトに参加する際の標準的な手続きの一部であり、プロジェクトの健全な運営を維持するために不可欠なステップです。

関連リンク

参考にした情報源リンク

  • Goプロジェクトの公式ドキュメント
  • オープンソースプロジェクトにおけるCLAの一般的な概念に関する情報
  • Gerritの利用方法に関する一般的な情報
  • コミットメッセージの慣習に関する一般的な情報

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

このコミットは、GoプロジェクトのAUTHORSファイルとCONTRIBUTORSファイルに新しい貢献者「申习之 (Shen Xizhi)」を追加するものです。これらのファイルは、プロジェクトに貢献した個人を記録するために使用されます。AUTHORSファイルは著作権の帰属を示すことが多く、CONTRIBUTORSファイルはコードベースに貢献したすべての個人をリストアップします。

コミット

このコミットは、Goプロジェクトに新たな個人貢献者である「申习之 (bronze1man@gmail.com)」を追加するものです。これは、彼が個人のContributor License Agreement (CLA) に署名したことを示すものであり、addcaツールによって自動生成されました。

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

https://github.com/golang/go/commit/9a960042877ced51ac1337dfd82423a130310890

元コミット内容

commit 9a960042877ced51ac1337dfd82423a130310890
Author: Brad Fitzpatrick <bradfitz@golang.org>
Date:   Mon Feb 3 09:52:03 2014 +0100

    A+C: 申习之 (individual CLA)
    
    Generated by addca.
    
    TBR=iant
    R=gobot
    CC=golang-codereviews
    https://golang.org/cl/59550044
---
 AUTHORS      | 1 +
 CONTRIBUTORS | 1 +
 2 files changed, 2 insertions(+)

diff --git a/AUTHORS b/AUTHORS
index 804c17979f..069b8fd346 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -382,3 +382,4 @@ Yuusei Kuwana <kuwana@kumama.org>
 Yuval Pavel Zholkover <paulzhol@gmail.com>
 Ziad Hatahet <hatahet@gmail.com>
 Zorion Arrizabalaga <zorionk@gmail.com>
+申习之 <bronze1man@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 9b029332a7..87a8543ae5 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -528,3 +528,4 @@ Yuval Pavel Zholkover <paulzhol@gmail.com>
 Yves Junqueira <yves.junqueira@gmail.com>
 Ziad Hatahet <hatahet@gmail.com>
 Zorion Arrizabalaga <zorionk@gmail.com>
+申习之 <bronze1man@gmail.com>

変更の背景

オープンソースプロジェクト、特にGoogleが主導するGoのような大規模プロジェクトでは、知的財産権の管理が非常に重要です。貢献者ライセンス同意書(CLA: Contributor License Agreement)は、貢献者がその貢献に対する著作権をプロジェクトの所有者(この場合はGoogle)に付与し、プロジェクトがそのコードを自由に利用、配布、ライセンスすることを保証するための法的な取り決めです。

このコミットは、新しい貢献者がGoプロジェクトにコードを提出する前に、個人のCLAに署名したことを記録するために行われました。AUTHORSおよびCONTRIBUTORSファイルに名前を追加することは、その個人が正式にプロジェクトの貢献者コミュニティの一員として認識されたことを意味します。これにより、プロジェクトは将来的にコードのライセンスや再配布に関して法的な問題が発生しないことを保証できます。

前提知識の解説

Contributor License Agreement (CLA)

CLAは、オープンソースプロジェクトにおいて、貢献者がそのコードに対する著作権をプロジェクトの所有者または特定の団体に譲渡、あるいは非独占的な利用権を付与するための法的な文書です。Goプロジェクトの場合、Googleが主要な管理者であるため、貢献者はGoogleに対してCLAに署名します。これにより、Googleは貢献されたコードをGoプロジェクトのライセンス(通常はBSDライセンス)の下で配布する権利を得ます。CLAは、プロジェクトのコードベース全体の著作権の明確性を保ち、将来的なライセンス変更や商業利用の可能性を確保するために不可欠です。

AUTHORS および CONTRIBUTORS ファイル

  • AUTHORS: このファイルは、プロジェクトの主要な作者や、著作権を保持する個人または団体をリストアップします。Goプロジェクトの場合、Googleが主要な著作権者ですが、個々の貢献者も自身の貢献部分に対する著作権を保持しつつ、CLAを通じてプロジェクトに利用を許諾します。
  • CONTRIBUTORS: このファイルは、プロジェクトにコード、ドキュメント、その他の形で貢献したすべての個人をリストアップします。これは、コミュニティの努力を認識し、感謝を示すためのものです。

これらのファイルは、プロジェクトの透明性と法的な健全性を維持するために重要な役割を果たします。

Goプロジェクトのコードレビュープロセス (TBR, R, CC, CL)

Goプロジェクトでは、 Gerrit を使用した厳格なコードレビュープロセスが採用されています。コミットメッセージに含まれる以下のフィールドは、このプロセスに関連するものです。

  • TBR (To Be Reviewed by): このコミットがレビューされるべきレビュアーを示します。この場合はiant(Ian Lance Taylor)です。
  • R (Reviewer): このコミットをレビューしたレビュアーを示します。この場合はgobot(自動化されたボット)が初期チェックを行ったことを示唆しています。
  • CC (Carbon Copy): このコミットに関する通知を受け取るべき追加のメーリングリストや個人を示します。golang-codereviewsは、Goプロジェクトのコードレビューに関する議論が行われるメーリングリストです。
  • https://golang.org/cl/59550044: これは、Gerrit上の変更リスト(Change List)へのリンクです。Goプロジェクトでは、すべての変更はGerrit上でレビューされ、承認されてからメインリポジトリにマージされます。

addca ツール

addcaは、Goプロジェクト内部で使用されるツールで、新しい貢献者がCLAに署名した際に、その情報をAUTHORSおよびCONTRIBUTORSファイルに自動的に追加するために設計されています。このツールは、手動でのファイル編集ミスを防ぎ、プロセスを効率化することを目的としています。コミットメッセージの「Generated by addca.」という記述は、このコミットが手動ではなく、このツールによって生成されたものであることを示しています。

技術的詳細

このコミット自体は、Go言語のランタイムやライブラリの機能に直接的な変更を加えるものではありません。その技術的詳細は、主にオープンソースプロジェクトのガバナンスと知的財産管理の側面に関連しています。

  1. 自動化された貢献者管理: addcaツールの使用は、Goプロジェクトが貢献者管理プロセスを自動化していることを示しています。これは、大規模なオープンソースプロジェクトにおいて、手作業によるエラーを減らし、効率を向上させるための一般的なプラクティスです。CLAの署名が確認されると、このツールが関連するファイルを更新し、貢献者の名前とメールアドレスを正確に記録します。
  2. ファイルの構造: AUTHORSCONTRIBUTORSファイルは、単純なテキストファイルであり、各行に貢献者の名前とメールアドレスが記述されています。このシンプルな構造は、ツールの処理を容易にし、人間が読みやすい形式を維持します。
  3. コミットのメタデータ: コミットメッセージに含まれるTBR, R, CC, CLといった情報は、Goプロジェクトの厳格な開発ワークフローの一部です。これらのメタデータは、変更がどのようにレビューされ、誰によって承認されたか、そしてGerrit上のどの変更リストに対応するかを追跡するために使用されます。これは、プロジェクトの透明性と説明責任を保証するために重要です。

このコミットは、Goプロジェクトがその成長と法的な健全性を維持するために、バックエンドでどのような管理プロセスが実行されているかを示す良い例です。

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

このコミットによる変更は、以下の2つのファイルに対するものです。

  1. AUTHORSファイルへの追加:

    --- a/AUTHORS
    +++ b/AUTHORS
    @@ -382,3 +382,4 @@ Yuusei Kuwana <kuwana@kumama.org>
     Yuval Pavel Zholkover <paulzhol@gmail.com>
     Ziad Hatahet <hatahet@gmail.com>
     Zorion Arrizabalaga <zorionk@gmail.com>
    +申习之 <bronze1man@gmail.com>
    
  2. CONTRIBUTORSファイルへの追加:

    --- a/CONTRIBUTORS
    +++ b/CONTRIBUTORS
    @@ -528,3 +528,4 @@ Yuval Pavel Zholkover <paulzhol@gmail.com>
     Yves Junqueira <yves.junqueira@gmail.com>
     Ziad Hatahet <hatahet@gmail.com>
     Zorion Arrizabalaga <zorionk@gmail.com>
    +申习之 <bronze1man@gmail.com>
    

コアとなるコードの解説

上記の変更箇所は、AUTHORSファイルとCONTRIBUTORSファイルの末尾に、新しい行として「申习之 bronze1man@gmail.com」というエントリを追加していることを示しています。

  • AUTHORSファイルへの追加は、申习之氏がGoプロジェクトの著作権に関する取り決め(CLA)に同意し、その貢献が正式に認められたことを意味します。
  • CONTRIBUTORSファイルへの追加は、申习之氏がGoプロジェクトに貢献を行った、または今後行う予定の個人として公式にリストアップされたことを意味します。

これらの変更は、Goプロジェクトのコードベースに直接的な機能変更をもたらすものではなく、プロジェクトの管理と法的な側面を更新するためのものです。これは、新しい貢献者がプロジェクトに参加する際の標準的な手続きの一部であり、プロジェクトの健全な運営を維持するために不可欠なステップです。

関連リンク

参考にした情報源リンク

  • Goプロジェクトの公式ドキュメント
  • オープンソースプロジェクトにおけるCLAの一般的な概念に関する情報
  • Gerritの利用方法に関する一般的な情報
  • コミットメッセージの慣習に関する一般的な情報