gpt4 book ai didi

Qt 带有 LGPL 的单个 EXE?

转载 作者:行者123 更新时间:2023-12-02 14:05:24 27 4
gpt4 key购买 nike

在分发程序时(没有 Qt 许可证),我对 LGPL/GPL 不太了解;如果我制作了一个程序,我可以将库静态链接到 exe,这样我就可以在以下情况下分发一个文件:

  • 该程序不需要任何费用,它只是被分发(闭源或开源)?

  • 当您必须为该程序付费时,您仍然可以静态链接吗?

最佳答案

实际上,只要您满足一些非常具体的要求,LGPL 就允许静态链接。例如,如果所有分发都是从您拥有 StaticProgram.exe 的网站完成的,那么只要用户还可以下载 StaticProgram.obj LGPL-library-source.tar.gz。您还可以分发 StaticProgram.exe 并提供其他文件的书面报价。

具体来说,静态链接会创建一个作为 LGPL 代码派生的可执行文件,因此您必须遵守 LGPL 第 6 节:

6) As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications.

You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things:

a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.)

b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with.

c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution.

d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy.

For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.

It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute.

关于Qt 带有 LGPL 的单个 EXE?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2277165/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com