我可以在BSD / X11许可的项目中使用LGPL库吗?
时间:2020-03-06 14:27:34 来源:igfitidea点击:
我正在编写一个小型通用库,我想在我的BSD / X11许可项目中使用它。我想特别地在其中包含全球化支持,我想使用glibmm的Glib :: ustring,它已获得LGPL许可。问题来了:关于BSD / X11比LGPL更宽容,我可以在我的BSD / X11许可库中使用这段代码吗?
解决方案
IANAL,但是...
只要我们遵循LGPL中的链接限制,就可以了。基本上,用户必须能够修改LGPL的代码。由于代码是BSD许可的,并且BSD许可允许二进制文件不带源代码(这会违反LGPL),因此我们需要创建一个根据LGPL许可的所有LGPL代码的动态库,并使用它。
IANAL,但我相信这是允许的。 BSD许可证中没有任何内容可以阻止我们混入其他许可证的代码,并且LGPL不在乎我们将其链接到哪个许可证。但是,我们将受到以下限制:
1)对于BSD部分,如果有一个归因条款,我们仍然需要尊重它,并在文档等中包含适当的归因。
2)对于LGPL库,我们需要使库的源对项目二进制文件的收件人可用。
@布拉南:我目前对LGPL第4节(IANAL)的理解:
- AFAIK,制作动态库的责任在于分发仅二进制版本(或者与LGPL不兼容的版本)的一方,而不是在许可方上(假设许可方未分发仅二进制/ LGPL不兼容的版本) 。
- 如果仅二进制版本分发了许多目标文件(对应于许可许可的代码),然后用户可以将其与LGPL库的自定义版本重新链接,则静态LGPL库也可以。
- 在任何情况下,仅二进制代码都必须允许逆向工程,以允许用户自定义LGPL库,并且仍然可以将其链接到目标文件。