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

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

このコミットは、GoプロジェクトのAUTHORSファイルとCONTRIBUTORSファイルに新しいエントリを追加するものです。具体的には、Marko Tiikkaja <marko@joh.to>というエントリが追加されています。

コミット

commit 54f39c997bb5824065cb17b605ba9dcff3094988
Author: Brad Fitzpatrick <bradfitz@golang.org>
Date:   Mon Dec 16 12:48:12 2013 -0800

    A+C: Marko Tiikkaja (individual CLA)
    
    Generated by addca.
    
    R=gobot
    CC=golang-dev
    https://golang.org/cl/41940044

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

https://github.com/golang/go/commit/54f39c997bb5824065cb17b605ba9dcff3094988

元コミット内容

このコミットの元々の内容は、AUTHORSファイルとCONTRIBUTORSファイルにMarko Tiikkaja <marko@joh.to>という行を追加することです。コミットメッセージには「A+C: Marko Tiikkaja (individual CLA)」とあり、これは「AUTHORSとCONTRIBUTORSにMarko Tiikkajaを追加(個人CLA)」を意味しています。また、「Generated by addca.」とあることから、addcaというツールによって自動生成されたコミットであることが示唆されています。

変更の背景

この変更の背景には、オープンソースプロジェクトにおける貢献者ライセンス同意書(CLA: Contributor License Agreement)の概念があります。Goプロジェクトのような大規模なオープンソースプロジェクトでは、プロジェクトのコードベースに貢献するすべての開発者に対して、その貢献がプロジェクトのライセンス(Goの場合はBSDライセンス)の下で適切に利用・配布されることを保証するためにCLAへの署名を求めることが一般的です。

Marko Tiikkaja氏がGoプロジェクトに何らかの貢献(コード、ドキュメント、バグ報告など)を行うにあたり、その貢献を受け入れる前にCLAに署名したため、その記録として氏の名前がAUTHORSおよびCONTRIBUTORSファイルに追加されました。addcaというツールは、CLAの署名が確認された際にこれらのファイルを自動的に更新するために使用されたと考えられます。

前提知識の解説

  • AUTHORSファイル: このファイルは、プロジェクトにコードを直接書いた、または実質的な知的貢献をした個人のリストを保持します。これは、プロジェクトの著作権表示や、貢献者の認識のために使用されることがあります。
  • CONTRIBUTORSファイル: このファイルは、コードの貢献だけでなく、ドキュメントの作成、バグ報告、テストの作成、レビュー、コミュニティサポートなど、プロジェクトに何らかの形で貢献したすべての個人のリストを保持します。AUTHORSよりも広範な貢献者を対象とします。
  • 貢献者ライセンス同意書 (CLA: Contributor License Agreement): CLAは、オープンソースプロジェクトに貢献する個人または団体と、プロジェクトの所有者(この場合はGoogle)との間で締結される法的な合意です。CLAに署名することで、貢献者は自身の貢献がプロジェクトのライセンスの下で利用されることを許可し、プロジェクト所有者はその貢献をプロジェクトに組み込む権利を得ます。これにより、プロジェクトの知的財産権の管理が明確になり、将来的なライセンス問題を防ぐことができます。Googleが管理する多くのオープンソースプロジェクト(例: Chromium, Android, Go)でCLAが採用されています。
  • addca: コミットメッセージに「Generated by addca.」とあることから、これはCLAの署名プロセスを管理し、署名が完了した貢献者を自動的にAUTHORSCONTRIBUTORSファイルに追加するための内部ツールであると推測されます。

技術的詳細

このコミット自体に複雑な技術的変更は含まれていません。単にテキストファイルであるAUTHORSCONTRIBUTORSに新しい行が追加されただけです。

  • AUTHORSファイルへの追加:

    --- a/AUTHORS
    +++ b/AUTHORS
    @@ -215,6 +215,7 @@ Lucio De Re <lucio.dere@gmail.com>
     Luit van Drongelen <luitvd@gmail.com>
     Marco Hennings <marco.hennings@freiheit.com>
     Marko Juhani Silokunnas <marko.silokunnas@gmail.com>
    +Marko Tiikkaja <marko@joh.to>
     Markus Duft <markus.duft@salomon.at>
     Markus Sonderegger <marraison@gmail.com>
     Martin Neubauer <m.ne@gmx.net>
    

    この差分は、AUTHORSファイルの215行目付近にMarko Tiikkaja <marko@joh.to>という行が追加されたことを示しています。

  • CONTRIBUTORSファイルへの追加:

    --- a/CONTRIBUTORS
    +++ b/CONTRIBUTORS
    @@ -319,6 +319,7 @@ Marco Hennings <marco.hennings@freiheit.com>
     Mark Zavislak <zavislak@google.com>
     Marko Juhani Silokunnas <marko.silokunnas@gmail.com>
     Marko Mikulicic <mkm@google.com>
    +Marko Tiikkaja <marko@joh.to>
     Markus Duft <markus.duft@salomon.at>
     Markus Sonderegger <marraison@gmail.com>
     Martin Neubauer <m.ne@gmx.net>
    

    同様に、CONTRIBUTORSファイルの319行目付近にも同じ行が追加されています。

これらのファイルは、プロジェクトの歴史と貢献者を追跡するための重要なメタデータとして機能します。

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

このコミットにおけるコアとなるコードの変更箇所は、以下の2つのファイルへの行追加です。

  • AUTHORS
  • CONTRIBUTORS

コアとなるコードの解説

変更されたのは、GoプロジェクトのルートディレクトリにあるプレーンテキストファイルであるAUTHORSCONTRIBUTORSです。これらのファイルは、プロジェクトのソースコードの一部ではありませんが、プロジェクトの管理と法的な側面において重要な役割を果たします。

  • AUTHORS: このファイルは、Goプロジェクトの主要な開発者や、著作権表示に含めるべき主要な貢献者を列挙しています。
  • CONTRIBUTORS: このファイルは、Goプロジェクトに何らかの形で貢献したすべての個人を列挙しています。これには、コードの貢献だけでなく、ドキュメント、テスト、バグ報告、レビューなど、幅広い貢献が含まれます。

これらのファイルに名前が追加されることは、Marko Tiikkaja氏がGoプロジェクトの正式な貢献者として認識され、その貢献がプロジェクトのライセンスの下で適切に扱われる準備が整ったことを意味します。

関連リンク

参考にした情報源リンク

  • GoプロジェクトのGitHubリポジトリ内のコミット履歴
  • 一般的なオープンソースプロジェクトにおけるCLAの概念に関する情報(例: Wikipedia, 各プロジェクトの貢献ガイドライン)
  • Google DevelopersのCLAに関する公式ドキュメント