使用GPLv3 Python模块,我的整个项目是否必须获得GPLv3许可?


19

我现在正在开发一个小型项目,因此我计划根据开放源代码许可证进行发布(尚未决定哪个版本)。我的问题是,我使用的Python模块之一已获得GPLv3许可。由于我没有对库进行任何修改(按原样使用),我是否仍可以根据自己选择的许可来许可我的项目,还是会被迫也将其制作为GPLv3?


4
SO是不是律师....
克里斯·汤普森

2
如果包含该模块,是的,您必须遵循许可证。如果导入的模块是在用户计算机上单独安装的,则我认为这是灰色区域。见en.wikipedia.org/wiki/...
托马斯ķ


Answers:


12

您必须按照GPLv3发行软件。

许可说明确(逗号5):

您必须根据本许可将整个作品作为一个整体许可给拥有副本的任何人。因此,本许可证以及所有适用的第7条附加条款,将适用于整个作品及其所有部分,无论其包装方式如何。本许可不授予以任何其他方式许可作品的许可,但是,如果您单独收到该许可,则不会使该许可无效。

我认为非常简单。根据FSF(以及AFAIK的一些法院裁决),如果程序本身也不是GPL,则任何形式的库链接都将受到侵犯。

另一方面,LGPL的设计正是为了允许非自由程序链接到自由库。

高温超导


2
您引用的部分是给定GPLv3版本软件的修改版本。
tshepang 2011年

@Tshepang本节适用于“基于程序的作品”。IANAL,但我的理解是它肯定涵盖了在Python模块中链接的所有程序。
MarkJ 2011年

@Tshepang-是的。这就是FSF打算将任何软件链接到GPL库的方式(否则,周围就不会有LGPL!)。@MarkJ-您是正确的,请参阅我对法院对Zack答复的裁决的评论。
mac

有趣的是,这个答案有5个赞成票和2个反对票。现在,由于这不是youtube(喜欢/不喜欢),因此降票表示“此答案没有用”。我很想知道为什么拒绝投票的人认为它没有用:据我所知,答案在技术上是正确的,并回答了OP提出的问题...所以我很想知道我可以采用哪种方式使它更有用。:)
mac


-4

安全的做法是释放您在与GPLv3 兼容的许可证下编写的代码。GPLv3当然是与其自身兼容的,但是您可以选择很多其他许可证。在FSF的许可证清单是自以为是,但可被视为对这个问题,其中其他许可证与GPL的哪个版本兼容的权威。

我个人建议您使用“或根据需要选择任何更高版本”的语言在GPL版本2下许可代码。这样就实现了与GPLv3和GPLv2代码的兼容性,从而实现了与Copyleft许可证的最大兼容性。如果您不希望有版权,请使用X11许可证

如果您不希望发布源代码,则不应在任何 Copyleft许可下重复使用代码或数据-Copyleft的全部目的是增强源的可用性,因此在封闭源代码程序中使用Copyleft的材料是不道德的即使您没有违反许可证书的内容(我也不会告诉您该怎么做;如果您受约束并确定了,请咨询实际的版权律师)。


1
@Zack-Zack,您确定对兼容的解释吗?我一直将兼容许可证理解为“附加许可”(即,与使用双重许可证发布程序一样,称为“额外自由”)。我认为您无法 GPLv3 替换为其他东西,即使其他东西是“兼容的”。请参阅GPLv3逗号7的第一段。我错了吗?
mac

1
不可以。GPL对于兼容许可证无话可说。它说您必须使用许可证-即GPLv.3。整个问题是,您不能使用不是Copyleft许可证的许可证来发布代码。
杰里米

我认为具有兼容许可证的想法是,可以将多个许可证的作品合并在一起,以在GPL下创建两者的衍生作品,但是我不确定。
可替代

1
(我知道FSF对于在不修改库的情况下使用库接口的代码是否是库的衍生产品而正式不同意我的意见。)
zwol 2011年

2
@Zack-经过更多研究,恐怕不仅是FSF意见不同,而且还有美国,法国和德国的法院。一些法律诉讼最终以法院判决支持免费软件,但最后以违法者最终达成庭外和解(基本上是开放其代码或从其产品中删除免费代码)。我从Wikipedia开始研究,然后从那里开始,以防万一您还想研究更多内容:en.wikipedia.org/wiki/…–
mac
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.