質問: 独学でプログラムを学んでいるものです。 自分で使うためのプログラムを作成したのですが、`cx_Freeze`で、`exe`ファイル化に成功しました。直すところはまだあるものの、実用に耐えるものであると思います。 例えば、こうしたものを、だれかに利用してもらいたいとき、 ライセンスだのプロテクトだの著作権だの特許だの、後のバグ取りだの、開発後のことを私はよくわかっておりません。 今のところ持っている知識とそれに対する疑問 1. PySide は LGPL です。ソースコードの公開は強制されません。 しかし、本家では、`python`で書かれたソースコードは、デコンパイルできるフリーのソフトがあるということのようで、どんなに隠しても事実上筒抜けのようです。 ソースコードがばれないように、自分で作ったリソース(自作イラストイメージ等)が自由に取得されないようにする方法はありますか? 2. せっかく作ったソフトウェアをコピーされ、勝手に配布されるというのは、気持ちが悪いし、これでお金が取れるものであれば、大きな損害だと思います。というか違法ですね。著作権はありますが、事実上使われることも多いのではないかと思います。コピープロテクトというものがあるようですが、これは、自分のソースコードの中に、パスワード用の関数を組み込んで置き、アプリ毎にユーザーが打ち込んだものと照合させればよろしいですか? それではパスワードを解いたものを配布されれば同じだろうと思いますが・・・。防ぐ手段はありますか? 3. 商用ライセンスとオープンソースでの違いは明確ですが、 ここを見ると、商用ライセンスならば、 > > Rights & Obligations - Commercial rights to protect your code > > A commercial license keeps your code proprietary where only you can control and monetize on your end product’s development, user experience and distribution – securing your intellectual property. > > > という特典があります。つまり、商用ライセンスとは私の今あげたような問題を起こさないためにあるものととらえていいですか? 外にもQtデベロッパーたちの開発に当たってのサポートを受けられるということのようですが、今まで全く意識せずに開発を行っていました。 4. 早い話が商用ライセンスを取れという事ですか・・・? 今までコードやどういうものを開発したいかということだけを考えていましたし、(とりあえずは自分が使いたい物を作りたかったし、何よりプログラミングが楽しかったので)ほかにもこのような質問は見当たらないので、ひょっとして私だけ?という感じです。開発しながらももやもやと気になっていたことなのです。質問をするレベルの話であるのかどうかもわかりません。 `PySide`で開発したものなのですが、どうすればいいのか方向性が見えないのですが、どなたか教えていただけませんか?
回答: * 商用ライセンスとは あなたのプログラムの実行ライセンスは作者= Haru さんが決めるものであって好きに決めればよいのです。あなたの決めたライセンスがあなたの「商用ライセンス」です。現地の法律に反しない限りどんな不合理なライセンスを提示してもかまいません(お客様が1人もつかないかもしれませんけど)。ゆるゆるなライセンスを提示してもかまいません。世の中に「商用ライセンス」という名前の統一されたライセンスがあるわけでありません。 * GPL 感染に関して プログラムの部品として GPL なソースを使うと、あなたのプログラムも GPL に縛られてしまう( GPL 汚染とか呼ばれてます)わけです。そのため GPL が課している義務を果たす必要があります。(プログラムの部品として LGPL なものを使った場合は縛られ方が GPL より緩やかです) というわけで GPL 汚染から逃れたいのなら GPL ソースを使わないことが唯一の策です。オイラたちの作っているワンチップマイコン系の組み込みシステムではそうやって実装しています。「組み込み」という名前は同じでもスマホだとか IoT とか系では GPL 完全回避は開発量とか既存機器との互換性確保とかの面で非現実的なので GPL ソースも使っている様子。 スマホの場合は (オイラは Android しか使っていませんが)各プログラムに「ライセンス表示」のメニューが設けてあるのが普通で、そこからソースコードへたどり着くリンクが張ってあります。 GPL を満足させるにはこれで十分でしょう。 GPL ではソースコードの公開義務はありますが、第三者のところでコンパイル・リンクできる完全な開発環境を提供する義務はありません。アイコンやイラストは「ソースコード」には含まれないというのがオイラの解釈です。 組み込み系などだと100万円くらいするコンパイラを買わないと開示されているソースがコンパイルできないなんてのは普通の話。この CPU のこの特殊命令を C ソース内から使って初めて性能が出るとかなんとか・・・ * 不正コピーの防止策 実行形式ファイルをコピーすればまずどこでも動かせますから不正利用をする人はいます。が、それを防止しようとすると多額の負担が必要となります。 - ドングルがないと動かないようにする (AutoCAD 等で採用) - ライセンスサーバを客先に用意してもらう (PGRelief 等で採用) - ライセンスサーバを自社に用意する (Windows 等で採用) - ソフトウエアで小細工して「実行ファイルをコピーする」だけでは動かないようにする オイラ個人としては「ライセンスに禁止をうたう」だけで特に小細工しないのが、個人開発者としてのコストパフォーマンス的に最上だと思います。逆アセンブルしてプロテクトを解除する人は「どんなに複雑なプロテクトをしても」解除してきますし、ライセンスを守る人ならプロテクトをしなくても守ってくれます。 それでもやっぱり何かプロテクトとか小細工とかしたいということなら、「プロテクト付きソフト」は巷にいっぱいありますし、オイラ以外にもそういうことをした経験のある人はいるはず。そういう人に相談したいとかなら、別の質問にてどうぞ。