如果我修改并动态链接修改后的 LGLP 库,我是否必须使更改可用?

发布于 2024-08-13 09:09:42 字数 1455 浏览 1 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

甜是你 2024-08-20 09:09:42

您正在重新分发 LGPL 库的修改后的代码,因此您需要发布该库的源代码(您的错误修复)。这并不意味着您需要发布整个应用程序的源代码,而只需发布 LGPL 的库即可。

另请注意,GPL/LGPL 仅要求您将源代码提供给您向其提供二进制文件的人。例如,它不需要您将源代码放在网络上以供世界上任何人下载。一个可靠的遵守方法是将源代码打包到您的发行版中,以便人们将其与二进制文件放在一起,然后没有人可以抱怨源代码不可用。

You are redistributing the modified code of the LGPL library, so you need to release the source for that library (your bug fix). That does not mean you need to release the source code for your entire application, just the library that's LGPL'ed.

Also note that the GPL/LGPL only requires you to give the source code to someone that you give the binary to. It does not require you to e.g. put the source on the web for anyone in the world to download. A sure way to comply is to pack the source inside your distribution so people get it together with the binaries, then nobody can ever complain that the source wasn't available.

梦萦几度 2024-08-20 09:09:42

另一种解决方案(尽管可能并不总是可行)是从 LGPL 库派生您自己的子类,并在那里进行必要的修复。当然,更好的方法是将修复程序提交给库的维护者,但如果您需要尽快发布代码,这可能是需要考虑的事情。通过派生内容,您并没有违反 LGPL。

来自许可证:

“应用程序”是指使用图书馆提供的接口但不以图书馆为基础的任何作品。定义库定义的类的子类被视为使用库提供的接口的一种模式。

Another solution (although it may not always be possible) is to derive your own subclasses from the LGPL'ed library and make the necessary fixes there. Of course a better approach is to submit the fix to the maintainers of the library, but if you need to ship your code soon, this may be something to consider. By deriving stuff, you're not violating the LGPL.

From the License:

An “Application” is any work that makes use of an interface provided by the Library, but which is not otherwise based on the Library. Defining a subclass of a class defined by the Library is deemed a mode of using an interface provided by the Library.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文