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

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

このコミットは、Goプロジェクトの貢献者リストに新しい個人、Shivakumar GN氏を追加するものです。具体的には、AUTHORSファイルとCONTRIBUTORSファイルに彼の名前とメールアドレスが追記されています。これは、彼がGoプロジェクトへの貢献を開始するにあたり、個人の貢献者ライセンス契約(Individual CLA)を締結したことを示しています。

コミット

commit 93cf366d50fc3b98f98cfb88c33430077be49724
Author: Brad Fitzpatrick <bradfitz@golang.org>
Date:   Mon Sep 24 09:49:31 2012 -0700

    A+C: Add Shivakumar GN (Individual CLA)
    
    R=golang-dev, rsc
    CC=golang-dev
    https://golang.org/cl/6541062

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

https://github.com/golang/go/commit/93cf366d50fc3b98f98cfb88c33430077be49724

元コミット内容

A+C: Add Shivakumar GN (Individual CLA)

R=golang-dev, rsc CC=golang-dev https://golang.org/cl/6541062

変更の背景

この変更の背景には、Shivakumar GN氏がGoプロジェクトにコードやドキュメントなどの貢献を行う準備が整ったことがあります。オープンソースプロジェクト、特にGoogleが関与するような大規模プロジェクトでは、貢献者が知的財産権に関する問題をクリアにするために、貢献者ライセンス契約(CLA)への署名を求めることが一般的です。このコミットは、Shivakumar GN氏が個人のCLAを締結したことを受けて、彼を正式な貢献者リストに追加する手続きの一環として行われました。これにより、彼の将来の貢献がプロジェクトにスムーズに統合されるようになります。

前提知識の解説

AUTHORSファイルとCONTRIBUTORSファイル

多くのオープンソースプロジェクトでは、プロジェクトに貢献した人々を記録するために特定のファイルを使用します。GoプロジェクトにおけるAUTHORSファイルとCONTRIBUTORSファイルもその一例です。

  • AUTHORSファイル: 主にプロジェクトの主要な作者や、著作権を持つ個人・団体をリストアップするために使用されます。これは法的な側面を持つことが多く、プロジェクトの著作権表示に関連する場合があります。
  • CONTRIBUTORSファイル: プロジェクトに何らかの形で貢献したすべての個人をリストアップするために使用されます。これには、コードの寄稿者だけでなく、ドキュメントの作成者、バグ報告者、テスター、翻訳者など、幅広い貢献者が含まれることがあります。

これらのファイルは、プロジェクトの透明性を高め、貢献者への感謝を示す役割も果たします。

貢献者ライセンス契約 (Contributor License Agreement, CLA)

CLAは、オープンソースプロジェクトに貢献する個人または団体と、プロジェクトの所有者(または管理団体)との間で締結される法的な合意です。CLAの主な目的は以下の通りです。

  1. 知的財産権の明確化: 貢献されたコードやコンテンツの著作権が誰に帰属するか、またはプロジェクトがその貢献物をどのように使用、配布、ライセンスできるかを明確にします。これにより、将来的な著作権侵害の訴訟リスクを軽減します。
  2. ライセンスの再配布: プロジェクトが将来的にライセンスモデルを変更する際に、貢献されたコードを新しいライセンスの下で再配布する権利を確保します。
  3. プロジェクトの健全性維持: プロジェクトのコードベースが、法的な問題なく自由に利用・配布できる状態を維持するために不可欠です。

Googleが管理する多くのオープンソースプロジェクト(Goも含む)では、貢献を行う前にCLAへの署名が義務付けられています。CLAには「個人CLA」と「法人CLA」があり、このコミットでは「Individual CLA」と明記されているため、Shivakumar GN氏が個人として契約を締結したことを意味します。

技術的詳細

このコミットは、Goプロジェクトの貢献者管理プロセスの一部です。新しい貢献者がプロジェクトにコードを提出する前に、通常、以下のステップが踏まれます。

  1. CLAの締結: 貢献者は、プロジェクトのCLAに署名します。これは通常、オンラインフォームを通じて行われ、法的な拘束力を持つ電子署名または物理的な署名が必要です。
  2. CLAの確認: プロジェクトの管理者は、CLAが適切に締結されたことを確認します。
  3. 貢献者リストへの追加: CLAの確認が完了した後、その貢献者の名前と連絡先情報がAUTHORSおよびCONTRIBUTORSファイルに追加されます。これは、彼らが正式にプロジェクトの貢献者として認識されたことを示すものです。

このコミットは、上記のステップ3に該当します。AUTHORSCONTRIBUTORSファイルは、プロジェクトのソースコードリポジトリ内にプレーンテキストファイルとして存在し、Gitのバージョン管理下で管理されます。したがって、新しい貢献者を追加する際には、これらのファイルを直接編集し、その変更をコミットとしてプッシュする必要があります。

コミットメッセージのR=golang-dev, rscCC=golang-devは、この変更がGoプロジェクトのレビュープロセスを経たことを示しています。R=はレビュー担当者(Reviewer)を、CC=はカーボンコピー(Carbon Copy)の対象を示し、golang-devはGo開発者メーリングリストを指します。rscは、Goの主要開発者の一人であるRuss Cox氏のイニシャルです。これは、Goプロジェクトにおける標準的なコードレビューと承認のワークフローに従っていることを意味します。

https://golang.org/cl/6541062は、この変更がGerrit(Goプロジェクトが使用するコードレビューシステム)上のチェンジリスト(Change-List)として提出されたことを示しています。Gerritは、Gitリポジトリと連携して、コードの変更提案、レビュー、承認、そして最終的なマージを管理するためのツールです。

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

diff --git a/AUTHORS b/AUTHORS
index 656923eb24..a1043506d5 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -212,6 +212,7 @@ Sergey 'SnakE'  Gromov <snake.scaly@gmail.com>
 Sergio Luis O. B. Correia <sergio@larces.uece.br>
 Shawn Smith <shawn.p.smith@gmail.com>
 Shenghou Ma <minux.ma@gmail.com>
+Shivakumar GN <shivakumar.gn@gmail.com>
 Spring Mc <heresy.mc@gmail.com>
 Stefan Nilsson <snilsson@nada.kth.se> <trolleriprofessorn@gmail.com>
 Stéphane Travostino <stephane.travostino@gmail.com>
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 6823eeb06c..9647dbcac8 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -307,6 +307,7 @@ Sergey 'SnakE' Gromov <snake.scaly@gmail.com>
 Sergio Luis O. B. Correia <sergio@larces.uece.br>
 Shawn Smith <shawn.p.smith@gmail.com>
 Shenghou Ma <minux.ma@gmail.com>
+Shivakumar GN <shivakumar.gn@gmail.com>
 Spring Mc <heresy.mc@gmail.com>
 Stefan Nilsson <snilsson@nada.kth.se> <trolleriprofessorn@gmail.com>
 Stéphane Travostino <stephane.travostino@gmail.com>

コアとなるコードの解説

上記のdiff出力は、AUTHORSファイルとCONTRIBUTORSファイルに対する変更を示しています。

  • AUTHORSファイルへの変更:

    • @@ -212,6 +212,7 @@ は、ファイルの212行目から6行が変更され、結果として7行になったことを示します。
    • +Shivakumar GN <shivakumar.gn@gmail.com> の行が追加されています。これは、Shivakumar GN氏の名前とメールアドレスがAUTHORSファイルに追記されたことを意味します。
  • CONTRIBUTORSファイルへの変更:

    • @@ -307,6 +307,7 @@ は、ファイルの307行目から6行が変更され、結果として7行になったことを示します。
    • +Shivakumar GN <shivakumar.gn@gmail.com> の行が追加されています。同様に、Shivakumar GN氏の名前とメールアドレスがCONTRIBUTORSファイルに追記されたことを意味します。

この変更は非常にシンプルで、既存のリストに新しいエントリを1行追加するだけです。これは、新しい貢献者がプロジェクトの公式な記録に追加されたことを明確に示しています。

関連リンク

参考にした情報源リンク

  • コミットデータ (./commit_data/13925.txt)
  • オープンソースプロジェクトにおけるAUTHORSおよびCONTRIBUTORSファイルの一般的な慣習
  • 貢献者ライセンス契約(CLA)に関する一般的な知識
  • Goプロジェクトの貢献ガイドライン(一般的な知識に基づく)
  • Gerritコードレビューシステムに関する一般的な知識