原文は英語で、これはその翻訳です。

あなた自身のソフトウェアにGNUライセンスを使う方法

これは、あるプログラムを、GNU一般公衆ライセンスGNU劣等一般公衆ライセンス、あるいはGNUアフェロ一般公衆ライセンスのもとに置く方法を簡潔に説明したものです。GNU自由文書ライセンスに関しては、別のページがあります。

より詳細な情報は、わたしたちのライセンスに関するよくある質問とその回答のリストをご覧ください。

GNU劣等一般公衆ライセンスを使うことを検討している場合、「あなたの次回のライブラリには劣等GPLを使うべきでない理由」の論説をまず読んでください。この論説は、代わりに普通のGPLを使うことが良いであろう理由について説明し、わたしたちがどのように決定するかについて述べています。

こちらが、わたしたちのライセンスのひとつで、あなたがプログラムをリリースするのに必要となることの簡潔なまとめです:

  • 著作権の否認を雇用主か学校から得る
  • それぞれのファイルに適切な著作権の告知を与えます。確実にユーザが利用できるライセンスのバージョンを明確に同定できるようにします。
  • COPYINGファイルをGNU GPLまたはGNU AGPLのコピーで加える。
  • また、COPYING.LESSERファイルをGNU LGPLのコピーで加える(LGPLの場合)。
  • ライセンスの告知をそれぞれのファイルに置く。
  • (オプションとして)プログラムが起動時の告知をするようにする。
  • (AGPLの場合)ソースコードのコピーをプログラムが提供するようにする。

ここでは、あなたのプログラムのそれぞれのソースファイルに二つの要素を加えることが伴います: 著作権表示 (“Copyright 1999 Terry Jones”のような)と、このプログラムはGNU一般公衆ライセンス(あるいは劣等GPL、もしくはアフェロGPL)の条項で配布されると述べる、コピーに関する許可の声明です。

あなたが個人の場合、そして雇用主があったり、学校で勉強しているなら、そのプログラムに関して著作権の否認に署名することを問い合わせることが賢明でしょう。そうしておけば、後で、著作権を保持しているのは雇用主/学校だ、または、プログラムをあなたがリリースする権利がないとは、主張できません。

こちらは、サンプルの著作権の否認です。名前、タイトル、そしてプログラムの記述を適切に変更してください:

Yoyodyne, Inc., hereby disclaims all copyright interest in the program “Woodpecker” (which makes passes at compilers) written by James Hacker. 日本語訳: Yododyne, Inc.は、James Hackerによる、プログラム “Woodpecker” (コンパイラにちょっかいを出します)のすべての著作権の権益に関して、ここに否認します。

Moe Ghoulの署名, 1 April 1989
Moe Ghoul, President of Vice

大学の学生の場合、抵抗を削減するため、プログラムを書く早い段階で否認を要求することをおすすめします。研究助手もしくは教育助手でないなら、大学はあなたの作品になんの著作権も主張できないでしょう。しかし、弁護士に聞いて確認しましょう。

仕事をしている場合、自由ソフトウェアをリリースしてよいかの許可を交渉する最適な時は雇用契約を交渉する時でしょう。

著作権表示はリリースの準備を終えた年を含むべきです(1998年に出来上がり、1999年まで発表しなかった場合、1998を使います)。それぞれの過去のリリースの適切な年を加えるべきです。たとえば、あるバージョンが1998年にできて、1999年にもいくつかできた場合、“Copyright 1998, 1999 Terry Jones”と、加えます。何人かの人々がコードを書くのを助けた場合、すべてのかれらの名前を使います。

複数の年に渡るいくつかのリリースのソフトウェアに対して、個別の年を挙げる(“2008, 2009, 2010”)代わりに範囲(“2008-2010”)を使うのは、範囲内のすべての年を範囲の始まりと終わりを含めてすべて「著作権がある」年として個別に挙げられる場合で、かつ、この使い方について明確な説明を文書に述べる場合に限って、構いません。

常に英語の言葉の“Copyright”を国際的慣習として使ってください。これは国際的に、ほかの言語のものでも使います。望みならば(そして文字セットがそれをサポートしていれば)、著作権マーク“©”を含めることも可能ですが、必須ではありません。3文字の列、“(C)”、を使うことは法律上なんの意味もありませんが、まったく害はありません。

同じライセンスの及ぶ、ほかのプログラムからコードをコピーしてきた場合、そのコピーライト表示もコピーします。そのファイルの上部に、そのファイルのすべての著作権表示を一緒に置きます。

ライセンスのファイル

あなたのプログラムの配布のどこかに、ライセンスそれ自身のコピーも含めるようにすべきです。すべてのプログラムは、GPLかLGPLのどちらでリリースされるにせよ、テキストバージョンのGPLを含めるべきです。GNUプログラムでは、わたしたちは通常COPYINGと呼ばれるファイルにライセンスを置きます。

GNU AGPLでプログラムをリリースする場合、GNU GPLの代わりにテキストバージョンのGNU AGPLを使います。

劣等GPLでプログラムをリリースする場合、テキストバージョンのLGPLを含めるべきです。通常、COPYING.LESSERと呼ばれるファイルです。LGPLはGPLの上に追加の許可のセットを加えたものですから、ユーザがかれらの権利を理解するのに必要なすべての資料を有するように両方のライセンスを含めることが重要であることに注意ください。

ライセンス告知

著作権表示のすぐ後に、それぞれのファイルのコピーの許可の文章(ライセンス告知とも呼ばれます)が来るべきです。一つのファイルのプログラムでは、(GPLのための)文章は、GPL バージョン3あるいは以降のバージョンを使うとして、以下のようになるべきです:

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.

一つより多いファイルのプログラムのためには、“this program”をプログラムの名前に変え、文章を“This file is part of NAME”と述べた行から始めるのが良いでしょう。たとえば、

This file is part of Foobar.

Foobar is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Foobar is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with Foobar. If not, see <https://www.gnu.org/licenses/>.

ことなるGPLのバージョンの集合を使うには、最初の長いパラグラフの最後を修正します。たとえば、バージョン2とそれ以降でライセンスするには、“3” を “2” で置き換えます。

この文章はすべてのソースファイルの先頭近く、著作権表示のそば、に来るべきです。劣等GPLを使うときは、3箇所すべてで“Lesser”を“General”の前に挿入します。GNU AGPLを使うときは、3箇所すべてで“Affero”を“General”の前に挿入します。

なぜライセンスの告知?

自由ソフトウェアのライセンスの目的は、そのプログラムのすべてのユーザに、ある権利を与えるということです。もし、ユーザにどんな権利が与えられるかが明確でない場合、その目的は成し得ません。わたしたちの慣習はどんな不確実性をも避けるように設計されています。

あるプログラムがライセンスFOOのコピーをソースファイルとならんで持つけれど、“This program is released under license FOO,” と明示的な言明がない場合、ライセンスFOOがプログラムのコードに適用されるのかどうかについて不確実性の余地が残ります。

そのリリースで、一つの言明、“This program is released under license FOO,” がREADMEファイルのような中心部分にある場合、状況はそのリリースについて明確です。しかしながら、プログラマは、しばしば、ソースファイルをひとつの自由なプログラムから別のものにコピーします。もし、あるソースファイルがそのライセンスがなんであるかについて何の言明もしていなければ、別の文脈に移動することでその点のすべての追跡は削除されてしまいます。これは混乱と間違いを引き起こします。

起動時の告知

インタラクティブなプログラムでは、起動時に著作権とコピーの許可の簡潔な告知を表示するようにするのが通常は良い考えでしょう。これに関するさらなる情報のためには、GNU GPLの最後をご覧ください。

アフェロの告知

GNU AGPLでプログラムをリリースする場合で、ネットワークを通じてユーザとやりとりできる場合、プログラムはそのソースをその利用者にある方法で提供するべきです。たとえば、プログラムがウェブアプリケーションの場合、そのインタフェースは“Source”リンクを表示し、ユーザにコードのアーカイブへと導くことができるでしょう。GNU AGPLは特定のプログラムのために選択できる方法に関して十分柔軟です。詳細は第13節をご覧ください。

そのほか

あなたに到達する方法の連絡先の情報を、おそらくREADMEファイルに、含めることが実用上、とても重要となります。しかし、これはライセンスを適用する法的問題にはなんら関係しません。

法的には著作権を誰かに登録する必要はまったくありません。単にそのプログラムを書くことにより著作権は与えられます。しかし、US Registry of Copyrights (合衆国著作権登録)に登録することはとても良い考えです。なぜなら、合衆国においてライセンスを侵害する誰かに対しより強い地位を得ることができるからです。ほとんどのほかの国では著作権登録のシステムはありません。

すべての自由ソフトウェアのプログラム、GPL (どのバージョンでも)でライセンスされるすべてのプログラムを含みます、を自由ソフトウェア・ディレクトリに掲載したいとわたしたちは考えています。有用である時点に到達したら、ぜひ、あなたのプログラムをエントリとして投稿してください。情報とオンライン提出フォームについて、ディレクトリのwikiをご覧ください。

あなたのプログラムを、GNUプロジェクトの一部、GNUパッケージとすることも可能です。GNUプロジェクトにこのような形で参加することに関心がある場合、GNUソフトウェア評価のページをご覧ください。さらなる情報と短い質問表があります。わたしたちは対応し、あなたとその件を議論します。

たとえ、あなたのプログラムがGNUパッケージでなくても、あなたがわたしたちのライセンスのどれかを使うことを歓迎します。実に、わたしたちはあなたがそうすることを希望します。わたしたちのライセンスはみんなが利用することができます。あなたがあるライセンスを使うことを宣伝したい場合、わたしたちのロゴを遠慮なく使ってください。