我需要将LGPL许可的代码编译成专有的静态iOS库。由于代码是在静态库中使用的,因此我无法链接到LGPL许可库的预编译版本。
我该怎么做?如果我把它编译到我的lib中,我必须释放什么?我显然不能发布(全部)专有源代码。
我所说的特定库是libical,它是根据LGPL 2.1或MPL 1.0许可的。
LGPL许可证规定您需要提供三个比特:
- 您的产品中使用的LGPL源代码。
- 专有代码的对象文件
- 一个构建源代码并将其与目标文件链接的工具,从而生成与提交到Appstore的产品完全相同的产品。
这是繁琐和复杂的,但非常可行。
以通常的IANAL开头:
取决于它使用的LGPL版本。如果是版本2,在被要求提供源代码之前,您不需要提供源代码。许可证就是这样写的。然而,当被请求时,您需要通过一些容易访问的媒体提供它。
如果是LGPLv3,我的建议是找另一个库。GPLv3系列许可证与AppStore发行完全不兼容。