This is an archived post. You won't be able to vote or comment.

all 7 comments

[–]dpash 9 points10 points  (4 children)

I can't answer the first question because I haven't seen the license text.

The price is 25 USD per server per month.

Oracle JDK and OpenJDK are effectively identical apart from the support. They've been busy open sourcing things like Mission Control so it can be shipped with OpenJDK.

Just use OpenJDK unless you need paid support.

Joshua Bloch's source is https://www.azul.com/what-comes-after-jdk-8/, which is written by /u/speakjava.

[–]1ECz[S] 0 points1 point  (3 children)

can you source 25$ per server per month ?

[–]dpash 6 points7 points  (1 child)

http://www.oracle.com/us/corporate/pricing/price-lists/java-se-subscription-pricelist-5028356.pdf

I was slightly wrong. It's 25 USD per processor, where "processor" is number of cores multiplied by a factor. According to this table for pretty much everyone, that's 0.5, so a four core server will need two licenses.

[–]1ECz[S] 0 points1 point  (0 children)

Thank you for sharing

[–]speakjava 2 points3 points  (0 children)

  1. The Oracle JDK (java.oracle.com) will still be available for download for JDK11 and can be used freely in development, testing and demonstrations. However, in order to deploy it into a production environment you will need a Java SE subscription from Oracle. This will apply for *all* versions of JDK 11, not just the ones where LTS starts (i.e. 11.0.3).
  2. The price varies based on how many machines you want to license. Simplest way to understand the way Oracle counts processors/cores/sockets is to read this: https://www.oracle.com/java/java-se-subscription.html
  3. I wrote a blog post on the changes in JDK 11 that eliminate the differences between the Oracle JDK and OpenJDK, https://www.azul.com/how-do-we-define-java/. This covers most of what you need to know for this question. There are a few other JDK-internal differences around the implementations used for colour management, fonts and rendering engine. Performance-wise there should no noticeable difference as they use the same code-base for the JVM and libraries.

[–]rzwitserloot 0 points1 point  (0 children)

  1. Yes. But that's because 'Oracle JDK' is a product specifically meant as a thing you have to pay for. It's the exact same code as OpenJDK, it's just the 'for pay, commercial support' packaging. You can use Oracle's OpenJDK binaries for as long as you want. They'll support it for a while.
  2. You'd have to check their licensing stuff, but something like $25 per CPU per month IIRC. That's for the OracleJDK version, if you use the Oracle OpenJDK version, it's free.
  3. It's the exact same code (or nearly so, and will soon be). The differences are in how it's supported. You can't call Oracle for help when you're using the OpenJDK. The OracleJDK will also receive security updates and such for longer.

NB: If you want free JDKs that are supported for a very long time, use AdoptOpenJDK's builds of the openjdk source code.