我正在考虑在我的项目中使用 libavcodec,我知道它在 LGPL 许可下,但我不太了解许可。
我的项目不是开源项目,libavcodec中的代码我也没有改。我只能使用链接方法来使用 libavcodec。
有了这些条件,我想问一下:我可以在我的项目中使用 libavcodec 吗?
谢谢。
我认为我们这里的许多人都不是律师,所以请用适当大小的盐(或者最好是专业的法律建议)来回答任何问题,但是...
在代码的版权方面,LGPL 提供了一个许可证来做你想做的事:你必须使 libavcodec 的代码可用,以及你对它所做的任何修改,但你不必制作你的代码可用的。
(编辑:正如下面 Pavel 所指出的,您需要允许您的用户也对您的 libavcodec 副本进行修改;实际上,动态链接到 libavcodec 是遵守这一点的最简单方法。)
对于您正在做的事情,版权可能不是唯一的考虑因素。如果您在/分发到美国,可能还有其他国家/地区,您还需要担心软件专利——libavcodec 实现的许多编解码器都受专利保护,并且要合法,您需要获得专利所有者的必要许可。
您是否可以使用该库的答案取决于您对“使用”的概念。你最好阅读原始的LGPL 文本,它没有 GPL 的文本那么大。它与 GPL 之间的区别要求您为用户提供在您的应用程序中更改 LGPL 的库代码(例如,升级它或修复库中的错误)的可能性,而无需反汇编您的程序,破解它并对抗崩溃由于某种完整性检查。如果满足此条件,您不必使用 GPL 许可您的产品。
这实际上意味着您将您的应用程序与 libavcodec 动态链接。或者提供一些其他方便的机制来更改LGPL 的代码,因为库的授权允许此类更改,您应该尊重它。这也意味着您不能在源代码中使用 libvacodec 的部分代码(除非您包含头文件),因为用户将失去更改该代码的能力。