假设我正在编写一个支持插件的程序,并且我编写了一个插件,它引用了一个在 LGPL 下许可的程序集(.net),我现在必须让整个项目开源并在 LGPL 下吗?
4 回答
LGPL 和 GPL 之间的主要区别在于 LGPL 不对最终用户可以互换的模块之间施加任何许可要求。
因此,只要最终用户可以替换第三方程序集的不同但兼容版本,并且只要您遵守 LGPL 的其他要求(例如,如果您分发该第三方程序集,请提供适当的归属),您就可以许可你喜欢的东西。
这取决于参考的性质。如果“有一个参考”类似于“链接一个库”,那么您不会被迫根据 LGPL 许可您的软件。这就是 LGPL 和 GPL 的不同之处。
咨询律师是获得此类完整、准确建议的唯一途径。
话虽如此,只要您将 LGPL 代码保留在独立的 .NET 程序集中,您应该没问题。如果您直接在项目中使用代码,您可能会遇到其他问题,但只要 .NET 程序集保持原样,并且仅由您的项目使用,您就不必打开代码(尽管您确实需要遵循 LGPL 的其他限制 - 主要是分发适当的许可证文件、提供对程序集代码的访问权限以及使用适当的归属)。
对不起,这个线程很老了。但是还是看不太清楚。所以这是我的回答
当库或框架是 LGPL 时,您可以在商业项目中自由使用这些库(是的。您可以出售它)。你不需要让你的代码开源。
只有在以下情况下,您才必须使代码开源: 1. 您更改库/框架的代码。或 2. 您静态链接库。(如果你动态链接就不用担心了。在windows中你可以使用.dll文件动态链接)