[インデックス 14502] ファイルの概要
このコミットは、GoプロジェクトのCONTRIBUTORS
ファイルに新しい貢献者であるJonathan Hseu氏を追加するものです。これは、goprotobuf
プロジェクトの貢献者情報がGo本体の貢献者情報に統合されるプロセスの一環として行われました。
コミット
commit d729be730f34a087245721c5e490bf70b1425432
Author: Brad Fitzpatrick <bradfitz@golang.org>
Date: Mon Nov 26 21:21:07 2012 -0800
CONTRIBUTORS: Add Jonathan Hseu (Google CLA)
Part of merging goprotobuf's A+C into Go's.
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/6844096
GitHub上でのコミットページへのリンク
https://github.com/golang/go/commit/d729be730f34a087245721c5e490bf70b1425432
元コミット内容
CONTRIBUTORS: Add Jonathan Hseu (Google CLA)
Part of merging goprotobuf's A+C into Go's.
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/6844096
変更の背景
このコミットは、Go言語の公式Protobuf実装であるgoprotobuf
(当時は独立したプロジェクトだった可能性が高い)の貢献者リストを、Go本体のCONTRIBUTORS
ファイルに統合するプロセスの一環として行われました。
Goプロジェクトでは、貢献者がコードを提出する前に、Contributor License Agreement (CLA) に署名することが求められます。これは、プロジェクトの知的財産権を保護し、将来的なライセンス変更や再配布に関する問題を回避するために重要です。Jonathan Hseu氏がgoprotobuf
プロジェクトに貢献しており、その貢献がGo本体にマージされるにあたり、Goプロジェクトの正式な貢献者としてCONTRIBUTORS
ファイルに追加される必要がありました。
コミットメッセージにある「Part of merging goprotobuf's A+C into Go's.」という記述は、goprotobuf
の「Authors and Contributors (A+C)」リストがGoプロジェクトのそれと統合されることを示唆しています。これは、Go言語の標準ライブラリやエコシステムの一部としてProtobufサポートがより密接に統合される動きの一環であったと考えられます。
前提知識の解説
Go言語プロジェクトの貢献者ライセンス合意 (CLA)
Go言語プロジェクトは、Googleによって開始され、現在もGoogleが主要な貢献者となっています。オープンソースプロジェクトにおいて、特に企業が主導するプロジェクトでは、貢献者からの知的財産権の移転またはライセンス供与を明確にするためにCLA(Contributor License Agreement)を求めることが一般的です。
- CLA (Contributor License Agreement): 貢献者がその貢献物に対する著作権をプロジェクトの所有者(この場合はGoogle)に譲渡するか、または非独占的なライセンスを供与することに同意する法的な文書です。これにより、プロジェクトの所有者は、貢献されたコードを自由に利用、変更、再配布する権利を確保し、将来的なライセンス問題(例えば、プロジェクトのライセンスを変更する際に、過去のすべての貢献者から再同意を得る必要がなくなるなど)を防ぐことができます。Goプロジェクトの場合、Google CLAへの署名が求められます。
CONTRIBUTORS
ファイル
多くのオープンソースプロジェクトでは、プロジェクトに貢献した人々の名前をリストアップしたファイル(通常はAUTHORS
やCONTRIBUTORS
といった名前)を保持しています。このファイルは、プロジェクトへの貢献を公式に認識し、感謝を示す目的で作成されます。GoプロジェクトのCONTRIBUTORS
ファイルも同様の目的で存在し、CLAに署名し、コードを貢献した個人の名前が記載されています。
goprotobuf
goprotobuf
は、GoogleのProtocol Buffers(Protobuf)データシリアライゼーションフォーマットをGo言語で扱うためのライブラリです。Protobufは、構造化されたデータをシリアライズするための言語に依存しない、プラットフォームに依存しない、拡張可能なメカニズムです。XMLよりも小さく、速く、シンプルです。当初、goprotobuf
は独立したリポジトリで開発されていた可能性がありますが、Go言語の成長とともに、ProtobufサポートはGoの標準的なツールチェインやエコシステムに深く統合されていきました。このコミットは、その統合プロセスの一環として、貢献者情報の整理が行われたことを示しています。
技術的詳細
このコミットの技術的な詳細は非常にシンプルです。GoプロジェクトのルートディレクトリにあるCONTRIBUTORS
というテキストファイルに、新しい行を追加するだけです。
- ファイルパス:
CONTRIBUTORS
- 変更内容:
Jonathan Hseu <jhseu@google.com>
という行が、既存の貢献者リストの適切なアルファベット順の位置に挿入されています。
この変更自体はコードの動作に影響を与えるものではなく、プロジェクトのメタデータの一部を更新するものです。しかし、このような変更は、プロジェクトのガバナンス、知的財産管理、および貢献者への認識という点で重要な意味を持ちます。
コアとなるコードの変更箇所
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -198,6 +198,7 @@ John Graham-Cumming <jgc@jgc.org> <jgrahamc@gmail.com>
Jonathan Allie <jonallie@google.com>
Jonathan Feinberg <feinberg@google.com>
Jonathan Gold <jgold.bg@gmail.com>
+Jonathan Hseu <jhseu@google.com>
Jonathan Mark <jhmark@xenops.com> <jhmark000@gmail.com>\
Jonathan Pittman <jmpittman@google.com> <jonathan.mark.pittman@gmail.com>
Jonathan Wills <runningwild@gmail.com>
コアとなるコードの解説
上記の差分は、CONTRIBUTORS
ファイルに対する変更を示しています。
-
で始まる行は削除された行、+
で始まる行は追加された行を示します。@@ -198,6 +198,7 @@
は、変更がファイルの198行目から始まり、元のファイルでは6行が、変更後では7行が影響を受けることを示しています。
具体的には、Jonathan Gold <jgold.bg@gmail.com>
の行の直後に、Jonathan Hseu <jhseu@google.com>
という新しい行が追加されています。これは、Jonathan Hseu氏がGoプロジェクトの正式な貢献者として認識され、その名前が貢献者リストに記載されたことを意味します。
関連リンク
- GoプロジェクトのCLAに関する情報: https://go.dev/doc/contribute#cla
- Google CLAに関する情報: https://cla.developers.google.com/
参考にした情報源リンク
- GoプロジェクトのGitHubリポジトリ: https://github.com/golang/go
- Google Contributor License Agreement (CLA) の一般的な情報
- Protocol Buffers 公式サイト: https://protobuf.dev/
- Go Protobufに関するドキュメント: https://pkg.go.dev/google.golang.org/protobuf (現在のGoにおけるProtobufライブラリ)
- コミットメッセージ内のGo CLリンク: https://golang.org/cl/6844096 (GoのGerritコードレビューシステムへのリンク)