导入导入GPL库的库?

And*_*yuk 7 python licensing

所以我正在导入一个库(reportlab),它是获得许可的BSD,但它本身使用了一些许可GPL的库.

我的问题是,如果我将reportlab导入python - 我是否必须遵守BSD或GPL许可?

agf*_*agf 8

IANAL.您必须遵守您正在使用的所有包裹的许可证.

但是,大多数人会说如果你只使用这些库的公共API,理论上它们可以换成实现相同API的其他库,你的代码不属于GPL,只对你对这些库做的任何修改.

例如,这是Linux内核开发社区的观点.

编辑:在查看reportlab的站点之后,很明显,如果您不使用PyXML解析器,那么您只受BSD许可证的约束,因为您没有使用任何GPL代码.

此外,如果您不分发任何GPL程序包,则评论中会提出您的代码是否受GPL影响的问题,因为GPL主要处理根据许可证修改代码并重新分发该代码.答案是,如果您的代码是GPL代码的衍生作品,您必须根据GPL许可您的代码,无论是否重新分发原始GPL代码.

  • 看我的编辑.Linux内核是GPL而不是LGPL,他们认为专有驱动程序是可以的,因为它们不是Linux的"衍生作品",它们只是实现了一些API.我们都在同时编辑.许多发行版包括二进制模块标准,这并不相关:如果GPL不允许这样做,那么制造二进制驱动程序的每个公司都会违反,包括AMD和NVidia,就在我的脑海中. (2认同)

Ste*_*ven 0

IANAL 要么,但我认为只要您不打算分发其他软件,它就不会发挥作用。例如,如果您只是告诉您的用户“您必须安装 pyRXP 才能使用它”(如果您制作“reportlab”可能会更容易),我认为 GPL 不适用于您自己的代码。

编辑:虽然在这种特殊情况下使用reportlab工具包没有问题,但上述解释似乎并不正确(请参阅下面agf对此答案的评论以及他自己的答案)

请注意,reportlab 工具包(尽管它来自同一家公司“ReportLab”)不一定使用 pyRXP。它们是两个不同的东西,每个都有自己的许可证。

查看reportlab的源代码,在reportlab.lib.rparsexml,似乎只有安装了pyRXP(单独安装,因为未包含它),才会导入pyRXP,如果pyRXP不可用,它会使用另一个xml解析器。(我猜这是他们允许使用 pyRXP 的方式,并且仍然将 reportlab 保持在 BSD 许可证下)

但也许你最好在reportlab邮件列表上询问......