An article was published recently in The Register, that has raised concerns about the licensing implications of using Oracle’s Java offerings. Many end-users have expressed concerns about whether they need to pay to use Java.
To help resolve some of this confusion Oracle’s Java Platform Group, Product Management team posted a blog entry describing their Java SE offerings and how these relate to the OpenJDK project. The post also contains a link to the Oracle Binary Code License Agreement for the Java SE Platform Products and JavaFX. The Supplemental License Terms (Section A) covering the use of Commercial features is very important and should be read carefully. The blog post also includes a paragraph on Java SE Embedded, and again the Binary Code License should be read carefully when determining whether your application is using “General Purpose Desktop Computers and Servers” (Section 1, Definitions). Always consult your legal counsel for definitive answers to these types of questions.
As another source of advice, the Java Champions group (of which I am a member) have published a document, which covers all of this in a bit more detail. The document also has good advice about the –XX:+UnlockCommercialFeatures command line option.
If you’re still worried, there is an alternative: the Zulu JDK/JRE from Azul. Zulu is built from the same OpenJDK source and has passed the same TCK/JCK tests to make it fully Java SE compliant. There are no commercial features that require a separate license, just a plain Java runtime.
I think the British government’s advice from 1939 (used in the title of this blog) is entirely appropriate in this case.