Search code examples
licensingjava-ee-6

What license javaee-api 6.0 has?


I'm confused about license of javaee-api 6.0 The library with interfaces available at the maven repository says that it's CDDL 2 + GPL. I would expect Java API to be available with a less restrictive license for commercial distribution. Java community web-site doesn't provide any jars with interfaces, it just gives a specification. At the same time Oracle web-site doesn't mention any GPL terms when describing Java EE6 API. So is it possible to develop on Java EE6 without being forced to use GPL license for your product?


Solution

  • After some hours of investigation I have found out that CDDL 2 + GPL means you can use one of those licenses when using this library. So it's not a problem to have an application with non-GPL license using javaee-api 6.0. There is an explanation about this at the glassfish-site:

    https://glassfish.java.net/public/faq/GF_FAQ_2.html#terms

    Edit: Since the original link is dead by now, see here for an archived version:

    https://web.archive.org/web/20150923052903/https://glassfish.java.net/public/faq/GF_FAQ_2.html#terms

    Q: GlassFish is dual licensed. How do I choose which license to use? Anyone can download and use the GlassFish server under either the CDDL or GPLv2 + the Classpath exception software license. Where the licenses have effect is if you decide to distribute or modify the code. At the time you decide to distribute or modify the code, you have to choose a license. Once you make changes or distribute the code under your chosen license, all derivative works must be licensed in accordance with the terms of the license you choose.

    Q: Why is the GlassFish server dual licensed under CDDL and GPL v2? GlassFish server is dual licensed to support a more versatile free software business model. The GPLv2 license will provide an additional option to vendors who are unable to work with GlassFish under the CDDL license. It will also make GlassFish more Linux friendly. Additionally, this licensing model keeps Sun Microsystems' product portfolios and bundles consistent: NetBeans is dual-licensed under CDDL and GPL v2 + the Classpath exception.

    Q: Are you licensing the entire GlassFish server under this method? The majority of the GlassFish server code is available under the dual licensing scheme and a few components are available under CDDL, Apache or Mozilla Public License. See details about GlassFish components and the licenses under which they are covered.

    Q: How can something be released under two licenses? Dual licensing is the practice of distributing identical software under two (or more) different sets of terms and conditions. When software is dual licensed, the recipient can choose under which terms he/she wants to obtain the software. Generally, the two motivations for dual licensing are business models and license compatibility. For GlassFish server, we are distributing the code under two licenses, CDDL and GPL v2 + the Classpath exception to achieve license compatibility. This dual license allows for more flexibility when combining code licensed from various free software projects with GlassFish software. It allows users to choose the license they're most comfortable with. As a matter of policy, Sun never takes rights away. As a result, Sun has added GPL v2 + the Classpath exception as the option so that GlassFish will continue to be available under the CDDL license.