Programming

Qt のライセンスについての考察

Qtを使うと決めたものの、ライセンスのことをすっかり忘れていました。そういえば、以前も Qt にしようか迷って、ライセンスの余りの酷さに心が折れたことを思い出しましたよw

SRA のサイトにFAQがあったのでざっと目を通してみました

そして、そこで驚愕の記述が。

Q8 : オープンソースでないアプリケーションを Qt のオープンソース版で開発し、販売を開始する時に商用ライセンスを購入するのは可能ですか?
A8 : いいえ。商用ライセンスの取り決めは、商用ライセンスの取り決めの下に Qt を用いて開発されたソフトウェアだけに適用されます。この取り決めに先だって Qt オープンソース版で開発されたコードには適用されません。商用版ライセンスなしに Qt で開発されたソフトウェアは全て、オープンソースソフトウェアとしてリリースしなければなりません。

えぇぇぇぇ!!!まーじーでーすーかー!!!!????更にこんなものも:

Q13: プログラムを作成したい全てのプラットフォーム用にライセンスが必要ですか?
A13: はい、必要です。例えば Qt を Windows と Mac の両方で使用するのであれば、2 つのプラットフォームのライセンスが必要になります。Windows と Mac と Linux で Qt を使用するのであれば、3 つのプラットフォーム用のライセンスが必要です。

Qt の商用ライセンスって、最低でも $2995 するんですけどwwwこれは気軽に買える金額じゃないです(汗

ここで気になるのが、PyQt(GPL/商用のデュアルライセンス) を使用してプログラムを作ったときのライセンスについて。ちょっと考察してみました

※ここからは、私個人の勝手な考察です!!これが全面的に正しいという確証はないので信じないでください!!

  1. LGPLライセンス下では、LGPLなライブラリ部分を動的リンクしていれば全部のソースを公開する必要がない(はず)
  2. ということはQtを使っても、共有ライブラリとして使う分には自分が開発した部分のソースコード公開の義務は発生しないはず
  3. Qtベースでカスタムウィジェットを作っても、静的リンクしなければ大丈夫
  4. このカスタムウィジェットをPyQtから呼んで使っても、ウィジエットは大丈夫
  5. カスタムウィジェットをPyQtから呼ぶアプリを作ると、アプリ部分はソースコードを公開しないといけない
  6. 更に pyside(情報ありがとうございます!!>@t_ashulaさん) を使えば、アプリのソース公開義務も発生しない?

スクリプトベースのアプリとLGPLの動的リンクまわりの解釈がどうなるのかがはっきりしないですが、こんな感じでしょうか? pyside のサイトで名言されてますね。クローズドソースな商用アプリも作れるみたいです。

PySide Qt bindings allow both free open source and proprietary software development and ultimately aim to support all of the platforms as Qt itself.

更に言うと、LGPL な Qt を使って BSDライセンスなカスタムライブラリを作ってそれを商用利用するというのは OK なんでしょうか。こういう抜け方は誰でも考えるでしょうから、調べればいろいろ解釈がみつかると思います。。。が、疲れたので今日はここまで。

それにしても、これだけがんじがらめになってると Qt を使う気が一気に萎えますね。これまでも同じ理由で Qt を避けてきたのです。特に、途中から商用ライセンス下で開発することができないというのはキツすぎます。これだけはちょっと飲めないです ;-(

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です