16

Qt オープン ソース版でアプリケーションを開発しています。Microsoft Visual Visual C(++) 再頒布可能パッケージを配布したくないので、Qt の静的リンク バージョンを使用したいと考えています。Qt ライセンス情報に、アプリケーションで静的リンクを使用する場合は、商用 Qt ライセンスで開発する必要があると書かれていますが、configure -staticコマンドを使用して静的 Qt ライブラリを構築すると、コマンド プロンプトで商用ライセンスを使用するかどうかを尋ねられます。 Qtのオープンソース版。

Qtをオープンソース版でビルドすることは可能ですか?静的リンクを使用するには商用版が必要ですか? 私はアプリケーションを販売しません。

4

2 に答える 2

33

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% 問題ありませんが、製品グレードのソフトウェアを配布する予定がある場合は、商用かどうか、オープン ソースかどうかに関係なく、まず弁護士に相談することをお勧めします。主題全体が不必要に複雑であり、解釈が必要なため、弁護士との相談は高価な商用ライセンスよりも高くなります。

于 2013-03-10T13:21:15.837 に答える
-1

アプリケーションをオープンソース化する意思がある場合、答えは「はい」です。

Qt-Project が使用するライセンスの独自の解釈によると、Qt ライブラリに動的にリンクする場合、アプリケーションはクローズド ソースまたはオープンのいずれかになります。ただし、静的にリンクする場合、アプリケーションには LGPL の条件が適用されます。

Qt プロジェクトが使用する正確な言語は次のとおりです。

動的リンクの場合、「ライブラリを使用する作業」である限り、アプリケーションのソース コードを独自に保持することは可能ですが、必須ではありません。これは通常、ライブラリの動的リンクによって実現されます。ライブラリのスタティックリンクの場合、アプリケーション自体が「ライブラリを使用する作品」ではなくなり、LGPLの対象となる可能性があります。動的にリンクするか、アプリケーションのソース コードを LGPL の下でユーザーに提供することをお勧めします。

(http://qt-project.org/legal.html)

状況が「まったく明確ではない」という他の回答のいくつかの提案は、単に真実ではありません-Qtプロジェクトは、どのような状況でLGPLライセンスの使用が許可されるかについて十分に明確にしようとしました.静的リンクはそれらの1つです.アプリもLGPLである限り。


元の質問は非商用 (必ずしもオープン ソースではない) を指定しているため、質問者は、LGPL (または、上記のページに「LGPL は GNU 一般公衆に変換できる」と記載されているように、拡張によって GPL) の下での配布を許可できるかどうかを決定する必要があります。ライセンス")。

于 2015-02-27T18:26:49.673 に答える