GPL依赖关系的后果是什么?


12

我正在为公司开发软件,我想使用GPL许可下的某些库。

会有什么后果?这是否意味着在这些GPL依赖之上开发的代码也将在GPL下?我有义务发布这些产品的源代码吗?

Answers:


11

我不是律师,但是.. GNU GPL相当简洁地列出了其要求。我建议您阅读它,您肯定需要您的管理人员才能阅读它。

但是,GPL是版权许可。因此,如果您不将派生的软件分发到公司外部,则通常不适用。

如果您正在开发商业软件,那么显然不是这种情况,但是如果您正在开发内部软件,而实际上您不会将软件发布给任何人,那么GPL就不适用。


请问为什么有人投票反对?
TZHX 2011年

可能是因为您使用了“商业广告”,对于斯托曼和某些FSF粉丝来说,这似乎是一个敏感的问题。“商业软件”不一定是“待售软件”的同义词。
David Thornley,

1
@David Thornley-嗯,那不是我要表达的意思。但是我可以看到歧义的可能性。感谢您提供原因,我将尽力以后再予以注意。
TZHX 2011年

也许“专有”比“商业”更为精确?
杰弗里·汉汀

3

没有。如果您不以某种方式(与软件是否免费无关)向公众提供该软件,则无需更改您自己的软件的许可证(或发行其中的任何一个)。


2

您只需将源分发给分发二进制文件的任何人。小心使用许可,也许这些库是LGPL而不是GPL,在您的情况下这不是病毒。


2

我强烈建议您阅读GPL常见问题解答。理解GPL有不同的风格,并且您要使用哪种库会对您的项目产生不同的影响。 本页描述了可用的不同GNU许可证。我相信有关“ 为什么不使用LGPL ”的文章颇具说服力。

了解GPL 的学说,以及GPL可以实践的内容。要走出这些库的复杂性,它将如何影响您的商业项目以及如何解决这些问题,请与律师交谈。有专门从事GPL咨询的律师。GPL受当地法律约束,可能会取代许可条款。理查德·斯托曼(Richard Stallman)(对您来说是GPL先生)的议程是尽可能多地开发软件,“尽可能自由,而不是啤酒”。

要理解的关键术语是:发布链接与嵌入(关注LGPL)和分发。如果您的项目属于许可范围之内,则GPL变体要求您将源代码提供给要求它的任何人。它不需要您将其托管在任何人都可以下载的网站上。使它成为可用的蜗牛邮件请求,如果您选择这样做,则通过纸质打印发送。虽然这不符合GPL的精神,但符合许可证的规定。

如果要求您提供源代码,大多数公司将不会考虑它,因为在他们看来,如果其他人可以访问他们的“秘密武器”,那么竞争对手发布其软件新版本的障碍将被消除。即使您不分发构建脚本,也没有什么可以说其他人不能随便在源代码的分布式副本上创建它们的。

注意:可能值得检查一下要使用的库是否有BSD / MIT / ASL样式许可的版本。在许多情况下,这会绕过GPL的整个问题。BSD / MIT / ASL许可证旨在允许公司将库纳入其商业项目中,而不会产生任何病毒性副作用。尽管没有任何要求图书馆用户回馈的内容,但在大多数情况下,他们仍然会这样做。简而言之,这表明理查德·斯托曼的某些论点是有缺陷的。RS确实提供了一个目的,这是提供平衡的最佳选择。并非所有GPL支持者都同意RS对自己许可的解释,这也加剧了混乱。

该常见问题解答最简洁地回答了这个问题。


2
不,您不需要将源代码提供给任何请求它的人。您需要将其提供给直接或间接从您的二进制代码接收人的人(有关详细信息,请参阅许可证)。
David Thornley,


0

GPL是一种高度病毒性的许可证。如果您在程序中的任何位置使用任何GPL库并最终发布或分发它,则根据许可条款,您的整个程序必须以GPL或兼容许可证的形式发布。


6
If the program is published,它必须符合GPL要求或兼容。它doesn't have to出版。
Arnaud Le Blanc

为过分学究而省心。我认为那是显而易见的。
梅森惠勒

您希望这一点很明显。但是,我一直看到问题和声明声称该程序必须发布,因此显然不是。由于您已经进行了编辑,因此它不再支持相当流行的误解,因此我删除了我的下一篇投票。
David Thornley,
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.