
Java SE Subscription FAQ - protomyth
http://www.oracle.com/technetwork/java/javaseproducts/overview/javasesubscriptionfaq-4891443.html
======
exabrial
If you need mission critical support, this is great. I'm happy to see
commercial operations around an open source project.

If you are low budget but need a high-quality JVM, this project is up-and-
coming:
[https://adoptopenjdk.net/index.html](https://adoptopenjdk.net/index.html)

------
scarface74
Why isn’t everyone running away from Java as fast as possible? Oracle is the
last company I would want to depend on for a critical piece of
functionality....

~~~
jsiepkes
I don't think you realise how the Java ecosystem works. It's not like with
.net where MS does almost everything.

You can still use OpenJDK (which is what Oracle Java is based on). Oracle just
put their OpenJDK distro in a subscription model. Just like RedHat does with
RHEL in which case there is CentOS. But all development still happens in
OpenJDK. So for example for OpenJDK there are a bunch of other distros for
OpenJDK like Zulu:
[https://www.azul.com/downloads/zulu/](https://www.azul.com/downloads/zulu/)

And if you really hate Oracle and want nothing to do with OpenJDK you can also
use IBM's J9 JVM:
[https://www.eclipse.org/openj9/](https://www.eclipse.org/openj9/)

Also Java is developed by more then only Oracle as you can see in the various
JCP projects:
[https://www.jcp.org/en/jsr/detail?id=380](https://www.jcp.org/en/jsr/detail?id=380)

And historically the largest part of Java development happens in the
community. Like Akka, very.x, etc. Where in .net MS has more a tendency to put
everything in the language itself.

~~~
iamcreasy
What are the differences among these JDKs? Will JRE always remain free?

~~~
jsiepkes
Well in case of Oracle JRE vs Azul Zing JRE they are both derived from OpenJDK
and the technical differences are minimal. There is some minimal difference
like Oracle has a (legacy) commercial font renderer and Zing is build with
LLVM instead of GCC by default.

Almost all OS'es besides Windows and OS X (So Linux distros, FreeBSD, SmartOS,
etc) already build and distribute OpenJDK themselves. So this is all really
just about Windows and OS X. You can easily compile OpenJDK yourself but I
would recommend anyone to just move to Azul Zing and you won't notice any
difference from the Oracle JRE.

There are also full fledged JVM's which have their own codebase like OpenJ9
(the formally IBM JVM which is now opensourced under Eclipse governance), Azul
Zulu (not to be confused with Azul Zing!), etc. These are all Java compatible
JVM implementations and have their own pros and cons. Zulu for example is a
commercial JVM that has a pauseless garbage collector. So to be clear; These
are NOT derived from OpenJDK.

Some background on JRE vs JDK. The JRE is the Java runtime environment so
basically the JVM plus soms tools. This is what you need to run Java
applications. The JDK also contains the Java compiler and some development
tools.

~~~
iamcreasy
Thank you. Can you please elaborate on why you recommend Azul Zing over
OpenJDK?

Also, does OpenJDK contain both the JDK and JRE?

~~~
jsiepkes
Yes, OpenJDK is the project which contains both the JRE and JDK. When Sun
opensourced their Java implementation it named it OpenJDK. The only reason
their "closed source" distro of OpenJDK (ie. what is now Oracle JRE/JDK)
wasn't killed off was because of a couple of minor things which they couldn't
opensource like the font rendering engine. In OpenJDK those are replaced with
alternatives. Apparently they didn't want to force their users to deal with
any possible incompatibility so they just kept distributing this as the Sun
(and now Oracle) JDK / JRE. But there is really nothing special about it.

I recommend Azul's OpenJDK distro because it is intended to be a drop in
replacement of the Oracle JRE in the broadest sense (easy to use download
page, etc.). Getting OpenJDK is a bit harder; the webpages are a bit
unclearer. Windows files harder to find. But if you already have OpenJDK via
your Linux distro, can download it yourself, etc. I would say; By all means
use it!

~~~
iamcreasy
Can I expect Java Mission Control, Java VisualVM and a plethora of other 3rd
party tools to work as expected with OpenJDK / Azul Zing?

I was going through Azul Zing documentation I noticed that it uses different
C4 garbage collector algorithm - which is different that the one used one
OracleJDK. Since I am following some tutorials on JVM on Pluralsight, I am
guessing I should pick OpenJDK over Azul. Am I right?

~~~
jsiepkes
I just noticed I've mixed up the names of Zulu and Zing; Zulu is the OpenJDK
distro, Zing is their own JVM which has C4. So you should use Zulu. Zulu
doesn't have C4. Sorry about that.

Since Zulu is basically OpenJDK it should all just work. Though mission
control was opensourced very recently so it might not be in their codebase
yet.

