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

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

このコミットは、GoプロジェクトのAUTHORSファイルとCONTRIBUTORSファイルに、新しい貢献者であるDuncan Holm氏を追加するものです。これは、彼が個人のContributor License Agreement (CLA)に署名したことを示すものです。

コミット

commit 6a7e0036d16009f5146a8e22f6b91e0cc4788431
Author: Andrew Gerrand <adg@golang.org>
Date:   Thu Apr 4 16:35:29 2013 +1100

    A+C: Duncan Holm (individual CLA)
    
    Generated by addca.
    
    R=gobot
    CC=golang-dev
    https://golang.org/cl/8357043

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

https://github.com/golang/go/commit/6a7e0036d16009f5146a8e22f6b91e0cc4788431

元コミット内容

A+C: Duncan Holm (individual CLA)

Generated by addca.

R=gobot
CC=golang-dev
https://golang.org/cl/8357043

変更の背景

オープンソースプロジェクト、特にGoogleが主導するGoのような大規模なプロジェクトでは、知的財産権の管理が非常に重要です。貢献者がコードを提出する際に、プロジェクトに対してそのコードを使用、配布、変更する権利を付与することを保証するために、Contributor License Agreement (CLA)への署名を求めることが一般的です。

このコミットは、Duncan Holm氏がGoプロジェクトに貢献するために必要な個人のCLAに署名したことを記録するために行われました。CLAに署名した貢献者の名前は、通常、プロジェクトのAUTHORSファイルやCONTRIBUTORSファイルに追記されます。これにより、プロジェクトの貢献者リストが正確に保たれ、法的な透明性が確保されます。

前提知識の解説

Contributor License Agreement (CLA)

CLAは、個人または企業がオープンソースプロジェクトに貢献する際に、その貢献に対するライセンスをプロジェクトの所有者(この場合はGoogle)に付与するための法的な合意書です。これにより、プロジェクトの所有者は、貢献されたコードを自由に利用、配布、再ライセンスできるようになり、将来的なライセンス問題や著作権侵害のリスクを軽減できます。Goプロジェクトのような大規模なオープンソースプロジェクトでは、多くの貢献者からのコードを受け入れるため、CLAはプロジェクトの健全な運営に不可欠な要素となっています。

AUTHORSファイルとCONTRIBUTORSファイル

多くのオープンソースプロジェクトでは、プロジェクトに貢献した人々の名前を記録するために、AUTHORSファイルやCONTRIBUTORSファイルが使用されます。

  • AUTHORSファイル: 主にプロジェクトの主要な作者や、著作権を保持する個人や組織の名前が記載されます。
  • CONTRIBUTORSファイル: プロジェクトに何らかの形で貢献したすべての個人の名前が記載されます。これには、コードの寄稿者だけでなく、ドキュメントの作成者、バグ報告者、テスターなども含まれる場合があります。

これらのファイルは、プロジェクトの透明性を高め、貢献者への適切なクレジットを付与する役割を果たします。

addcaツール

コミットメッセージに「Generated by addca」とあることから、addcaはおそらくCLAに署名した貢献者を自動的にAUTHORSCONTRIBUTORSファイルに追加するための内部ツールであると推測されます。このような自動化ツールは、大規模なプロジェクトで多数の貢献者を効率的に管理するために使用されます。

Gerrit Code Review (R=, CC=, golang.org/cl/)

コミットメッセージにあるR=gobotCC=golang-devhttps://golang.org/cl/8357043は、GoプロジェクトがコードレビューにGerritを使用していることを示しています。

  • R= (Reviewer): コードレビューを依頼するレビュアーを示します。ここではgobotが指定されていますが、これは自動化されたレビューボットである可能性があります。
  • CC= (Carbon Copy): レビュー通知を送信する追加の受信者を示します。golang-devはGo開発者メーリングリストを指していると考えられます。
  • https://golang.org/cl/8357043: Gerritの変更リスト(Change-ID)へのリンクです。このリンクを辿ることで、このコミットに関連するコードレビューの議論や履歴を確認できます。

技術的詳細

このコミットは、Goプロジェクトのソースコードリポジトリ内の2つのテキストファイル、AUTHORSCONTRIBUTORSを修正しています。変更内容は非常にシンプルで、Duncan Holm氏の名前とメールアドレスをそれぞれのファイルに追加しています。

コミットメッセージの「A+C: Duncan Holm (individual CLA)」は、彼が個人のCLAに署名したことを簡潔に示しています。これは、Goプロジェクトが貢献を受け入れるための標準的なプロセスの一部です。

addcaツールによって生成されたという記述は、この変更が手動で行われたものではなく、CLA署名プロセスの一部として自動的に行われたことを示唆しています。これにより、人為的なミスを防ぎ、一貫性を保つことができます。

Gerritのレビュー情報(R=gobot, CC=golang-dev, https://golang.org/cl/8357043)は、この変更が通常のコードレビュープロセスを経て承認されたことを示しています。gobotがレビュアーとして指定されていることから、CLA関連の変更は自動化されたチェックによって承認されることが多いと推測できます。

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

このコミットによって変更されたファイルは以下の2つです。

  1. AUTHORS
  2. CONTRIBUTORS

それぞれのファイルに対する変更は以下の通りです。

AUTHORSファイル:

--- a/AUTHORS
+++ b/AUTHORS
@@ -88,6 +88,7 @@ Devon H. O'Dell <devon.odell@gmail.com>
 Dmitry Chestnykh <dchest@gmail.com>
 Dominik Honnef <dominik.honnef@gmail.com>
 Donovan Hide <donovanhide@gmail.com>
+Duncan Holm <mail@frou.org>
 Dustin Shields-Cloues <dcloues@gmail.com>
 Eden Li <eden.li@gmail.com>
 Egon Elbre <egonelbre@gmail.com>

CONTRIBUTORSファイル:

--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -144,6 +144,7 @@ Dmitriy Vyukov <dvyukov@google.com>
 Dmitry Chestnykh <dchest@gmail.com>
 Dominik Honnef <dominik.honnef@gmail.com>
 Donovan Hide <donovanhide@gmail.com>
+Duncan Holm <mail@frou.org>
 Dustin Shields-Cloues <dcloues@gmail.com>
 Eden Li <eden.li@gmail.com>
 Egon Elbre <egonelbre@gmail.com>
@@ -198,8 +199,8 @@ James Gray <james@james4k.com>
 James Meneghello <rawrz0r@gmail.com>
 James P. Cooper <jamespcooper@gmail.com>
 James Toy <nil@opensesame.st>
-James Whitehead <jnwhiteh@gmail.com>
 James Tucker <raggi@google.com>
+James Whitehead <jnwhiteh@gmail.com>
 Jamie Gennis <jgennis@google.com> <jgennis@gmail.com>
 Jan H. Hosang <jan.hosang@gmail.com>
 Jan Mercl <befelemepeseveze@gmail.com>

コアとなるコードの解説

AUTHORSファイルへの追加

AUTHORSファイルでは、88行目の後に+Duncan Holm <mail@frou.org>という行が追加されています。これは、Duncan Holm氏がGoプロジェクトの作者の一人として正式に認識されたことを意味します。

CONTRIBUTORSファイルへの追加と修正

CONTRIBUTORSファイルでは、144行目の後に+Duncan Holm <mail@frou.org>という行が追加されています。これは、彼がGoプロジェクトに貢献した人物としてリストに追加されたことを意味します。

また、CONTRIBUTORSファイルでは、James Whitehead <jnwhiteh@gmail.com>というエントリが一度削除され、その後同じ内容で再度追加されています。これは、diffの表示上の都合(行の移動や、前後の行の変更によるコンテキストの再計算)でこのように見えるだけで、実質的な変更はDuncan Holm氏の追加のみである可能性が高いです。もしaddcaのようなツールがファイルをソートして出力する場合、新しいエントリが追加されたことで既存のエントリの順序がわずかに変更され、その結果としてこのようなdiffが生成されることがあります。

全体として、このコミットはGoプロジェクトの貢献者リストを最新の状態に保ち、法的な要件を満たすためのルーティンワークの一部です。

関連リンク

Web検索ツールが利用できないため、関連する外部リンクを提供できません。

参考にした情報源リンク

Web検索ツールが利用できないため、参考にした情報源リンクを提供できません。