7

我正在为中小型公司开发 CRM 系统,我想将 GPL 软件作为模块集成到我的系统中(根据我的需求进行一些修改)。将其作为商业产品许可是否合法?

谢谢。

4

4 回答 4

7

在商业产品中使用 GPL 是一件非常复杂的事情。在 GPLv2 时代,有一个灰色地带,在 GPLv3 中已经被彻底清除了。要提供详细信息,您应该让我们知道您正在使用哪个模块以及它属于哪个 GPL 版本。

这一切都归结为“你的代码是 GPL 模块的派生作品”。举一个愚蠢的例子。如果 GPL 模块是一个冒泡排序并且您的应用程序使用该模块的 API,那么它是一个派生作品,所以一切都属于 GPL。如果您围绕模块创建 web 服务,则 web 服务是 GPL,但使用 web 服务的任何东西都不是。在一个更加灰色的区域中,如果您有使用另一种排序算法的旧代码,并且您制作了一个“包装”层以将 API 从旧排序转换为新排序,那么只有包装层是 GPL,因为原始应用程序是不是派生作品(它在您使用 GPL 模块之前可用,并且没有考虑到 GPL 模块编写)。请注意,这一切都值得商榷,但是基于 GPLv2 的这种解释,存在诸如非 GPL 二进制 Linux 内核模块之类的东西。

就像 Neil 已经说过的:遵循 GPL 并不意味着您必须发布您的代码。只有当拥有您的软件许可证的人要求它时,您才应该提供它。除非他/她实际购买了该应用程序,否则一个随机的人不能只索要代码。当然,只有一个人必须购买它,然后他/她对代码做任何他/她想做的事情(例如发布它)。

于 2009-06-10T22:16:54.863 回答
4

这取决于您所说的“商业产品”是什么意思。如果您使用 GPL 代码,您的代码将被 GPL 覆盖,并且您不能为其提供删除 GNU 许可证限制的许可证。这并不意味着您不能销售该产品,而是意味着您必须根据要求向您的被许可人提供其源代码。

于 2009-05-23T08:35:32.210 回答
2

像往常一样,IANAL,但是:

如果您使用的是根据 GPL 许可的软件模块,那么您的软件将属于“衍生作品”的定义,因此也已根据 GPL 许可。

不过,您需要自己查看“衍生作品”的确切定义。

于 2009-05-23T08:32:38.470 回答
1

如果您的产品不附带任何 GPL 许可软件,我认为您没问题。

  • 然后用户必须下载程序
  • 如果您对 GPL 程序进行任何更改以进行分发,您必须发布那些
于 2009-05-23T08:32:25.960 回答