1. Qiita
  2. 投稿
  3. ライセンス

ライセンスの選択を恐れる必要はありません

  • 1897
    いいね
  • 9
    コメント
この記事は最終更新日から1年以上が経過しています。

この記事はCC BY 3.0に基いて公開されてゐるWebサイトChoosing an OSS license doesn’t need to be scary - ChooseALicense.comのコンテンツ各ページを翻訳し、単一記事として再構成、訳者による補足を追加したものです。

はじめに

(訳註: この「はじめに」及び末尾の「訳者による補足」の章は原文にはなく、翻訳者(@tadsan)によるものです。記事の著作権表示及び元Webサイトの利用規約、免責事項、そしてこの記事についての訳者の見解について記します)

Creative Commons Attribution 3.0 Unported License

(この記事の一部または全て ——ただしコメント欄は含まれない—— はCC BY 3.0に則る限り、自由に利用することができます。翻訳と「はじめに」「訳註」については独自の著作権は主張しません。改竄しても二次利用は独自の責任にて行ってください。)

Please consult a legal expert before adopting a software license for your project.
This site is licensed under the Creative Commons Attribution 3.0 Unported License.

Demystified with <3 by GitHub, Inc.

元サイトには利用規約としてTerms of Service - ChooseALicense.comが存在します。この利用規約の有効性及び有効範囲について、訳者(@tadsan)は 言及しません。参考として、見出しのみを抜萃し、()内に訳者による参考訳を補ひました。

Terms of Service - ChooseALicense.com

  1. Introduction (はじめに)
  2. Agreement to the Terms (規約に同意すること)
  3. No legal advice is being provided (法的な助言をするものではない)
  4. DISCLAIMER OF WARRANTIES (保証の抛棄)
  5. LIMITATION OF LIABILITY (責任の制限)
  6. Indemnification for breach of the Terms (規約違反の補償)
  7. Termination of this Agreement (契約の終了)
  8. Miscellaneous Terms (雑則)

この記事において「ライセンス」とは、特に断りのない限りはフリーソフトウェア(自由ソフトウェア)・オープンソースライセンスと呼ばれる形態のライセンスのことです(FLOSS - Wikipedia)。

もとのWebサイト(creativecommons.org)及びこの翻訳記事は、あなたに 法的な助言 を与へるものではありません。ライセンス問題及び各ライセンスが日本及び外国の法律・条約・条例に基いて有効・適法な契約であるかについては、必ず弁護士などの法律専門家の判断を仰いでください。上記の "Term of Service" の解釈についても同様とします。

翻訳は直訳よりは日本語として解釈しやすいように意訳してあります。原文との見解の相違がないように注意して訳しますが、英語及びライセンスへの認識の差により、原文と矛盾した意味になってしまってゐるリスクもあります。 (訳註: から始まる文章は、訳者(@tadsan)が 独自の見解により 本文の内容を註釈・補足するものです。

筆者は翻訳及び訳註により原文と異った意味に改変することを望まないので、もし誤訳及びライセンス見解の誤り、その他ミスなどを発見した場合には訳者(@tadsan)にコメントなどでフィードバックをいただけると幸ひです。

翻訳にあたって法律の専門家や法律智識を持った翻訳家の助言を受けたものではありません。また、この記事はあくまでライセンス原文を解釈し、要約を試みたものなので、優先されるべきは常に原文です。 (本記事のみならず、ほかの翻訳・ライセンス解説についても同様に解釈するべきです)

繰り返しますが、この記事は専門家による法律判断ではありません。法律問題への対処には専門家によるアドバイスを受けてください。元サイト及び本記事を参考にしたことで受けた全ての利益・損害について、原著者及び翻訳者は一切の権利・責任を負ひません。

(以下より記事本文です)


どれがあなたの状況をよく表しますか?

「シンプルで、寛容にしたい」 - The MIT License (MIT)

(訳註: MITライセンスは短いため、全文を転載します)

The MIT License (MIT)

Copyright (c) [year] [fullname]

Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

MITライセンスは短くポイントを押さへた、寛容なライセンスです。あなた(作者)の名前を示し、作者に一切の責任を求めない限り、好きなように扱ふことを許します。

jQueryRails はMITライセンスを採用してゐます。

MIT License
必須事項 ライセンスと著作権の表示
許可されること 商用利用、修正、配布、派生作品に別のライセンスを課す
禁止事項 作者に責任を求めること

「特許について心配がある」 - Apacheライセンス Version 2.0

(訳註: ライセンス全文は分量があるため、著作権表示・要約部と正文へのリンクを掲載します)

Copyright {yyyy} {name of copyright owner}

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Apache(v2)ライセンスは、MITライセンスに似た寛容なライセンスですが、貢献者(作者)から利用者への特許権の許可を明確にします。

Apache HTTPサーバSubversionNuGet はApacheライセンスを使用してゐます。

Apache v2 License
必須事項 ライセンスと著作権の表示、変更点を示すこと
許可されること 商用利用、修正、配布、特許の利用許可、派生物に別のライセンスを課すこと
禁止事項 商標の利用、作者に責任を求めること

「改善は共有したい」 - GNU General Public License Version 2 or 3

(訳註: 以下はGPLv3の著作権表示・要約部です)

{one line to give the program's name and a brief idea of what it does.}
Copyright (C) {year} {name of author}

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 [http://www.gnu.org/licenses/].

GPL(バージョン2またはバージョン3)は、あなたの作品またはその派生物(改造された作品)の配布に、必ず利用可能なソースコードと同一条件(GPLでの配布)を要求する「コピーレフトライセンス」です。バージョン3はバージョン2に似てゐますが、ソフトウェアの改変を禁止するハードウェアでの利用に制限があります。

LinuxGit 、そして WordPress はGPLを採用してゐます。

GPL v2
必須事項 ライセンスと著作権の表示、変更点を示すこと、ソースコードの開示
許可されること 商用利用、修正、配布、特許の利用許可
禁止事項 作者に責任を求めること、別のライセンスを課すこと

ほかのライセンス

Affero GPL

(訳註: このライセンスは、ネットワーク経由の利用者にもソースコードを提供することを要求する)

Affero GPL
必須事項 ライセンスと著作権の表示、変更点を示すこと、ソースコードの開示
許可されること 商用利用、修正、配布、特許の利用許可
禁止事項 作者に責任を要求することはできない、別のライセンスを課すこと

No License

あなた(作者)がすべての権利を保持し、配布・複製・派生物(改造)を許可しません。サービスの受諾条件を必要とするサイトにソースコードを公開することによって、いくつかの権利を付与することができます。

たとへば、GitHubで公開することによって、ほかの人はあなたのソースコードを表示し、フォークできる権利を与へたことになります。

(訳注: 要するに、GitHubでライセンスを明示しないソースコードは自動的にこの状態に置かれるといふことです。この状態では作者が著作権を持ち、利用者にライセンス(許諾)は与へられてゐません。ただし、GitHubのサービス利用規約により、ソースコードの閲覧とリポジトリのフォークは保証されてゐます。それ以外の利用は原作者が権利を持つ通常の著作物として取り扱ふ必要があります)

No License
必須事項 ライセンスと著作権の表示
許可されること 個人利用、商用利用
禁止事項 修正(改造)、配布、別のライセンスを課すこと

Mozilla Public License

Mozilla Public License(MPL 2.0)はMozilla財団によってメインテナンスされてゐます。このライセンスは寛容なBSDライセンスと互恵的なGPLライセンスの和解を試みます。

MPL 2.0
必須事項 ソースコードの開示、ライセンスと著作権の表示
許可されること 商用利用、修正、配布、派生物に別のライセンスを課す、特許の利用
禁止事項 作者に責任を要求すること、商標の利用

BSDライセンス(2条項)

寛容ライセンスには「2条項BSDライセンス」と「3条項BSDライセンス」といふ変種があります。どちらもMITライセンスに似てゐますが、微妙な差異があります。

BSD 2-Clause license
必須事項 ライセンスと著作権の表示
許可されること 商用利用、修正、配布、派生物に別の条件を課すことができる
禁止事項 作者に責任を要求すること

GNU Lesser General Public License Version 3

LGPLは、GPLv3に追加して使用されるライセンス(追加的条項)です。GPLでライセンスされた作品から派生した作品は同じライセンスである必要があります。しかしLGPLは、ライブラリとして使用されたときにこの制限に該当しないようになります。

(訳註: ライブラリとは、ほかのプログラムから手続き(函数)などとして呼び出されるプログラムのことです。プログラムからライブラリを取り込むことを「リンク」と呼びますが、ビルド時に一つの実行バイナリとして結合することを「静的リンク (static link)」、実行時にバイナリ形式にコンパイルされたライブラリを読み込むことを「動的リンク (dynamic link)」と呼びます。このうち、あるソフトウェアAからライブラリBを静的リンクすると、GPLでは「AはBの派生作品」であると見做され、Bの全てのソースコードをGPLとして公開する義務が生じます。LGPLはこれを避け、動的リンクされた場合でも派生作品とすることを強制しません)

LGPL v3
必須事項 ライセンスと著作権の表示、ライブラリとして使用すること、ソースコードの開示
許可されること 商用利用、修正、配布、別のライセンスを課すこと、特許の利用許可
禁止事項 作者に責任を求めること

Artistic License 2.0

このライセンスは、とくにプログラミング言語 Perl の利用者に好まれます。

Artistic License 2.0
必須事項 ライセンスと著作権の表示、変更点を示すこと、ソースコードの開示
許可されること 商用利用、修正、配布、個人利用
禁止事項 作者に責任を求めること、別のライセンスを課すこと、 (訳註: 派生バージョンを同じ名前で公開すること)

(訳註: このライセンスには、要約すると「改変バージョンをインストールすることで標準バージョンの利用を妨げないこと、そのために標準バージョンと異なる名前をつけなければならない」(4-a)といふ条項が含まれます)

GNU Lesser General Public License Version 2.1

LGPLは主にソフトウェアライブラリに利用されます。派生作品は同じ条件でライセンスされる必要がありますが、リンクするだけの利用においてはその制約を課しません。

LGPL v2.1
必須事項 ライセンスと著作権の表示、ライブラリとして使用すること、ソースコードの開示
許可されること 商用利用、修正、配布、別のライセンスを課すこと、個人利用
禁止事項 作者に責任を求めること

Eclipse Public License v1.0

Eclipse財団のソフトウェアに使用されてゐるライセンスです。このライセンスにはいくつかの互恵的な要求を含みます。

EPL v1.0
必須事項 ライセンスと著作権の表示、ソースコードの開示
許可されること 商用利用、配布、修正、個人利用、別のライセンスを課すこと、特許の利用許可
禁止事項 作者に責任を求めること

BSDライセンス(3条項)

BSD (3-Clause) License
必須事項 ライセンスと著作権の表示
許可されること 商用利用、修正、配布、派生物に別の条件を課すことができる
禁止事項 作者に責任を要求すること、商標の利用

GPL v3

(訳註: コピーレフトとは、作品の著作権と許諾によって永続的に利用者に自由を提供するための手法です。コピーレフトライセンスは改変された二次著作物を公開する際に同一条件を継承することを求めます。これによって改変されたバージョンも全てソースコードが開示され、皆で共有してよりよく改良していく自由が未来まで保障されます。一方でMITなどのライセンスは著作権表示などを削除しなければソースコードを開示する義務がないので、善意によって開示されなければどんな改良も独占することができます)

GPLは最も広く採用されてゐるフリーソフトウェアライセンスで、強力なコピーレフト要件があります。派生作品を配布するときには元の作品と同じライセンスでソースコードを利用可能にする必要があります。

GPL v3
必須事項 ライセンスと著作権の表示、変更点を示すこと、ソースコードの開示
許可されること 商用利用、修正、配布、特許の利用
禁止事項 作者に責任を求めること、別のライセンスを課すこと

パブリックドメイン(Unlicense)

(訳註: パブリックドメインとは、ある著作物(作品)著作権が誰にもなく、その著作物を誰もが自由に扱って良い状態のことを指す)

多くの国で、著作権は自動的に付与されます。Unlicenseはあなたが書いたソフトウェアの著作権を抛棄し、パブリックドメインであることを明確に表明するための文章のテンプレートです。Unlicenseのテンプレートを使用して、著作権を完全に抛棄することができます。また、(MIT/X11ライセンスに由来する)無保証である旨を宣言する文章も含まれてゐます。

(訳註: ライセンスを明示せずに公開したプログラムや匿名で公開したプログラムが、勝手にパブリックドメインとなることはありません。なぜなら著作権は自動で発生し、匿名で公開されると利用者は権利者を特定して許諾を得ることが非常に困難になるからです。「著作権を主張しないから煮るなり焼くなり好き勝手に扱って良い」といふ場合は、Unlicenseのようなテンプレートを使用して著作権を抛棄してください。また、作者の名前だけは残して欲しい場合にはMITライセンスなどの、非常に寛容なライセンスを採用してください)

(Unlicense)
必須事項 (なし)
許可されること 商用利用、修正、配布、別のライセンスを課すこと
禁止事項 作者に責任を要求することはできない

(翻訳による内容は、ここまで)

訳者による補足

補足1. ライセンスを宣言する方法

最善の方法はソースコードすべてにライセンスを明示することです。

そして、README などと同じディレクトリに LICENSE.txt または COPYING などのファイルを用意して、そこにライセンスの本文や要約をコピーします。

ライセンスの本文の上部に Copyright (c) [year] [fullname] のような形式の穴埋めテンプレートがある場合は、そこ「だけ」を現在の年と自分の名前に変更します。いくつかのライセンスは、本文を「改変しない限り再配布して良い」と許諾してゐること、そして不用意に本文を変更したり条件を追加することで利用者に混乱をきたすことがその理由です。

GitHubではリポジトリ作成時にライセンスを選択して、自動で作成させることもできます(Open source licensing · GitHub Help)。

ただし、Webで使用されるJavaScriptなどファイル単位で読み込まれる場合、当然ながら READMELICENSE などのテキストファイルは添付しにくくなります。参考までに、そのような場合のライセンス表示のサンプルを紹介します。

prototype.jsの先頭には以下の記述があります。

prototype.js
/*  Prototype JavaScript framework, version 1.7.1
 *  (c) 2005-2010 Sam Stephenson
 *
 *  Prototype is freely distributable under the terms of an MIT-style license.
 *  For details, see the Prototype web site: http://www.prototypejs.org/
 *
 *--------------------------------------------------------------------------*/

また、jQuery の場合はもっと簡潔です。 (jquery-2.0.3.min.js)

jquery-2.0.3.min.js
/*! jQuery v2.0.3 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license
*/

どちらの場合にも著作権表示があり、前者はライセンス名で表記、後者はライセンスを明記したページのURLへ誘導してゐることが特徴的です。

補足2. マルチライセンス

PerlはArtistic Licenseで公開されてゐると上記にありますが、実際には Perl Licensing - dev.perl.org 及び配布パッケージ内の README 内には以下の記述があります。

Perl5 is Copyright (C) 1993-2005, by Larry Wall and others.

It is free software; you can redistribute it and/or modify it under the terms of either:

—— http://dev.perl.org/licenses/ より引用 (2013年9月7日 閲覧)

これは、ライセンスとして「GPLv1(または任意に指定された番号)以上のバージョン」または「Artistic License」のうちの どれか の条件に従へば良いといふことになります。このような状態を「マルチライセンス」と呼びます(この場合は2つなので「デュアルライセンス」、3つなら「トリプルライセンス」とも呼ばれます)。

このマルチライセンスに含めるライセンスは必ずしもフリーソフトウェアライセンスである必要はなく、金銭を対価にサービスを提供するような商業契約(コマーシャルライセンス)であることもあります。MySQLがこの形態のソフトウェアの代表例です。

補足3. ライセンスを明示しないこと

サイボウズ・ラボの西尾泰和さんのことばに次のようなものがあります。

著作権を主張しないつもりなんだったらそれを明示的に宣言して欲しい。ライセンスが明示されていないのは、どんなライセンスよりも厳しいライセンスだ。

(Ruby 1.9.2リリースとWEBrick脆弱性問題の顛末 - 西尾泰和のはてなダイアリー より引用)

また、2chの Navi2ch for Emacs (Part 20) スレのテンプレには次のようなFAQがあります。

Q. パッチを作ったんだけど、ここに up すれば良いの?
A. 2ch で晒すと取り込めなくなるので、sourceforge に投げてね。
ttp://sourceforge.net/tracker/?atid=435774&group_id=39552&func=browse

Q. 自作の関数や設定を晒したいんだけど、どうすれば良い?
A. 設定はともかく、関数を 2ch で晒すのは NG。
navi2ch に取り込んで欲しいなら、上記にパッチを投げてね。
ただ晒したいだけなら、メーリングリストやグループに投げてね。

(http://toro.2ch.net/test/read.cgi/unix/1265413075/2 より引用)

匿名でライセンスを明示しないソースコードを公開するリスクは本文中に訳註として書いた通りです。特に2chでは後から作者を特定することができず、よってライセンスを変更することも不可能になり、合法的に二次利用することができなくなります。

補足4. より信頼のおける情報源

もっと基礎から詳しくライセンスについて学びたいのでしたら、有料(800円)の電子書籍ですが、「知る、読む、使う! オープンソースライセンス」が良いかもしれません。(実は訳者はまだ読んでゐません!)

もっと深くライセンスについて理解するための資料としては、IPA(独立行政法人 情報処理推進機構)のWebサイトにOSSライセンス関連情報として、多数まとめられてゐます。特にGNU GPL v3 逐条解説書は非常に詳細なレポートで、SFLCの協力を受けてまとめられた、極めて信頼度の高いものです。さらにこのレポートはCreative Commons 表示 - 非営利 - 改変禁止 2.1 日本(CC BY-NC-ND 2.1 JP)として利用可能です。

補足5. ライセンスの互換性

(この話はわかりやすさ重視の例で、技術的な正確性はありません)

突然ですが、あなたは画像ブラウザを作りました。これは、BMP形式の画像をとても快適に管理できる、べんりなアプリケーションです (言語は何でも良いですが、Delphiでネイティブコードにコンパイルしたとします)

ある日、あなたは気がつきました。「画像をBMP形式に変換して読み込めば、どんな形式の画像でもサポートできるぞ!」と。

あなたが最初に見付けたのは、JPEG画像をBMPに変換するライブラリでした。これは一切著作権を主張しないことが宣言された、パブリックライセンスのライブラリでした。このソースコードを使って、あなたのアプリケーションはJPEG対応になりました。

Q.
このアプリケーションのソースコードを公開する必要はありますか?
A.
公開義務はありません。なぜなら、著作権はわたしが持ってゐるからです。また、JPEGライブラリには著作権はありませんでした

次に見付けたのは、PNG画像をBMPに変換するライブラリでした。これは2条項BSDライセンスでした。このライブラリを静的リンクすることで、あなたのアプリケーションはPNG形式になりました。

Q.
このアプリケーションのソースコードを公開する必要はありますか?
A.
公開義務はありません。なぜなら、わたしが著作権を持つコードと、2条項BSDライセンスのコードから構成されるからです。
Q.
あなたは何をしなければなりませんか?
A.
ドキュメントにPNGライブラリの作者名とライセンスを明記することです。わたしはREADMEファイルにLicenseの章を設け、次のように追記しました

License

HogePngLibrary

(C) Copyright 2001 John Smith

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  • Neither the name of the nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

あなたはGIF

Q.
A.