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

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

コミット

コミットハッシュ: 835dcb71aedf0c4a1cde5071830c5b4368693191
作成者: Russ Cox rsc@golang.org
日付: 2011年10月18日(火)13:56:51 -0400
コミットメッセージ: A+C: Jani Monoses (individual CLA)

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

https://github.com/golang/go/commit/835dcb71aedf0c4a1cde5071830c5b4368693191

元コミット内容

commit 835dcb71aedf0c4a1cde5071830c5b4368693191
Author: Russ Cox <rsc@golang.org>
Date:   Tue Oct 18 13:56:51 2011 -0400

    A+C: Jani Monoses (individual CLA)
    
    R=golang-dev, gri
    CC=golang-dev
    https://golang.org/cl/5297043

AUTHORS      | 1 +
CONTRIBUTORS | 1 +
2 files changed, 2 insertions(+)

変更の背景

このコミットは、Go言語プロジェクトにおける新しいコントリビューター(貢献者)の承認を表しています。2011年当時、Googleのオープンソースプロジェクトでは、コントリビューターが貢献する前に個人貢献者使用許諾契約(Individual Contributor License Agreement、CLA)への同意が必要でした。

このコミットは、Jani Monoses氏がGo言語プロジェクトに対してCLAに同意し、正式にコントリビューターとして承認されたことを記録しています。「A+C」は「AUTHORS + CONTRIBUTORS」の略で、該当者の名前が両方のファイルに追加されることを意味しています。

前提知識の解説

貢献者使用許諾契約(CLA)について

CLAは、知的財産がプロジェクトに貢献される際の条件を定義する法的文書です。これは著作権の譲渡ではなく、プロジェクトの運営者(この場合はGoogle)に対して、貢献されたコードを使用・配布する権限を与えるものです。CLAの主な目的は:

  1. プロジェクトの運営者が選択したライセンスの下で配布するための必要な権利を確保すること
  2. 貢献者が自身の貢献に対して適切な権限を持っていることを確認すること
  3. 法的な問題を回避し、オープンソースプロジェクトの持続可能性を確保すること

AUTHORSファイルとCONTRIBUTORSファイル

2011年当時、Go言語プロジェクトでは以下の2つのファイルが維持されていました:

  • AUTHORSファイル: 著作権者をリストアップするファイル
  • CONTRIBUTORSファイル: Go言語プロジェクトに貢献できる(または貢献した)人々の公式リスト

CONTRIBUTORSファイルは、適切なCLAに同意したことを確認した後にのみ名前が追加されました。Googleの従業員は通常CONTRIBUTORSファイルにはリストされますが、AUTHORSファイルには含まれません。これは、Googleが著作権を保有するためです。

現在の状況

2022年において、Googleのオープンソース法務チームは、ソースコード管理履歴が同じ目的を果たすことに合意し、これらのファイルを削除することを許可しました。現在、ほとんどのオープンソースプロジェクトはCONTRIBUTORSファイルを維持していません。

技術的詳細

コミットの構造

このコミットは管理的な変更であり、実際のコード変更は含まれていません。変更内容は:

  1. AUTHORSファイルに1行追加(+1)
  2. CONTRIBUTORSファイルに1行追加(+1)
  3. 合計2ファイルの変更、2行の追加

レビューシステム

コミットメッセージには以下のレビュー情報が含まれています:

  • R=golang-dev, gri: レビュアーとして golang-dev メーリングリストと gri(Robert Griesemer)が指定
  • CC=golang-dev: CCとしてgolang-devメーリングリストが指定
  • https://golang.org/cl/5297043: 変更リストのURL

これは、Go言語プロジェクトで使用されていたGerritコードレビューシステムの記録です。

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

このコミットでは実際のコード変更はありませんが、以下の2つのファイルが変更されました:

  1. AUTHORSファイル: 1行追加(Jani Monoses氏の名前)
  2. CONTRIBUTORSファイル: 1行追加(Jani Monoses氏の名前)

コアとなるコードの解説

Jani Monoses氏について

Jani Monoses氏は、以下のような背景を持つ開発者です:

  • Ubuntu関連の貢献: Xubuntuの初期リリースを主導し、Ubuntu 6.06 Dapper Drakeの公式リリースに貢献
  • Canonicalでの勤務: UbuntuのメンテナンスやUbuntu Touch開発に関与
  • Go言語関連の活動: UbuntuでのGoパッケージングや、Go言語を使用したアプリケーション開発

個人CLA(Individual CLA)の意義

個人CLAは、以下の特徴を持ちます:

  1. 個人レベルでの合意: 雇用関係ではなく、個人としてのコントリビューション
  2. 権利の保持: 貢献者は自身の貢献に対する権利を放棄しない
  3. 使用許可: プロジェクトに対して貢献内容の使用・配布権限を付与

Go言語プロジェクトの管理体制

2011年当時のGo言語プロジェクトでは、以下のような厳格な管理体制が敷かれていました:

  1. 法的要件: すべてのコントリビューターはCLAへの同意が必要
  2. 記録の維持: AUTHORSとCONTRIBUTORSファイルでの明示的な記録
  3. レビュープロセス: Gerritを使用したコードレビューシステム
  4. 透明性: 変更履歴とレビュー記録の公開

関連リンク

参考にした情報源リンク