我已经阅读了LGPL许可证,但它非常复杂,我无法找到问题的答案。
我想在我的项目中使用LGPL库。 LGPL库中不会进行任何更改。该项目是注册用户使用的网站应用程序。注册用户不需要使用该网站。
所以我的问题是我可以在这种情况下使用LGPL库吗?
答案 0 :(得分:28)
首先,您绝对可以使用库。无论你想要,都是一个单独的问题。
如果您不修改源代码,并且没有静态链接到库,或者依赖库的内部数据结构,那么您没有来分发您的源代码应用 任何获取二进制文件 的人,但 分发该库的原始源代码。
如果您确实修改了源代码,但没有静态链接到库,或者依赖于库的内部数据结构,那么没有来分发应用程序的源代码 任何获取二进制文件 的人,但 分发已修改的库的源代码。< / p>
如果您静态链接到库,或依赖库的内部数据结构,那么 将应用程序的源代码分发给 任何获取该库的人来自您的二进制文件 ,您还必须分发库的原始(或修改后的,如果适用的话)源代码。
如果您没有分发二进制文件,或者您对上述限制没有问题,那么您可以愉快地使用该库。
HTH。
答案 1 :(得分:10)
如果您不分发您的Web应用程序,只是托管它并提供访问权限(即人们只是使用他们的浏览器),那么您可以使用LGPL库。根据(L)GPL分配给某人访问不是分发。你甚至可以用这种方式使用GPL库和代码。您甚至可以更改这些库。因为它不是分发,你可以做任何你想做的事情,你不需要泄露源代码。
您不能使用的唯一库是根据AGPL(Affero General Public License)许可的库。 AGPL与GPL类似,但明确要求如果您提供对托管应用程序的访问权限,则还需要分发源代码。这意味着,您网站的访问者需要能够下载该网站的源代码。因此,如果您使用AGPL库,则需要为您的用户提供下载Web应用程序的完整源代码的可能性。
免责声明:我不是律师。
答案 2 :(得分:4)
如果您不分发程序,则可以在不分发源代码的情况下使用它。您的用户是下载Web客户端程序还是服务器端的所有内容?
如果是客户端,则需要动态链接库以避免发布源代码。但是,您仍然需要链接或托管库的源代码的协议(我不确定您是否需要同时执行这两个或仅执行1)。
答案 3 :(得分:4)
LGPL许可证摘要:
专有软件链接 - 允许(因为链接到库的软件不被视为衍生作品)。
“工作”的分发 - 允许一些限制:您必须提供分布式LGPL库的源代码(如果有)修改,应允许对LGPL库的更改为第三派对,如果BC你的app / lib仍然可以使用修改后的LGPL lib / app。
通过更改重新分发代码 - 仅当衍生产品是GNU LGPL或GNU GPL。
与GNU GPL兼容 - 是
总而言之,你应该没事。
答案 4 :(得分:3)
是。你可以。