Skip to content

Instantly share code, notes, and snippets.

@jrichardsz
Created December 10, 2022 22:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jrichardsz/2aada1cb612a436a50188a342483a5a5 to your computer and use it in GitHub Desktop.
Save jrichardsz/2aada1cb612a436a50188a342483a5a5 to your computer and use it in GitHub Desktop.
Which free version of Java can I use for production environments and or commercial purposes?

Licences OTN vs BCL

Oracle JDK 8 (aka 1.8) no longer uses BCL (Binary Code License). From April 16, 2019, Oracle JDK 8 uses the OTN (Oracle Technology Network) license, which requires you to create an Oracle account to download JDK 8 and payment!!

BCL = Oracle Binary Code License

  • You can use it, but you can't modify it
  • You agree not to sue Oracle if anything goes wrong
  • You can redistribute/publish it (so that you can sell products with Java embedded), but if you do, you agree to indemnify Oracle; so if someone sues you, you can't drag Oracle into it.

It's really just there to protect Oracle's intellectual property and to shield them from being sued when bugs are found.

source: https://www.quora.com/In-short-what-does-the-Oracle-Binary-Code-License-Agreement-for-Java-SE-actually-say-or-prohibit/answer/Jon-Harley

As a summary: FREE with risks and without any fault of Oracle

OTN = Oracle Technology Network License

As a summary: Opposite to BCL and FREE just for development in your laptop. For enterprises, you must PAY

FREE with risks: Java 1.4, 5, 6 and 7

Oracle does not show any message related to license changes for Java 1.4, 5, 6 and 7 downloads. So we can use them for development and production deployment, accepting issues and security problems.

Legacy versions prior to 7, does not have and will not have any update. Maybe a sales contact could be a solution if your have a Legacy Systems running over this java old versions.

FREE with risks: Java 8 update 202

Just Java SE 8 JDK 8u202 and earlier versions are free for development and production deployment. You can download it from:

NOT FREE anymore but safe: Java 8 update 221

Since the java 8 update at April 16, 2019 8u221, all versions and updates for (java 8,9,10,11,14) has no cost just for personal use and development purposes. Any other use, needs a Commercial License.

FREE and safe : OpenJDK 8

AdoptOpenJDK uses infrastructure, build and test scripts to produce prebuilt binaries from OpenJDK™ class libraries and a choice of either OpenJDK or the Eclipse OpenJ9 VM.

All AdoptOpenJDK binaries and scripts are open source licensed and available for free.

OpenJDK is a ORACLE initiative. More details here: https://adoptopenjdk.net/

compressed mode

You can download the latest v8 release from here. Latest version:

Follow this to download using curl

install mode

apt-get install openjdk-8-jre (just run apps)
apt-get install openjdk-8-jdk (develop and run)

From https://openjdk.java.net/install/

FREE and safe : Zulu Community (Java 6,7,8,11,13,14,15)

Zulu Community Downloads:

FREE and safe : OpenJDK (Java 8,9,10,11,12,13,14)

Free and Open Source

The following implementations, listed in alphabetical order, are open source and free to use:

  • AdoptOpenJDK
  • Amazon Corretto
  • Azul Zulu
  • Bck2Brwsr
  • CACAO
  • Codename One
  • DoppioJVM
  • Eclipse OpenJ9
  • GraalVM CE
  • HaikuVM
  • HotSpot
  • Jamiga
  • JamVM
  • Jelatine JVM
  • Jikes RVM (Jikes Research Virtual Machine)
  • JVM.go
  • leJOS
  • Maxine
  • Multi-OS Engine
  • RopeVM
  • uJVM

Source: https://www.baeldung.com/oracle-jdk-vs-openjdk

Proprietary Implementations

There are also other private or commercial implementations:

  • Azul Zing JVM
  • CEE-J
  • Excelsior JET (Discontinued)
  • GraalVM EE
  • Imsys AB
  • JamaicaVM (aicas)
  • JBlend (Aplix)
  • MicroJvm (IS2T – Industrial Smart Software Technology)
  • OJVM
  • PTC Perc
  • SAP JVM
  • Waratek CloudVM for Java

Source: https://www.baeldung.com/oracle-jdk-vs-openjdk

Oracle Java 9 and 10 : Deprecated

Oracle Java 9 and 10 has reached end of support.


More References

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment