2016年4月編集
実際、私は最近 LGPL について深く読んでおり、このテーマについて何人かの専門家に尋ねています。クローズド ソース アプリケーションで Qt の静的リンクを使用できないことは、より洗練された伝説であり、現実とは何の関係もないことが判明しました。
LGPL が必要とするのは、エンド ユーザーが別のバージョンのライブラリに対してアプリケーションを再リンクできることです。動的リンクを使用することはそれを実現する 1 つの方法ですが、オブジェクト ファイルを簡単に提供することもできます。この方法では、ソースを開く必要がなく、LGPL 要件も満たされます。
Qt の Web サイトには 2 つの法的な FAQ があり、どちらにも、できないとは直接述べられていません。あなたができるとは述べられていないのと同じように。ただし、そうする場合に備えて、漠然とした法的脅威を暗示する例が少なくともいくつかあります. 私はそれらのすべてについて良い説明があると思います - 彼らは、彼らに負の法的影響を与える可能性のある実用的な嘘を公表せずにそれを行うことはできないとは言えません.より多くの人に商用ライセンスの購入を強いる可能性があるため、推奨してください。
要するに、はい、できます。また、最近 Qt が生きた展開地獄になったので、間違いなくそうすべきです。さらに、静的ビルドの Qt 5.7 の時点で、QML ファイルはファイル システムに置かれるのではなく、実行可能ファイルにきちんと組み込まれています。誰でも改ざんできます。次のことを確認してください。
- あなたの Qt ビルドには、LGPL の下でライセンスされたモジュールのみが含まれており、GPL は含まれていません。
- アプリの概要セクションに、Qt を使用していることが記載されており、アプリケーションのオブジェクト ファイルをダウンロードできる場所へのリンクが含まれています。
- アプリケーションにそれぞれのライセンス ファイルをすべて含めます。
最後に、アプリケーションは実際に「再リンク可能」である必要があります。つまり、必要な機能を提供する互換性のあるライブラリ バージョンで動作できる必要があります。つまり、ビルドする前に Qt に変更を加えた場合は、それらもソース コードの形式で提供する必要がありますが、アプリケーションのソース コードではなく、Qt への変更のみを提供する必要があります。
アップデート:
以下は、 GNU FAQからの直接の抜粋です。
LGPL (現存するバージョン: v2、v2.1、または v3) に準拠するため:
(1) LGPL のライブラリに対して静的にリンクする場合は、ユーザーがライブラリを変更してアプリケーションを再リンクできるように、オブジェクト (必ずしもソースではない) 形式でもアプリケーションを提供する必要があります。
それはかなり明確に述べています。
古い、元の答え:
アプリケーションがオープンソースであり、ソースを提供している限り、Qt を静的にビルドすることは可能です。ソースを非公開にしたい場合は、高価な商用ライセンスが必要になるか、動的リンクを使用する必要があります。
ところで、Qt の静的ビルドを使用することは非常に優れています。Qt5 の場合、外部依存関係のない約 7 ~ 8 MB の実行可能ファイルを取得できます。これは、動的にリンクされたアプリと一緒に出荷する必要がある 20 MB 以上の追加の dll よりもはるかに優れています。
詳細については、次のビデオをご覧ください: Qt で開発するときに正しいライセンスを選択する
全体として、それは実行できますか?100% はい。それはすべきですか?個人的/テスト/学習目的の場合は 100% 問題ありませんが、製品グレードのソフトウェアを配布する予定がある場合は、商用かどうか、オープン ソースかどうかに関係なく、まず弁護士に相談することをお勧めします。主題全体が不必要に複雑であり、解釈が必要なため、弁護士との相談は高価な商用ライセンスよりも高くなります。