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

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

このコミットは、Goプロジェクトのmisc/dashboard/codereviewディレクトリ配下にあるGoソースファイル群に、著作権表示を追加するものです。具体的には、cl.gofront.gogc.gomail.gopeople.goの5つのファイルに、Go Authorsによる2012年の著作権とBSDスタイルのライセンスに関する記述が追加されています。

コミット

commit 7a77645aa8f297b78ba0b297d6d50871d1d1ad05
Author: Andrew Gerrand <adg@golang.org>
Date:   Thu May 3 09:22:45 2012 +1000

    misc/dashboard/codereview: add copyright notices to Go files
    
    R=golang-dev, dsymonds
    CC=golang-dev
    https://golang.org/cl/6177043

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

https://github.com/golang/go/commit/7a77645aa8f297b78ba0b297d6d5081d1d1ad05

元コミット内容

misc/dashboard/codereview: add copyright notices to Go files
    
R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/6177043

変更の背景

このコミットの背景には、オープンソースプロジェクトにおける著作権の明確化と、ライセンス情報の適切な表示という一般的なプラクティスがあります。Goプロジェクトはオープンソースであり、そのコードベースは多くの貢献者によって支えられています。このような環境では、プロジェクトの知的財産権を保護し、利用者がコードの利用条件を容易に理解できるようにすることが重要です。

具体的には、misc/dashboard/codereviewはGoプロジェクトのコードレビューダッシュボードに関連するコードであり、これらのファイルに著作権表示が欠けていた可能性があります。著作権表示を追加することで、以下の目的が達成されます。

  1. 著作権の明確化: コードの著作権者が誰であるかを明示し、知的財産権を保護します。
  2. ライセンスの遵守促進: コードがどのライセンスの下で利用可能であるかを明確に示し、利用者がライセンス条件を遵守するよう促します。特に、BSDライセンスのような許可的ライセンスの場合でも、ライセンス条項の遵守は重要です。
  3. 法的な保護: 万が一、著作権侵害が発生した場合に、著作権者の権利を主張するための基礎となります。
  4. プロジェクトの信頼性向上: 適切な著作権表示は、プロフェッショナルなソフトウェア開発の証であり、プロジェクトの信頼性を高めます。

前提知識の解説

著作権表示は、作品の著作権が誰に帰属するかを示す短い文言です。一般的に、以下の要素を含みます。

  • © または Copyright シンボル: 著作権を意味する記号。
  • 発行年: 作品が最初に公開された年、または著作権が主張される年。
  • 著作権者の名前: 個人名、会社名、または団体名。

ソフトウェアにおいては、通常、ソースコードファイルの冒頭にコメント形式で記述されます。これにより、コードを閲覧する誰もが、そのコードの著作権情報を容易に確認できます。

BSDライセンス (Berkeley Software Distribution License)

BSDライセンスは、オープンソースライセンスの一種で、非常に許可的(permissive)なライセンスとして知られています。これは、ソフトウェアの利用、改変、再配布を比較的自由に認めるもので、GPL(GNU General Public License)のようなコピーレフト(copyleft)ライセンスとは対照的です。

BSDライセンスの主な特徴は以下の通りです。

  • 自由な利用: 商用利用、非商用利用を問わず、自由にソフトウェアを利用できます。
  • 自由な改変: ソースコードを自由に改変できます。
  • 自由な再配布: 改変の有無にかかわらず、ソフトウェアを自由に再配布できます。
  • 帰属表示の義務: 再配布の際に、元の著作権表示、ライセンス条項、免責事項を含めることが義務付けられています。これが、今回のコミットで著作権表示が追加された理由の一つです。
  • 派生作品のライセンス: 派生作品に異なるライセンスを適用することが可能です。これは、BSDライセンスで提供されたコードを、より制限的なライセンスの商用ソフトウェアに組み込むことができることを意味します。

Go言語自体もBSDスタイルのライセンス(具体的には、3-Clause BSD Licenseの変種)の下で提供されており、このコミットで追加された著作権表示もそれに準拠しています。

技術的詳細

このコミットは、Goソースコードファイルにコメント形式で著作権表示を追加するという、比較的単純な変更です。しかし、その技術的な意味合いは重要です。

Go言語のソースコードは、通常、ファイルの冒頭にパッケージ宣言があります。このコミットでは、パッケージ宣言の前に著作権表示のコメントが挿入されています。

// Copyright 2012 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

package dashboard

この形式は、Go言語のツールチェイン(コンパイラ、リンターなど)に影響を与えることなく、人間が読みやすい形で著作権情報を提示するための標準的な方法です。

追加された著作権表示は、以下の2行で構成されています。

  1. // Copyright 2012 The Go Authors. All rights reserved.

    • //: Go言語における単一行コメントの開始。
    • Copyright 2012: 著作権が2012年に発生したことを示します。
    • The Go Authors.: 著作権者が「The Go Authors」であることを示します。これは、Goプロジェクトに貢献する開発者コミュニティ全体を指します。
    • All rights reserved.: 著作権者がすべての権利を保有していることを宣言します。
  2. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file.

    • この2行は、このソースコードがBSDスタイルのライセンスの下で利用可能であることを示し、そのライセンスの全文がプロジェクトのルートディレクトリにあるLICENSEファイルに記載されていることを明示しています。これは、BSDライセンスの「帰属表示の義務」を満たすための一般的な方法です。利用者は、この記述を見ることで、コードの利用条件をすぐに把握し、詳細なライセンス情報を確認するためにLICENSEファイルを参照することができます。

この変更は、コードの機能には一切影響を与えませんが、法的な側面とプロジェクトの管理において重要な意味を持ちます。特に、オープンソースプロジェクトでは、ライセンスの明確化はコミュニティの健全な発展と、企業などによる利用を促進するために不可欠です。

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

以下の5つのGoファイルに、それぞれ4行の著作権表示が追加されています。変更内容はすべてのファイルで同一です。

  1. misc/dashboard/codereview/dashboard/cl.go
  2. misc/dashboard/codereview/dashboard/front.go
  3. misc/dashboard/codereview/dashboard/gc.go
  4. misc/dashboard/codereview/dashboard/mail.go
  5. misc/dashboard/codereview/dashboard/people.go

例として、cl.goの変更箇所を示します。

--- a/misc/dashboard/codereview/dashboard/cl.go
+++ b/misc/dashboard/codereview/dashboard/cl.go
@@ -1,3 +1,7 @@
+// Copyright 2012 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
 package dashboard
 
 // This file handles operations on the CL entity kind.

各ファイルの冒頭、既存のパッケージ宣言の前に、以下の4行が追加されています。

// Copyright 2012 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

コアとなるコードの解説

追加されたコードは、Go言語の単一行コメント(//)で記述された著作権表示です。

  • // Copyright 2012 The Go Authors. All rights reserved.

    • この行は、このソースコードの著作権が2012年に「The Go Authors」に帰属し、すべての権利が留保されていることを宣言しています。これは、著作権法に基づく基本的な権利主張です。
  • // Use of this source code is governed by a BSD-style

    • この行は、このソースコードの利用が「BSDスタイルのライセンス」によって規定されていることを示しています。
  • // license that can be found in the LICENSE file.

    • この行は、具体的なライセンス条項がプロジェクトのルートディレクトリにあるLICENSEファイルに記載されていることを利用者に案内しています。これにより、利用者はライセンスの詳細を容易に確認できます。

これらの行は、コードの実行には影響を与えませんが、法的な情報提供として非常に重要です。オープンソースソフトウェアの配布において、著作権とライセンス情報を明確にすることは、プロジェクトの透明性を高め、利用者が安心してコードを使用できるようにするために不可欠な要素です。

関連リンク

参考にした情報源リンク