我正在为中小型公司开发CRM系统,我想将GPL软件作为模块集成到我的系统中(根据我的需求进行一些修改)。将其作为商业产品许可是否合法?
感谢。
答案 0 :(得分:7)
在商业产品中使用GPL是一件非常复杂的事情。在GPLv2时代,有一个灰色区域在GPLv3中已经彻底清理过。要提供详细信息,您应该告诉我们您正在使用的模块以及它所属的GPL版本。
这一切都归结为“你的代码是GPL模块的衍生作品”。举一个愚蠢的例子。如果GPL模块是一个bubbleort并且您的应用程序使用模块的API,那么它就是派生的工作,所以一切都属于GPL。如果您在模块周围进行Web服务,则Web服务是GPL,但使用Web服务的任何内容都不是。在一个更加灰色的区域,如果您使用其他排序算法的旧代码并且您创建“包装”层以将API从旧排序转换为新排序,那么只有包装层是GPL,因为原始应用程序是不是衍生作品(在使用GPL模块之前可以使用它,而不是用GPL模块编写)。请注意,这是非常值得商榷的,但是基于对GPLv2的这种解释,存在非GPL二进制Linux内核模块之类的东西。
就像尼尔已经说过的那样:落入GPL并不意味着你必须发布你的代码。只有拥有软件许可证的人提出要求时,才应提供。除非他/她实际购买了应用程序,否则随机的人不能只是要求代码。当然,只有一个人必须购买它,然后他/她用代码做任何他/她想做的事情(比如发布它)。
答案 1 :(得分:4)
这取决于“商业产品”的含义。如果您使用GPL代码,您的代码将被GPL涵盖,您无法为其提供删除GNU许可证条款的许可。这并不意味着您不能销售该产品,但它确实意味着您必须根据要求向您的被许可方提供其源代码。
答案 2 :(得分:2)
像往常一样,IANAL,但是:
如果您使用的是GPL许可的软件模块,您的软件将属于“衍生作品”的定义,因此也已根据GPL许可。
但是,您需要自己查看“衍生作品”的确切定义。
答案 3 :(得分:1)
如果您未随产品发运任何GPL许可软件,我认为您没事。