Hatena::ブログ(Diary)
ブログトップ 記事一覧 ログイン 無料ブログ開設

サイログ。MiyakoとかRubyとかなんとか+Miyako ACCESS MAP このページをアンテナに追加 RSSフィード

2010年03月21日 日曜日 今後の予定とライセンスの話

[][] ライセンスの話

さて、ここではかなりナイーブな話になります。

はい、「全部入りパック」のライセンスの話ですね。

各種ライセンスをウキィペさんで調べたり、twitterでの意見交換の後、出した結論はどう考えても

「全部入りパックはGPL(v2.0)で配布」

しか選択肢がないです。はい。

前提条件

まず、全体を説明する前に、今回の話をする際には、

GPLが適応されるのは、プログラム本体と、それにリンクするバイナリライブラリ

GPLの成果物と、GPL互換ライセンスの成果物をくっつけると、くっつけたものは自動的にGPL

以上の前提条件があると考えます。

ソフトライセンス

では、話をわかりやすくするために、各ソフトライセンスを書いていきます。

ここで言うGPLGPL v2のことです。

Ruby本体、MiyakoLauncherLite … Ruby'sライセンス(まつもとさん独自のライセンス or GPL)

Ruby/SDL、Miyako … LGPL

ruby-opengl … MIT

MinGW … パブリックドメイン,GPL

(ちなみに、2.1.10全部入りパックに同梱予定のNarrayはRuby'sライセンス)

このようにリストアップすると分かるのですが、これらのライセンスを矛盾無しでまとめようとすると、上の前提条件から、消去法的(必然的?)に、GPL以外には選択肢はありません。

ただ、幸いにも、これらのソフトライブラリオープンソースで、オリジナルを改変することはありません(ただ、インストール時にやっかいな(直接見ることがない)リファレンスなどを圧縮する事はあります)。これは、ソースの配布元のURLをreadmeとかの目立つ箇所に明記することで賄えると思います(逆に、プロプライエタリな"ライブラリ"をリンクしようとすると一発でGPL違反になります。ただし、MiyakoLauncherLiteのように、元に使っているライブラリプロプライエタリ(クローズドソースの方が的確か)でも、ライブラリの使用制限が無く、アプリ本体はオープンソースならば、添付は可能と考えています)。

では、これらを使ってゲームを作った場合はどうなるのか? というわけですが…。

作ったゲームGPLだと…

簡単に言うと、一番恐れるのは、

ネタバレの危険性

ですね。特に、シナリオが重要なRPGアドベンチャーゲームでは、ソースコード見たら一発で結末が分かっちゃいますから。

更に、アルゴリズムを解析されて、あっさりと必勝ルートが解明されるのは、開発者として納得いくものではありません。

(もちろん、中身を解析しない、正攻法での必勝ルートや攻略解説は別の話ですよ!)

ソースコードの公開は、せっかくみんなをあっと言わせようと思っいたゲームが、ライセンス上の問題という理由で悲しい結果になるのは避けたいと考えると思います。

作ったゲームライセンス

では、作ったゲームライセンスはどうなのでしょうか。

答えは、「たとえ、GPLライセンスソフトから動作するとしても、スプリクトやデータにはGPLの影響が無い」です。

GPLソフトとくっつけるのに考えないといけないのは、バイナリライブラリ、つまり拡張ライブラリに限ります。

作成したゲームは「ライブラリ」ではなく、「アプリケーション」なので、作ったソフトGPLで配布する義務の適応外と考えています。

そして、アプリケーションライセンスは、「ランタイム(ここで言うと、Miyako全部入りパック)」とは別の構成で配布することで(たとえば、ダウンロードCD-ROM配布のとき、別々の"ファイル"として配布)、GPLとは違う別の(GPL互換でも可)ライセンスでも問題ないでしょう。

ですので、スクリプトの暗号化(ASCIIで出力されるものならベターですね)も可能と考えています。

しかし、Miyako全部入りパックと、製作したゲームとを一緒のアーカイブにして配布するとGPLが適応されると誤解される恐れがあるため、別々に配布した方が誤解が少ないでしょう。

結論としては

いちばんGPLに見合った配布方法は、

Miyako全部入りパックを「ランタイム」として配布、そこで動作するゲームを「ゲーム本体」として配布

だと考えています。

ツクーラーの方なら、RPGツクール製のゲームは、別途RTPのインストールをしなきゃならないというの思い出していただけたらと思います。

(参考)

GPL:

http://www.opensource.jp/gpl/gpl.ja.html

http://ja.wikipedia.org/wiki/GNU_General_Public_License

LGPL:

http://www.opensource.gr.jp/lesser/lgpl.ja.html

http://ja.wikipedia.org/wiki/LGPL

MITライセンス:

http://sourceforge.jp/projects/opensource/wiki/licenses/MIT_license

http://ja.wikipedia.org/wiki/MIT%E3%83%A9%E3%82%A4%E3%82%BB%E3%83%B3%E3%82%B9

Ruby'sライセンス:

http://www.ruby-lang.org/ja/LICENSE.txt

とりさんのソフト屋さん

http://soft.fpso.jp/it/entry_1931.html

成瀬さんのTwitterでの返答

http://twitter.com/nalsh/status/10718480925

http://twitter.com/nalsh/status/10718540376

最後に

このまとめは、これまでの情報を元にしたものです。もし、間違いがございましたら、コメントやメールでご連絡お願いいたします。

【補足】Ruby'sライセンスGPL互換ライセンスの環境・ライブラリ同士と組み合わせるとどうしてGPLになるの?

Ruby'sライセンスは、「まつもとさんのオリジナルライセンス」とGPLとのデュアルライセンスです。

ここで気をつけないと行けないのは、Free Software Foundation(FSFGPLの親玉)がRuby'sをGPL互換と決めているのは、

この「デュアルライセンス」という点です。オリジナルライセンスの方は、GPL互換と考えられています。

そのため、Ruby'sライセンスGPL互換ライセンスの環境・ライブラリと組み合わせたとき、消去法で、GPL+GPL互換ライセンスの組み合わせになり、結果として、できたソフトGPLとなるわけです。

【参照】

http://www.gnu.org/licenses/license-list.html

(「License of Ruby」の項目です)

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証