サンプルとライブラリとライセンス

たとえばDXRubyのサンプルシューティング。
俺が作ったのはプログラムだけだから、そこに限定するとして。
基本的なスタンスは、どのように扱ってもらってもよい。


力作というわけでもないし、特殊な技術を使っているわけでもない。
ぶっちゃけ、絵と音のデータを差し替えて、敵の配置や動きを修正して、「自分が作りました!」って公開してもらってもよい。
その人が手を入れた部分は確実にあるし、それでDXRubyを使ったゲームが一つ増えるなら、嬉しい限りだ。
元になったコードはこれです、とか言ってもらっても、俺にとっていいことは特にない。
サンプルとはそれを人が参考にして流用することを前提としているわけで、GPLなどのライセンスで表現したい著作物とは少し違うのだ。
もちろん、人が作ったものも全部そうだと言ってるわけではなく、あくまでも俺が作ったものについて。
ただ一つだけ、「このコードは自分が作ったもので、あんたが盗んだんだ」って言われると非常に困る。
それだけ防げるいい方法はないものか。


サンプルシューティングのコードから、ゲーム固有の部分、敵の動きなどを省くと、非常にコンパクトなシューティングゲームフレームワークになる。
敵や弾の生成、管理などはシンプルなモジュールが行っている。
ステージデータや敵データのあたりを手直しして、タイトルなどの遷移をサポートすれば、それなりに使えそうな立派なものになるだろう。
たとえばRPGに必要なマップ管理や各種ウィンドウなどの基本部分を、クラスライブラリとフレームワークの形で提供できれば、RPGツクールみたいな感じになってくる。
ツクールの場合は、RGSSで提供している部分がちょっと機能が足りなかったりして、作る人のほうがそれをいじりたおして使えるようになっているし、そのような文化になっている。
これは独自の製品で提供しているという特殊な環境のなせるワザで、DXRubyでなんか作って提供してもなかなかそうはならないと思っている。
俺としては、基本的な部分は作って提供するが、それをそのまま使うのではなく、使いやすいように修正したり、勝手に機能を追加したり、そうやって使ってもらいたいのだ。
ただ、そうした場合に、ライセンスがどうこうって話が出てきて、気軽にやりたい人に対して高い壁になる。
ツクールはユーザーを完璧に囲い込むことで、その中では自由にできるようになっている。
DXRubyはオープンソースの世界で動いているから、そういうことができない。
モノとして、製品として存在している強みなのだろう。


Rubyでは、ありがたいことにその上で動くスクリプト自体はライセンスは自由だ。
DXRuby本体はそれなりにライセンスを適用しておかないといけないレベルの物だと自負しているが、DXRubyを利用したスクリプトについては、そんなレベルの物を作って公開するほどのことはまずないだろう。
いろんな人に使いまわしてもらいたいのだ。
改造してもっといいものを作るでもいいし、参考にして一から作るでもいいし、そのまま使うでもいいし、なんしか、自由に使ってもらいたい。
そのための敷居をなるべく低くして、面倒なことなく自由に使える手を、なんとか考え出したいものだ。
あれか。
利用規約:作者であるmirichiに直接的・間接的に被害を与えないこと」
うむ。