新しいブログに引っ越しました

tomotomoSnippetは新しいブログに移動しました
http://develtips.com/

2010-12-22

[GPL][MIT]ライセンスについて基本中の基本的なこと

今までずっと独学でHTMLやらプログラミングやらやってきました。
子供の頃からパソコンで何か作るのが好きで、とうとう職業にしちゃったわけです。

そんなわけで・・・

ライセンスについて今までちっとも勉強してこなかった!
英語やら法律用語やら専門用語やらで今まで読む気がしなかった。


ということで、今年中にいくつかライセンスについて知ったことをまとめたいと思います。

最終的には、
『GPLのPHPライブラリを利用したウェブアプリケーションを作成販売し、
 かつ、オリジナルで作った部分のソースを公開する必要があるのか?』
を理解することですが、ちょっと調べたくらいじゃ、そんなモノわかりませんでした。

今回は、初めてライセンスについて書くので、基本中の基本。
GPL(GNU General Public Licence)MIT Licence(X11 Licence)について分かったことを書きます。

GPLもMIT Licence(以下MIT)も、フリーソフトに関するライセンスで、どちらも。
・無償(無保証)
・利用/改造/再配布OK
・著作権表示義務あり
・商用利用OK
です。

まぁ、この辺りまではなんとなーく理解してましたが、じゃあどう違うねん、というと。

GPL
・ソースコードを公開する義務がある
・GPLを含む二次著作物もGPLにする必要がある(どんどん連鎖します←正しくは『ライセンスの継承』)

MIT
・ソース公開の義務なし
・二次著作物のライセンス変更もOK(元々の部分はMITのまま)

他にも、修正BSDライセンス(MITとほとんど一緒)、LGPL(緩いGPL)などあるので、次のサイトで確認すると良いと思います。
http://0xc000013a.wiki.fc2.com/wiki/%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%83%A9%E3%82%A4%E3%82%BB%E3%83%B3%E3%82%B9%E3%81%BE%E3%81%A8%E3%82%81

で、GPLのライセンスの継承ってやつが曲者で。
オープンソースなライセンスやコピーレフトなライセンス、クリエイティブコモンズについて、他のライセンスとどう組み合わせられるのかを図にしてみた
上記サイトが分かりやすく解説しているので、分からなくなった時に見に行くといいと思います。


さて、では実際に自分が作ったプログラムにGPLやMITを適用したい時はどうしたらいいのか。
ソースコードのどっか目立つ所(冒頭)にライセンスの宣言をすれば良いみたいです。
前述のまとめWikiによると、
GPLの場合:
(GPLバージョン3の和訳「4. 一字一句忠実なコピーの伝達」より引用) 『あなたはそれぞれのコピーにおいて、目立つように、かつ適切な形で、ふさわしい「コピーライト」告知を掲載しなければならない』
とあります。
全文っていうのがこれ

この全文をソースコードの先頭に書けば、GPLライセンスになります。

MITの場合:
ライブラリの著作権表示と許諾表示を、重要な部分に記載する必要がある。
とあります。

MITの場合はこんな感じで書けばいいようです。
実際の例はこれ


でもね、実際に見てみると、結構省略して書く人が多いみたいです。
例えばjquery-1.4.4.min.jsだってこーんな…
/*!
 * jQuery JavaScript Library v1.4.4
 * http://jquery.com/
 *
 * Copyright 2010, John Resig
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * Includes Sizzle.js
 * http://sizzlejs.com/
 * Copyright 2010, The Dojo Foundation
 * Released under the MIT, BSD, and GPL Licenses.
 *
 * Date: Thu Nov 11 19:04:53 2010 -0500
 */
(ちなみにjQueryはMITとGPLバージョン2のデュアルライセンスってやつです。)
ライセンスの宣言が
"Dual licensed under the MIT or GPL Version 2 licenses."
という一行で終わってます。
その次の行のhttp://jquery.org/licenseを見に行くと、それぞれのライセンス全文へのリンクがあります。

CakePHPはMITライセンスですが、こんな感じで表記しています。

どこにライセンスの全文が載っているか、を明記すればOKって慣例なんですかね。

なんだか、散らばった文章ですが、長くなってきたので終わります。(そして続きます、たぶん)


フリーソフトの『フリー』は『自由』であって、無料という意味ではない。
ということを再認識しました。




【あとがき】
よく分かってない人が分かったとこだけ書いた文章なので、間違いがあるかもしれません。
私同様よく分かってない人は、この内容を鵜呑みにせず専門家(専門家がどこにいるのだ!)に相談した方が安全です。むしろ、間違いがあれば指摘していただけると嬉しいです。
じゃあ何で、こんな記事書いたのかって?
私が、色々調べた中ではライセンスについて書かれた記事は(易しい記事ですら)難しくて、取っ付きにくい。
じゃあ、説明は不十分でも取っ付き易い記事を書いてみようと思い試してみました。
あとは、こんないい加減な事でもアップしていいんだ、って思って他にもライセンスに関する記事を書いてくれる人が現れてくれれば、これ幸いです。

以上!

2 件のコメント:

  1. 非常に参考になりました。
    今ソースを販売するプロジェクトを進めておりまして
    ライセンスの記載について悩んでいたところでしたので
    このサイトに出会えて大変助かりました。

    またサイト見に行きます。ありがとうございました。

    Twitter @DHMO4

    返信削除
  2. 佐藤仁さん
    この記事が参考になって良かったです。さすがに3年前に書いたものなのでところどころ情報が古くなっていてすいません^^;
    そのうち新しい情報を書くと思います。

    また、わかったことがあればフィードバックいただけると嬉しいです。

    返信削除

人気のエントリー