ライセンスのお話。

Twitterでライセンスの話を呟いていたら、zlib/libpngライセンスをお勧めされた。
http://sourceforge.jp/projects/opensource/wiki/licenses/zlib_libpng_license


DXRubyがなぜMITライセンスなのかというと、できるだけ緩いライセンスにしておきたかったからだ。
GPLにするとexeに組み込んだときに全体がGPLになるだとか、LGPLにするとどーなのかとか、ライセンス関連はややこしい話が山積みだから、ソースを流用して改変する場合はともかく、DXRubyを使って何か作ってくれているユーザーの人に面倒を押し付けたくない。
なのでそういった面倒ごとがなさそうなMITライセンスにしておいたわけだ。
でも、初めから気にはなっていたことなのだが、MITライセンスの条文に「上記の著作権表示および本許諾表示を、ソフトウェアのすべての複製または重要な部分に記載するものとします。」というのがあって、つまりあの長ったらしいライセンスの文章をコピーしないといけない。
MITライセンスの条文はこちら(Open Source Group Japanの日本語訳)。
http://sourceforge.jp/projects/opensource/wiki/licenses/MIT_license
MITライセンスはBSD風ライセンスであり、修正BSDライセンスでも条件は同じ。
なんというか、これは面倒だ。コピペするだけでいいんだからラクではあるんだけど。長いんだよ。


俺としてはパブリックドメインにしてしまってもいいんだけど、やっぱり頑張って作ったものだしちょっとぐらいは「俺が作った!」って主張したいよって部分もあり、でも使う側が面倒なことを考えないといけないのは避けたいし、という感じで、知っていた中で一番緩いものを選んだわけだ。
気持ち的には利用者は別に「DXRubyを使ってます」すら言ってもらわなくても構わない。はずなのだがMITライセンスの条文はそうではない。
このあたり、どうにかならんかなー、と思っていたところに冒頭のアドバイス
お勧めしてくれたのはRubyでDarkHallというウィザードリィ風の本格的ダンジョンゲーを作っている人。
http://wiz.morphball.net/darkhall/


zlib/libpngライセンスは要約すると(するまでもないほど短いが)
・使うなら勝手に使ってくれ。何も書かなくても構わない。でも書いてくれたら嬉しい。
・自分が作ったとかテキトーな事を言ってはいけない
・ソースを流用したときはそのことを明示し、ライセンス条文をつけること。
てな感じで、まさしくこれだ!というピンポイントにクリティカルヒットする内容。
すぐに変更ってわけにもいかないけど、そのうち1.1系から3D以外の機能をバックポートした2D機能強化版を作ろうとは思ってるから、そのときにでもライセンスを変更しようかな、と。


ところで実際に現状のDXRubyをexeに含めて配布する場合、ライセンスをきちんと守るならMITライセンスの条文をつけておく必要がある。
が、ライセンスは法ではないので、別につけてなくても構わない。
どっちかと言うと提供者と使用者の約束事みたいなもので、もし何かあってモメることがあった場合、ライセンスに従ってなければ不利になるよ、というものだ。
GPLのような条件の厳しいものならその使い方によって厳しく取り締まられたりもするだろうが、MITライセンスの場合は特に何もないから、おそらく「これは自分が作った!」と言わない限りはモメることもなかろう。
じゃあつけなくてもいいのか、というと、こちとらライセンスを選んだ身であって、「つけなくていいです」とオオヤケに言うわけにもいかない。つけてください。
実際世の中はどういう感じなのかと言うと、たとえば同様にMITライセンスであるStarRubyなどは、それを使ったゲームにMITライセンスの条文はついていない。でも別に文句は言ってない。それどころか公式サイトにゲームの紹介、リンクまである。
つまり、まあ、そういうもんなのだ。ライセンスってのは。
難しく考える必要は無い。
言うなればDXRubyでは、俺が考える以上にユーザーに難しく考えてしまう材料を提供してしまったという不手際であり、ライセンス選定の問題、すなわち俺の不勉強が根本の原因なのだ。