LoginSignup
0
0

More than 1 year has passed since last update.

RPGツクールMVのプラグインにGPL/LGPLを適用した場合どうなるか

Last updated at Posted at 2022-06-01

概要

RPGツクールMVでは、JavaScriptを使って自由にプラグイン1を制作することが可能です。
有志の手によりオープンソースライセンスのプラグインが多数公開されていますが、その内ほとんどがMITライセンスを使用しており、GPL/LGPLの適用例が少ないと思ったため、記事にしてみました。
ライセンスの選択肢を増やす為の参考にしていただければと思います。

なお本記事ではRPGツクールMVの使用を前提としていますが、性質上RPGツクールMZ用のプラグインについても一部同様に扱えると思います。ただしコミュニティ版コアスクリプトが公開されていないなどの違いがある為注意が必要です。

免責事項

本記事の内容は個人の見解であり、内容の正確さを保証するものではありません。
実際のライセンスの使用にあたってはご自身の判断で行ってください。

ソースの公開義務について

まず前提として、RPGツクールMV製のゲームを頒布する際は必然的にスクリプトファイルを添付することになるので、ソースの公開義務について心配する必要はほぼないと思われます。
ただし実行形式の場合、スクリプトを実行ファイルにパッケージングしてしまうとライセンス条項違反となる可能性があるため、注意が必要です。

以下ではライセンスごとの違いについて見ていきます。

LGPLを適用した場合

jsを用いたプラグインのimportの扱いが問題となります。
ツクールMV用プラグインとしての使用はライブラリのリンクとみなされるため、ソースを改変しない限りゲーム中のスクリプト全体にLGPLを適用する義務は生じず、他のプラグインのライセンスとも競合しません。

プラグインを使用する側にとっては比較的少ない負担で使用できるライセンスだと思われます。
ライブラリとメインのスクリプトが明確に分離していなければならないので、ライセンス表記に加え、プラグイン単体で一つのライブラリであると明記しておいた方が良いでしょう。

GPLを適用した場合

GPLの場合、ライブラリ自体を直接呼び出すスクリプトは全て派生物扱いとなり、GPLを適用する必要が生じます。
このため、GPLの適用範囲は「他のプラグインを含んだゲーム中のjs全体」となります。
コアスクリプトについてはMITライセンスで公開されているコミュニティ版を使用すれば問題ないですが、現在使用中の他のプラグインがGPLと競合するライセンスを使用している場合2、ライセンス違反になるので注意が必要です。

ただし、ツクール本体が生成するJSONデータはGPLの適用範囲外となりそうです。これはJSONがデータ記述用の独自の形式であり、jsのオブジェクトの一部とはみなされないからです(確証があるわけではないので慎重に扱うに越したことはないと思います)。
また実行形式での配布の場合、ゲームの実行ファイル本体はコアスクリプトのインタープリタとみなされるため、GPLの適用範囲外となります(実際にゲームロジック用のLuaスクリプトにGPLを適用した商業作品が存在します)。

最後に

まとめると、

  • LGPL: プラグイン自体を改変しなければゲーム全体には影響を与えない
  • GPL: ゲームのスクリプト全体をGPLで配布することになる。ただしJSONと実行ファイルは対象外

となります。

これらを踏まえると、LGPLはプラグインのライセンスとして比較的現実的に使用できるのではないかと思います。
ちょっとした改良等は今まで通りMITライセンスで公開するといいと思いますが、独自の戦闘システム等の大規模なプラグインであればGPLやLGPLの適用も視野に入ってくるかと思います。
また、プラグインでなく自作のゲーム用にがっつりスクリプトを組んだ場合GPLは有力な選択肢になると思います。
GPLはツクール本体への影響など誤解されやすい面があるように感じますが、利点も多いライセンスなのでうまく活用していきたい所です。

参考文献

  1. 外部からインポートできるアドオンのようなもの

  2. Yanfly製の有料プラグインなど

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0