先日出来たNodeviewerを教授にメールに添付する際、JGraphも一緒に送ったんだけど、ふとコレって再配布しちゃっていいんだろうか?と思いはじめたのでライセンスについて調べてみたのでメモっとく。
調べてみるとJGraphのライセンスはThe GNU Lesser Public License(略してLGPL)というものだった。
e-wordsより
オープンソースソフトウェアのライセンス体系の一つで、GNUプロジェクトが推進するGPLの派生形。当初は「Library GPL」の略だったが、現在では「Lesser GPL」の略とされる。
んじゃGPLってなんだということでGPLについて調べてみた。
wikipediaより
大まかに言えば、GPLとは著作権者が利用者に対し次のような許可を与える契約である。
1. このソフトウェアを誰でも自由に複製してよい。
2. このソフトウェアを誰でも自由に改変してよい。
3. このソフトウェアやそれを改変したものを誰でも自由に頒布してよい。有償で販売しても良い。ただし、その際には頒布を受けた者に対し1から3の許可を与えなければならない。
(中略)
また、頒布に際してソースコードの公開を伴わないバイナリ形式のみでの頒布は認めていない。実用的なソフトウェアをソースコード無しで改変することは不可能に近く、ソースコードが入手できないと言うことは事実上、改変を制限しているに等しいからである。
1~3の前半を見る限りやりたい放題okだなんて、スゲー素敵なライセンス!(´Д`人)と思ってしまうのだが、3の後半がくせ者。つまりGPLライセンスなプログラムをちょびっとでも利用したプログラムはGPLライセンスになってしまうのだ。つまりソースコードをおおっぴらに公開しなければならないというおまけがくっつく。
この前エレコムがGPLライセンスに違反したのはこの辺の話が原因。
んでちょっとでもGPLライセンスなプログラムを使ったらそれもGPLっていうのはキツいからもう少し緩めた方がいいんじゃないのって言うのがLGPLらしい。
元々頭文字のLはLibraryだったそうな。確かにちょこっと使うプログラムっていうのはライブラリが圧倒的に多いだろう。だけどライブラリじゃなくてもLGPLにしたい場合やライブラリだけどもLGPLに適さない場合もあるらしくLesserになったとか。(別に劣ってるわけじゃないと思うが。)
LGPLライセンスなプログラムを改変せず使用したプログラムは別にGPLやLGPLにしなくてもいいらしい。
なので例えばNodeViewerを仮にココで公開しようとしたとき、別にNodeViewerのソースを公開する必要はないわけである。(JGraphのソースは必要らしいが。)
.....敢えてNodeViewerにGPL適用させてメタメタなソースをバイナリと共にココで晒してみようかしら(´A`)