I'd like to use gSOAP in a product which will be distributed commercially. The use I have in mind is what I suspect is a pretty typical workflow—generating a header using wsdl2h, consuming the header with soapcpp2, and then calling the functions generated in the stub in my code.
I'm not 100 percent sure which license(s) I need to use to be able to do this. Has anybody here already gone through this and figured out the solution?
I hope the following clarification helps. Please contact us at contact@genivia.com for questions.
The gSOAP software requires a commercial license for commercial product development if any one of the following conditions hold:
If you use wsdl2h to generate code. Because the generated code is GPL by default, you should obtain a commercial license from Genivia (www.genivia.com/Products/gsoap/contract.html). The wsdl2h tool itself is GPL and we hold the rights to it. The tool's source code or binaries cannot be sold at all.
Or you use the web server code in gsoap/samples/webserver. This component is GPL by default.
Or you use the UDDI components in gsoap/uddi2, which are also GPL by default.
The commercial license is a development site license. There is a one-time fee for perpetual use of gSOAP to develop a product (a "target application"). No royalties.
The other good news is that all other parts of the software are released under the gSOAP public license, which allows commercial use without fees.
So the answer is that as long as you do NOT use wsdl2h, do NOT use the web server code, and do NOT use the UDDI code then you can use the gSOAP public license for free (which is based on the MPL1.1 open source license and a copy of the gSOAP public license is included in the package).
Hope this clarifies our licensing model.
- Robert van Engelen, Genivia Inc.
From the site:
Important note: the wsdl2h WSDL
parser, UDDI code, and sample
applications such as the stand-alone
web server are distributed ONLY under
the GPL or the proprietary license.
This means either your product will have to be entirely licensed under GPL (hence you would need to opensource your app if not so already), or you have to purchase a commercial license.
You have to purchase a commercial license -- one per project in which gSOAP is to be used. We've been using it very successfully in a few of our projects here.
The gSoap licence is quite unclear, and I think part of it is even wrong. For example, GPL use and commercial use are opposed in the licencing, which is plain wrong.
Moreover, a code generator which is GPL doesn't necessarily produce GPL code:
http://www.gnu.org/licenses/gpl-faq.html#WhatCaseIsOutputGPL
As I understand the GPL, as long as you release all derived products under the GPL, the code is free for even commercial use. Of course most companies don't want to release their source code for anyone to copy freely, hence the commercial license. I think Genivia's summary is not as clear as it could be on this one point.