GPL でない WordPress プラグインを作れるか
4月1日(!)に、とある WordPress プラグインをリリースしようと思っていますが、ライセンスを GPL ではないものにしようと考えました。しかし、なかなか難しいようです。
まず、WordPress 本体が GPL であることがネックです。GPL ソフトウェアに対するプラグインについては、FSF によると、データ構造を共有していれば両者が単一のプログラムを構成しているとみなせるため、GPL を適用すべきと解釈されるようです。
もしプログラムがプラグインと動的にリンクされており、お互いにファンクションコールを使ってデータ構造を共有している場合、それらは単一のプログラムを形成していると見なされますので、プラグインはメインプログラムの拡張部分として扱われなければなりません。すなわち、それらはGPLかGPLと矛盾しないフリーソフトウェアライセンスの下で公開されなければならないということです。
WordPress の場合、add_action(), add_filter() でフックを追加する場合は独立性が保てそうですが、$wpdb をグローバル宣言してデータベースアクセスを行う場合は、GPL の制約にひっかかりそうです。
難しいのが、the_content() のような場合でしょうか。実行結果は直接画面に行なわれるため、データ構造は共有していません。しかし、WordPress ループを使っているならば、暗黙的に $post がグローバル宣言されていて、共有しているとも言えます。
うーん。やっぱり GPL にするのがラクかなーー。非 GPL にするには、よほど慎重な作り方が必要なようです。
FSF の FAQ には、非 GPL なソフトウェアに対する GPL プラグインの例もあります。この場合、素の GPL ではライセンス違反になってしまうため、例外条項を付与する必要があると記されています。MT4i のような場合が該当すると思いますが、MT4i って、そういう例外条項がなかったような……。

