ぱろっと・すたじお

技術メモなどをまったりと / my site : http://parrot-studio.com/

RDGCのライセンスを考える

しばらくテスト版を公開してない"RO"gue(on RDGC)ですが、
RDGCと"RO"gueを明確に分離する作業をやっておりました


テスト版の動作を維持したまま、
いかにして基盤であるRDGCを分離し、
その上で"RO"gueが動くようにするか、ってことです


そう遠くないうちにテスト版Ver0.003を公開することになりますが、
おそらくVer0.002とそう変わらないものになるかと


その作業の結果、だいぶ「基盤」として分離できたので、
その部分のソースだけでも先に公開してしまおうか・・・と考えました


そのためにSourceForge.JPのアカウントも押さえてあったので、
プロジェクトを申請しようしたのですが、一つ問題が


それは・・・ライセンスをどうするか、です


そもそも、SourceForge.JPオープンソースプロジェクト前提なので、
オープンソースとしてのライセンスを選ばないとなりませんが、
勝手に選ぶわけにはいきません


開発にライブラリを使用する以上、
そのライブラリのライセンスに従う必要があります
(当たり前ですが)


普段はただ使うだけなので、さほどライセンスに気を配る必要はありませんが、
自分の著作として開発を行い、公開する以上、
ライブラリのライセンス範囲を超えることはできません


というわけで、相変わらず前置きが長くなりましたが、
今回はライセンスについて考えてみます


ちなみに、結論から言えば、RDGCはMITライセンスにしました

RDGCに関連するライブラリのライセンス

  • Ruby : Rubyライセンス Ruby上で実行されるソースのライセンスは自由
  • DXRuby : MITライセンス
  • scene.rb(DXRubyのサイトで公開されているコード) : Rubyライセンス


まずはRuby自体の「Rubyライセンス」です
http://www.ruby-lang.org/ja/LICENSE.txt
大雑把に言えば、「GPL」か、「変更点を還元する」のが修正の条件です


ただ、今回はRuby自体を変更するわけではないので、
ここのライセンスは考えなくて良さそうです


次がDXRubyのMITライセンス
ざっと調べてみると、相当に緩いライセンスで、
要はそのライブラリのCopyrightを明記していればOKのようです
(その意味で言うと、今のテスト版は微妙にアウト?)


問題になるのがscene.rb
http://dxruby.sourceforge.jp/cgi-bin/hiki.cgi?%C8%C6%CD%D1scene%A5%AF%A5%E9%A5%B9
これがなければ、たぶんRDGCも"RO"gueも生まれなかったってレベルなのですが・・・


このコードはDXRubyの一部ではなく、
MyGameという別ライブラリのRubyライセンスに従っているため、
MITライセンスというわけにいきません


ここでかなり悩んだのですが・・・
考え方だけ流用して、一からコードを書き直しました


ライセンスの問題もありますが、
RDGCに特化する形にしたかったのもあります*1


ということで、RDGCは最低限MITライセンスに従えばいいことになりますが、
RDGCがDXRubyと同じく開発基盤である以上、
GPLのようなあまりきつい制限はかけたくないので、MITライセンスに


・・・とか書いてはみたものの、
結局は「DXRubyと同じライセンスでええやん」、
くらいの感覚で決めましたが・・・Σ(・ω・ノ)ノ

"RO"gueのライセンス


"RO"gueとしては、RDGCに加えて以下が追加されます

  • Exerb : 本体はLGPLだが、Exerbから作られたexeはソースのライセンス


Exerbから最終的にexeを作るので、
他に比べるとライセンスに慎重にならざるをえません


ですが、調べた結果、Exerb自体はLGPLですが、
そこから作られたexeは直にExerbとリンクしてないので、
自由にライセンスを決められるようです(`・ω・´) b


ただ、exeにRubyインタプリタを同梱する以上、
Rubyのソース入手先は明記した方が良さそうですが


ここで問題になるのが、"RO"gueはオープンソースなのか、ということです
"RO"gueはRDGCのサンプルコード的な意味合いが強いですが、
同時に一つのコンテンツでもあります


(最終的に)画像データ等を含むことを考えれば、
無条件にオープンというわけでにはいきません


そう考えると、RDGCはともかく、
"RO"gueをSourceForge.JPに置くのは難しい気もします


このあたりはもうちょっと詳しく調べないとな・・・

*1:このあたり、ライセンスの考え方に問題があれば指摘願います。一から書き直したとはいえ、考え方を参考にした以上、どうしても近い部分がありますし・・・