3

When developing backend - serverside code - for websites or web services and using a GPL or CDDL library, such as https://tyrus.java.net/. I would just "use" the functionality of the library. No modifications would be made to the tyrus libraries.

  1. Do I have to release the code of the whole project or any part of the project if everyone can access the web service?
  2. If I develop a web service / application, distribute it to "customers" and use a GPL library, do I have to release the code of the whole project?
  3. If I would give someone my .war file (web service/web application), do I have to give the source code too?

It is stated http://www.gnu.org/licenses/agpl-3.0.de.html that

The GNU General Public License permits making a modified version and letting the public access it on a server without ever releasing its source code to the public.
1

1 Answer 1

3

Because the Project Tyrus is licensed under the CDDL Version 1.1 and GPL Version 2 with the Classpath Exception, the product is dual-licensed. That means you get to choose which license best meets your needs - CCDL v1.1 or GPL v2.

Do I have to release the code of the whole project or any part of the project if everyone can access the web service?

Regardless of which license you choose to use the project under, you do not need to distribute any source code if you are providing access to a web service. This applies even if you make modifications to the source code under the license.

The CCDL requires, in Section 3.1 Availability of Source Code, that if you distribute you make available an executable form of the software, then the source code must also be distributed. Based on my understanding of the CCDL, allowing people to access your product as a service does not constitute distribution, so this doesn't apply.

The GPL is similar, as described in Section 3. The requirement to either include the source code or the information necessary to obtain the source code only applies if you distribute the object code or executable. Web services are not considered distribution, which is one of the gaps closed by the GNU Affero General Public License.

If I develop a web service / application, distribute it to "customers" and use a GPL library, do I have to release the code of the whole project?

If you distribute the executables or object code to customers, you do not need to deliver the source code to them.

Section 3.5 of the CDDL addresses distribution of execution. You need to make the source code of the CDDL licensed software available under the terms of the CDDL, but you do not need to make your software's source code available. Section 3.6 defines a Larger Work as Covered Software (software under the CDDL) with other code under a different license that is distributed as a single product.

Normally, the GPL requires that the source is available to anyone with the binary. However, this project adds the Classpath Exception to the GPL Version 2. This prevents the GPL from being viral if you link (statically or dynamically) to the licensed work. Again, though, you do need to comply with the GPL for the library by ensuring that users know that your product contains a library with this particular license and provide them the source code to the library that you are using.

If I would give someone my .war file (web service/web application), do I have to give the source code too?

This is the same as the previous question. It doesn't matter if you give or sell.

2
  • Awesome answer!! Just to clarify, is the following statement "If you distribute the executables or object code to customers, you do not need to deliver the source code to them. " referring to GPL in general or to a web service/website using a GPL library? Because you mention "Normally, the GPL requires that the source is available to anyone with the binary". Maybe you could rephrase the 2nd answer a bit more precise regarding GPL? big thx
    – Gero
    Mar 24, 2016 at 23:21
  • @Gero I don't understand your question. The first statement is specific to the license terms (CDDL or GPLv2 with Classpath Exceptiion). The statement about the GPL requiring access to the source code for the binary is also correct, but you don't have the GPL - you have the GPL with Classpath Exception, which is a different license than the GPL.
    – Thomas Owens
    Mar 24, 2016 at 23:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.