PocketMine-MPのプラグインはオープンソースでないといけない!?haniokasaiのドキドキlinuxubuntuとかnetwalkerとかandroidとか、あとminecraftもホームページMCPE鯖HP鯖代行運営netwalkerリポジトリMiRmMCPE2016年11月10日木曜日PocketMine-MPのプラグインはオープンソースでないといけない!?よく、二次配布禁止や、難読化をしている、プラグイン制作者がいます。BlueLightのsrcのライセンスを読んだのですが、ライセンスがGPLでした。すると、作ったプラグインはライセンスはGPLしか利用できません。"二次配布禁止や、難読化"は禁止されている行為である可能性があります。ライセンスとは[それが存在しなければ違法となる行為をすることを許可すること、あるいはその許可を証する書面のことをいう。]まあつまり、通常の著作権を無視し、ライセンスに書いてある通りのことをすれば、勝手にコピーや改造をしてもいいといことです。今回の問題は?今回の問題は、srcごとのライセンスの違いです。PocketMine本家、およびClearSkyは、ライセンスとして、LGPLを採用しています。・srcの改造をしなおかつそのpharを公開するこの場合には、コードの開示義務が生じます。・srcを改造し、自分だけが楽しむまたはsrcはいじらずに、プラグインを作るコードの開示義務が生じません。プラグインだと、ライセンスを好き勝手に決めることができます。Nukkit,Genisys,BlueLightのsrcのライセンスはGPLです。・srcの改造をしなおかつそのpharを公開するコードの開示義務が生じます。・srcを改造し、自分だけが楽しむまたはsrcはいじらずに、プラグインを作り、それを公開しないコードの開示義務が生じません。・プラグインを作り、それのpharを公開するこの場合は、コードの開示義務が生じます。難読化をしたり二次配布禁止をすることができません。そのような問題が起きるのでしょうか?原因LGPLでは、動的リンク($player->getPlayer()のような関数を使うこと)をプラグインがしても、プラグインのライセンスは決定されません。GPLでは、関数を使うだけでも、プラグインのライセンスをGPLにすることが決定されます。そのことは、ここに書いてあります。https://github.com/Nukkit/Nukkit/blob/master/LICENSE#L668けれども、PocketMine-MP本家とGenisysのライセンスが食い違っています。この点に関しての解決策は見つかりません。結論・対策Genisysにしかない関数を使うプラグインはライセンスはGPLしか選べないのでしょう。ないプラグインのライセンスは微妙です。本来コードは公開すべきでしょうが、なかなか難しいこともあります。コードを公開しておくことが無難だと思います。よると、genisysのaiのコードはコピーが禁止されています。わかりにくいですが、注意しましょう。パケット読み方を頑張る編#3こんにちは、皆に愛されるはにおかさいです。人生に迷いすぎて精神崩壊しそうです。今回は、パケットの読み方を頑張ります。日本語の情報が少ないpocketmine-mpのプラグイン。私が興味をもったプラグインを紹介していきたいと思います。Pharファイルをwebで作る!解凍する!こんにちは、haniokasaiです。pharをいちいちdevtoolsで作ったり、展開したりするのが面倒な方に便利なツールを用意しました。var...nginxでライブストリーミング!nginx-rtmp-module生配信サーバーを構築してみたかったのですが、nginxのエクステンションでできることがわかって構築しました。