1

As a developer I would prefer to install JDK11 binary distribution from Oracle (Oracle JDK) and get free updates from Oracle for 7 years (LTS). Is this possible for free?

I think it is not possible, because after 6 months from JDK11 appearing on Oracle website I won't be able to download it (Oracle JDK 11 version with any current updates, like 11.0.2) from Oracle website, and I won't be able to find (on Oracle website) where to download such updates (for OracleJDK) without a paid subscription from Oracle. I guess I can search for OpenJDK 11 paid alternatives to get updates longer than 6 months (say, Red Hat), but I am not aware of any free alternatives - please advise!

I know the following (please correct me if I'm wrong):

  1. Starting from Oracle JDK9 any use (even just use, not just getting updates - so using without updating is also paid) of such JDK in production is paid. But any use in development, testing, prototyping and demonstration is still free!
  2. It seems that for OracleJDK use is also free if I use any Oracle cloud service or Oracle SQL Developer IDE (see "License Rights and Restrictions" part of the licence and “Oracle Approved Product Use” definition)
  3. I can use OpenJDK for free in production (JDK9, JDK10, ...), those JDK shall be exact equivalent of Oracle JDK, the only difference was that earlier OpenJDK did not have binary (at jdk.java.net they only had sources as zip)(but now binaries are available there at https://jdk.java.net/archive/ and http://jdk.java.net/12/) besides adoptopenjdk.net provide binaries made from OpenJDK (src taken from openjdk.java.net site).
  4. Until JDK8 there was significant difference between OracleJDK and OpenJDK (performance, stability, etc) - but starting JDK9 these differences shall be gone (Oracle claims so, I don't know the reality).
  5. LTS updates will be provided ONLY for OracleJDK (for LTS releases JDK8, JDK11, prospective JDK17) for money only. LTS releases will appear every 3 years, support for each would be at least 7 years.
  6. So if I use OpenJDK JDK11, I will get absolutely no updates (neither for 6 months, not for one 1 year, not for 7 years).
  7. If I have a non-LTS (say JDK12) from Oracle (paid only if in production), I will get updates only for about 6 months - until JDK13 is released and no longer (even for money).
  8. If I have a non-LTS (say JDK12) from OpenJDK, I will also get absolutely no updates - I can download only the first JDK12 as source (zip) at jdk.java.net or as a binary distribution (exe installer for Windows) at adoptopenjdk.net

There is a strange site with OpenJDK updates (Mercurial repo?), but I don't seem any practical way how to use this site.

I think there is some discussion in the community what to do now with updates for OpenJDK releases - who and how can do it. But today nobody does that.

Also, RedHat seems to offer some updates for OpenJDK, but I don't understand the whole picture. I guess that if I pay for RHEL, than they would update my JDK as a part of RHEL (this is just like buying Oracle JDK, but maybe cheaper, I don't know. Besides RHEL seems to use OpenJDK, not OracleJDK. Not sure OpenJDK and OracleJDK are so much identical now as Oracle claims).

Concerning OpenJDK updates (no such updates exist?!), I don't understand this - if Oracle claims that it is Oracle (!) who provides OpenJDK (!) releases at jdk.java.net site (see prooflink), why Oracle does not also provide updates for those OpenJDK for at least 6 months (no such updates are present on dk.java.net site)? OracleJDK and OpenJDK are "kind-of" identical now, Oracle updates its OracleJDK for 6 month anyway - why not also update OpenJDK for 6 month? enter image description here

P.S. Seems like Oracle promises to contribute security updates to OpenJDK quarterly (but not any other updates: performance updates, stability updates, as in Oraccle JDK if I pay for "Java SE Subscription" which includes updates and online/telephone support 24/7 at $25 per month per processor on server or in a cloud): enter image description here

Also interesting that Mark Rotteveel (see comments) writes that there is only a single place with JDK source-code: (probably it is http://hg.openjdk.java.net/ I don't know the difference from http://openjdk.java.net/ ) and even Oracle (and others) take code from there:

OpenJDK is a source-only project, every build is a variant of OpenJDK (eg Oracle, AdoptOpenJDK, RedHat, Azul, and others) built by a company, group of people etc, possibly with vendor specific extensions and tools.

REFERENCES:

OracleJDK vs OpenJDK vs AdoptOpenJDK - MUST READ

OpenJDK, Oracle JDK and JCP

Code Complete
  • 2,664
  • 1
  • 10
  • 28
  • 2
    Of course you get updates with OpenJDK: https://adoptopenjdk.net/ (the current version there is 11.0.3, but they started with 11.0) – a_horse_with_no_name Jun 16 '19 at 12:09
  • 3
    @Zabuza Technically there is no "the" OpenJDK version. OpenJDK is a source-only project, every build is a variant of OpenJDK (eg Oracle, AdoptOpenJDK, RedHat, Azul, and others) built by a company, group of people etc, possibly with vendor specific extensions and tools. – Mark Rotteveel Jun 16 '19 at 12:17
  • 2
    I'm voting to close this question as off-topic because this community is about programming questions, not about legal advice regarding licensing models of 3r parties. – GhostCat Jun 16 '19 at 12:56

1 Answers1

6

I know the following (please correct me if I'm wrong):

There are quite a few incorrect factual inaccuracies in your summary.

For example:

But rather than correcting them all, I suggest that you (and other readers) take the time to read this:


Now to your question:

Concerning OpenJDK updates (no such updates exist?!),

They do exist. Updates for the OpenJDK releases are produced until the next OpenJDK release.

I don't understand this - if Oracle claims that it is Oracle (!) who provides OpenJDK (!) releases at jdk.java.net site (see prooflink), why Oracle does not also provide updates for those OpenJDK for at least 6 months (no such updates are present on dk.java.net site)? OracleJDK and OpenJDK are "kind-of" identical now, Oracle updates its OracleJDK for 6 month anyway - why not also update OpenJDK for 6 month?

These are business decisions made by Oracle.

I cannot speak for Oracle in anyway, but from Oracles' perspective, there are clearly three issues:

  1. It would cost Oracle money to employ people to do that.

  2. Oracle wants to get more people paying to use Java. The more money that they get in the form of subscriptions, support contracts and so on, the more that they are able to invest in Java.

  3. Oracle is no longer enthusiastic to continue (effectively) subsidizing individuals and other organization by providing them long-lived Java releases for free.

You can argue all you like that Oracle should continue provide updates for older releases in the way that they have previously. However, they are simply not obliged to do this. Not legally, and not morally.


Also, note that you can get OpenJDK-based Java from places other than the jdk.java.net site. In many cases, you can get it for free. And some vendors are saying that they will provide long term support for the Java LTS releases; e.g. see https://access.redhat.com/articles/1299013

Stephen C
  • 632,615
  • 86
  • 730
  • 1,096
  • Thanks for link to binaries from jdk.java.net (Oracle OpenJDK): https://jdk.java.net/archive/ – Code Complete Jun 16 '19 at 14:35
  • And another thanks for links to OpenJDK alternatives (from Oracle OpenJDK), including LTS support: https://docs.google.com/document/d/1nFGazvrCvHMZJgFstlbzoHjpAVwv5DEdnaBr_5pKuHo/edit?ts=5b8ffe04#heading=h.xn49s5cqkp4j – Code Complete Jun 16 '19 at 14:36