我可以出售分叉的GPL代码吗?


9

我知道可以出售GPL代码,但我想知道是否可以出售经过分叉和修改的GPL代码。分叉和修改后的代码仍然可以使用,修改和重新分发。


5
是的,您只是按照预期在许可证下行使权利。反对最初的GPL的论据之一是“没人会用它赚钱”,这被证明是错误的。
Tim Post

3
只需记住,当您进行分叉时,分叉的代码将一直保留到GPL。
迈克尔·科恩

1
...是的...但是谁愿意为他可以免费下载和构建的东西付费?
dagnelies 2012年

2
就GPL而言,“主线”和“分叉”衍生作品之间没有区别;两者都是衍生作品。
MSalters 2012年

4
@arnaud希望能够在出现问题时致电/电子邮件支持并说“为我修复”的人,而不是在论坛上寻找解决方案或亲自研究代码。
Dan在火光中摆弄

Answers:


14

是的,这是允许的,但是您仍然必须满足许可证的所有要求。无论您出售给谁,都必须按照GPL的规定使用,修改和重新分发。


1
而且不需要分叉代码!
Jaydee 2012年

@Jaydee-如果他不打算将所有更改都推回主项目,它将执行此操作。在那种情况下,无论他是否称其为叉子,他都会有效地分叉主项目。
迈克尔·科恩

1
抱歉,我应该更清楚一点,我的意思是所有GPL代码都可以出售,不需要为此目的将其分叉。您对更改的代码是正确的。
Jaydee 2012年

3

自由软件运动一直在免费与使用/修改/再发行的自由之间明确地区分。GPL显然是关于后者的。唯一的基本问题是完全遵守许可的所有条款。显然,您打算这样做,所以这不是问题。

总结: GPL中的任何内容都不能阻止您为程序付费。

可能出现的唯一问题独立于GPL,而仅仅是逻辑/心理问题:如果修改后的程序可以自由重新分发,因此可以使用,那么为什么有人会为此付费呢。它仍然没有使它不可撤销。


1
实际上,我已经在Android makret上看到了一个GPL应用程序,该应用程序出现过两次,一次免费,一次付费。它是相同的应用程序。带有诸如“该应用程序是免费和开放源代码的,但是如果您喜欢它,可以考虑捐赠,只需选择付费版本即可完成……”之类的注释。
Jan Hudec

1
“为什么有人会为此付费?” -简单:最初即可获得。GPL并不表示您必须免费提供它;取而代之的是,您可以根据需要收取任意费用,但必须允许客户免费提供,并且必须提供源和更改,分发等的权利。因此,如果您创建了一个非常有用的GPLed程序的重要组成部分,并且有人迫切需要它,您可以像设置专有产品那样设置价格。警告:您只能这样做一次,因为第一个客户始终可以成为第二个客户的竞争对手。
user281377

我认为该代码必须免费提供和分发。可以在应用程序中放置指向代码的链接来满足此要求,但在GPL中没有说明必须自由分发已编译的二进制或库。我可能是错的这个though-
lukecampbell

可以通过GPLed出售代码和软件,但不是出于这个原因,该软件应该对所有人开放!仅将代码共享给有限数量的实体是完全合理的。

嘿...自由软件基金会最初是通过销售自由软件发行本身筹集资金的:-)
Ross Patterson

3

在您阅读并完全理解许可证之前,您不应对GPL代码做任何事情。具体来说,GNU Public License版本3的序言第三段说:

当我们谈论自由软件时,我们指的是自由,而不是价格。我们的通用公共许可证旨在确保您可以自由分发免费软件的副本(并根据需要付费),可以接收源代码,也可以在需要时获得源代码,从而可以更改软件。或在新的免费程序中使用它,而您知道您可以做这些事情。

这似乎可以回答这个问题,但是第5节专门介绍了“ 传送修改后的源版本”

如果您还满足所有这些条件,则可以根据第4节的条款,以源代码的形式传达基于本程序的作品或从本程序产生的修改作品。

第10节从本质上解释说,尽管您可以为代码收费,但您必须保持许可证的完整性,并且不能针对根据GPL行使其权利而向某人收费。


1
这意味着有人可以分叉他的代码,然后将其分发,对吗?
Ramhound 2012年

@Ramhound:是的,任何获得源代码的人都可以将其进一步分发,并且您必须将源代码提供给您提供二进制文件并要求它的任何人(您也可以为此付费,但是GPL将其限制为“不超过您以合理的方式实际进行源代码传递的费用”,并且仅当二进制和源代码都在物理介质上装运时;互联网下载必须是免费的)。
Jan Hudec 2012年

1
我改写为“ 在阅读并完全理解许可之前,您不应对包含分发的 GPL代码做任何事情。” GPL严格来说是分发的许可证,并且如果您不分发软件,则对您如何使用或修改软件也没有任何限制,因此在完全不了解许可证的情况下使用 GPL软件是完全安全的。

@SunAvatar在您了解许可证之前,您真的不应该对任何代码,GPL或其他方式执行任何操作。就您所知,许可证可能会说您必须在黎明时牺牲一只鸡。(谁想要这么早起床?)更重要的是,在您理解术语之前,您可以合理地假设(GPL编写的)免费软件中的“免费”意味着您可以使用它来做自己想做的事,从而未能意识到将某些代码合并到您自己的项目中可能会影响您如何分发项目。
Caleb

3

是的,继续努力,要注意许可证说明您必须将源提供给分发软件的任何人。这方面不是可选的。您还需要了解,您不能阻止您的用户将软件提供给其他人(下面的FSF链接解释了这些要点)。

这是FSF 出售GPL软件的页面,基本上是“是的,您可以做到,但您仍然必须遵守许可”。

要注意的一件事-有很多人将GPL与免费(如啤酒)软件相关联,而不仅仅是自由地使用所获得的软件来做您想做的事情。如果该软件周围有很多社区,那么当您尝试出售分叉版本时,可能会不幸地被迫退回。一种反应可能是您试图从他人的辛勤工作中赚钱。

如果可以的话,使您的资源普遍可用。在适当的情况下,您可能还需要考虑将一些更改向上推动到原始项目。这对于您的业务计划可能没有意义,但是如果您可以改变它,那么对于将任何认为您只是从社区中逃脱出来的人拒之门外,将有很大的帮助。


1
您应该确定。您无法阻止客户前进。这就是许可证存在原因。
Jan Hudec 2012年

@JanHudec-编辑进行修复。甚至在“销售免费软件”链接中。
迈克尔·科恩

1

当然,您可以出售其版权全部或部分由他人拥有的GPL软件。这样做就像免费分发它,并且受到完全相同的限制。只是您要分配给的组是“首先付给我10美元的人”。

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.