Java Champions respond to
Register Article on Oracle Pursuit of Java SE Licensing Fees
Using Oracle's Java SE for developing programs and running them in production on general purpose computing machinery is free of financial obligation to Oracle. In the area of value-add tooling, distribution, and non-general hardware, please carefully review the distribution and licensing conditions from Oracle.
On December the 16th, The Register, (an online publication) posted an article titled "Oracle finally targets Java non-payers – six years after plucking Sun"[1]. The article created a lot of uncertainty and concern in the Java and wider software community about what constitutes using commercial features within Oracle's Java SE vs the free usage of Oracle's Java SE as a programming language and runtime.
We would like to clear up some of the basic facts around Java licensing, especially with regards to using Oracle's Java SE SDK, which millions of Java developers around the world rely on to build applications.
The Register article reports that Oracle has increased its efforts in auditing customers who are using the non-free commercial features of the Oracle Java SE platform. Our understanding is that Oracle is simply enforcing the commercial licensing agreements for features that are add-ons to the Java development and runtime environment. Oracle has offered this rebuttal as well.
Java developers and businesses who use the Java SE JDK or JRE (the Java Development Kit or Java Runtime Environment) to build and run applications on general purpose hardware (including cloud deployments) are not using the non-free commercial features, and thus not subject to these licensing fees.
Please note: We are an independent group of Java users and we do not represent Oracle. If you have concerns about your usage of Oracle's Java products, we encourage you to contact Oracle and seek legal advice.
Oracle has a Java Product Page which clearly outlines its commercial offerings and discusses some of the licensing aspects around Java. You will also find the Java SE FAQ and Java SE Embedded FAQ are helpful documents to read. There's also a recent blog post on the various flavours of Java SE.
Oracle's commercial options for Java generally falls under one of two things:
As a developer, user or business you would have to make a very conscious choice to switch on these features (and accept the license agreement as you did so). For example, you need to explicitly set the -XX:+UnlockCommercialFeatures flag in order to use Flight Recorder and Mission Control (and even then you would not be charged if using this in development).
Java has multiple distributions of the JDK and JRE. The most popular is the Oracle binary distribution (which contains the non-free commercial features that are the basis of the audits), and other distributions are available (see below).
OpenJDK is an Open Source project that forms the basis of Oracle's commercial Java distribution as well as many other commercial and open source distributions. OpenJDK is licensed under the GPLv2 + CPE, and contains contributions from multiple companies, including Oracle, IBM, SAP, Azul and Red Hat as well as individual contributors.
As OpenJDK is open source use of OpenJDK binaries are free from any commercial obligation (to Oracle or any other party)[3].
The non-free, commercial features that Oracle licenses, are not part of OpenJDK.
Yes. There are a small number of companies who offer professionally supported implementations of Java that are based on OpenJDK.
The most well known of these (in alphabetical order) are:
There's also a host of lesser known binary distributions supplied by organisations such as:
Most of these are also compatible implementations of the Java specification - i.e. They have passed the rigorous Technology Compatibility Kit (TCK), an Oracle-supplied test suite that verifies an implementation of Java for correctness).
If in doubt about your usage of Oracle's Java, read the licensing terms, contact your local Oracle business representative and seek legal advice. Don’t just rely on tech news sites!
Java Champions are an independent body of Java experts and community leaders who Champion the Java ecosystem. They hold a vendor neutral stance.
[1] http://www.theregister.co.uk/2016/12/16/oracle_targets_java_users_non_compliance/
[2] If used in Production or on production data
[3] If you modify the source code of OpenJDK and distribute it, then there is an obligation to adhere to the terms of the GPLv2 +CPE license.