2012-10-24 52 views
0

我一直在研究关于销售最初在GPL下分发的软件的整个问题,并且出现了一个问题。如果我创建一个使用GPL库ABC的软件X,我可以在商业许可下分发我自己的代码,同时保持GPL为ABC的代码?GPL和商业许可证可以共存于同一软件中吗?

我认为应该可以,我不相信GPL许可证可以在使用 GPL编码的软件上执行。

回答

0

让我们来澄清一下销售软件的第一点: GPL许可证并不妨碍您使用它销售软件,但它确实会阻止您将其作为封闭源代码软件销售。 如果您是GPL的原始版权所有者,您可以选择根据多个许可证分发代码,并将其与商业许可证一起出售。如果您没有拥有代码中的所有IP,那么您必须遵守不属于您的代码的许可证。如果它是GPL,您别无选择,只能将该许可证转交给您将分发的代码,因为它将被视为派生工作。使用GPL,您可以将其出售,但您必须在交易中放弃来源。

请注意,对于某些语言,软件实际上以源代码形式(脚本语言)分发,因此如果使用GPL,将自动执行。至于第二点:如果您的软件和GPL软件都可以编译为独立程序,然后在运行时通过某个中间层与其他人交互(想想2个进程与TCP通信或通过文件交换数据),那么我想这是可以的,但其他人可能会对此有更明智的看法。 LGPL的设计是针对这种情况的特定情况,即库(DLL或静态库),这就是为什么我有点不确定。

如果您的软件包含ABC,或者相反,那么整个工作是一项衍生工作,并且必须是GPL。

+0

感谢您的答案(尽管我开始讨厌GPL)。但是,我想知道如果使用脚本语言和多个不同许可证下的库来构建软件会发生什么情况。例如,一个是GPL,一个LGPL,一个是MIT等。无法同时执行所有这些操作,那么会发生什么? – Diego

+0

@Diego:这取决于。你需要检查兼容性。 http://www.dwheeler.com/essays/gpl-compatible.html如果你喜欢它下面的软件,也不要讨厌GPL。尊重作者对许可证的选择。 – hakre

+0

@Diego:许可证非常明确:第0条规定该程序为“任何此类程序或作品[其中包含版权所有者声明可能根据本通用公共许可证发布的通知)”,和“基于本程序的作品”是指本程序或版权法下的任何衍生作品:也就是说,包含本程序或其中一部分的作品,不论是逐字的还是经过修改和/或翻译成另一种语言的作品“ 。唯一的条件是将某些GPL代码以某种方式包含在整个GPL中。 – didierc