我想在将要进行商业分发的产品中使用 gSOAP。我想到的用途是我怀疑是一个非常典型的工作流程——使用 wsdl2h 生成标头,使用 soapcpp2 使用标头,然后在我的代码中调用存根中生成的函数。
我不能 100% 确定我需要使用哪个许可证才能做到这一点。这里有没有人已经经历过这个并想出了解决方案?
我想在将要进行商业分发的产品中使用 gSOAP。我想到的用途是我怀疑是一个非常典型的工作流程——使用 wsdl2h 生成标头,使用 soapcpp2 使用标头,然后在我的代码中调用存根中生成的函数。
我不能 100% 确定我需要使用哪个许可证才能做到这一点。这里有没有人已经经历过这个并想出了解决方案?
我希望以下澄清有所帮助。如有问题,请通过 contact@genivia.com 联系我们。
如果满足以下任一条件,gSOAP 软件需要商业产品开发的商业许可证:
如果使用 wsdl2h 生成代码。由于生成的代码默认为 GPL,因此您应该从 Genivia 获得商业许可(www.genivia.com/Products/gsoap/contract.html)。wsdl2h 工具本身是 GPL,我们拥有它的版权。
或者您使用 gsoap/samples/webserver 中的 Web 服务器代码。该组件默认为 GPL。
或者您使用 gsoap/uddi2 中的 UDDI 组件,默认情况下也是 GPL。
商业许可证是开发站点许可证。永久使用 gSOAP 开发产品(“目标应用程序”)需要支付一次性费用。没有版税。
另一个好消息是,该软件的所有其他部分都是在 gSOAP 公共许可证下发布的,允许免费商业使用。
所以答案是,只要你不使用 wsdl2h,不使用 Web 服务器代码,不使用 UDDI 代码,那么你就可以免费使用 gSOAP 公共许可证(它基于 MPL1.1 开源许可证和 gSOAP 公共许可证的副本包含在包中)。
希望这能阐明我们的许可模式。
从网站:
重要提示:wsdl2h WSDL 解析器、UDDI 代码和示例应用程序(例如独立 Web 服务器)仅在 GPL 或专有许可下分发。
这意味着您的产品必须完全获得 GPL 许可(因此,如果尚未开源,您需要将您的应用程序开源),或者您必须购买商业许可。
您必须购买一个商业许可证——每个要使用 gSOAP 的项目一个。我们在这里的一些项目中一直非常成功地使用它。
gSoap 许可证非常不清楚,我认为其中一部分甚至是错误的。例如,在许可中反对 GPL 使用和商业使用,这是完全错误的。
此外,GPL 代码生成器不一定会生成 GPL 代码: http ://www.gnu.org/licenses/gpl-faq.html#WhatCaseIsOutputGPL
根据我对 GPL 的理解,只要您在 GPL 下发布所有衍生产品,代码甚至可以免费用于商业用途。当然,大多数公司都不想发布他们的源代码供任何人自由复制,因此需要商业许可。我认为 Genivia 的总结在这一点上并没有那么清楚。