Want updates for legacy? Pay up.
--------- Edit:
Sorry, I might be a bit wrong. I thought non-business users wouldn't get free updates too.
Want updates for legacy? Pay up.
--------- Edit:
Sorry, I might be a bit wrong. I thought non-business users wouldn't get free updates too.
Java SE 8 business users do not need to buy a licence to keep using Java from January next year. That's not true. It's false. They can keep using the current versions of Java 8 as long as they like, for free.
What won't be free is for Oracle to give them new updated versions of Java 8.
This has _always_ been the case. Oracle always stops supporting old Java releases at some point. Do you think they should maintain them forever for free?
>Or they'll no longer be entitled to updates and bug patches
They aren't converting a free product into a paid one. As I understand you can use whatever you're using right now, it's just that you won't get free updates.
IIRC Microsoft does this with old versions of Windows. Want updates for XP? Pay us and we'll support it with bugfixes. Or don't pay us and get your support on 3rd party forums.
--------- Edit: Sorry, I might be a bit wrong. I thought non-business users wouldn't get free updates too.
Because the implication is that this is a surprise, a novelty -- that it's "new" and hence News -- meaning that something changed and that it was a motivated change.
Which isn't true. Every enterprise software company publishes policies about how much support it will give its products well into the future. I work for Pivotal, we have a general support/lifetime policy and aim to give explicit guidance for every single release we publish of everything we produce.
That folks outside the enterprise universe are learning now what Oracle outlined years ago doesn't make it an evil scheme on Oracle's part. It just means we move in different circles from enterprise buyers, who have different problems and motivations.
I honestly can't believe I'm defending Oracle. Seriously, I never thought I'd see the day.
An alternative is use the AdoptOpenJDK [2] that aims to provide unofficial LTS support.
[1]: https://react-etc.net/entry/oracle-to-stop-providing-a-free-... [2]: https://adoptopenjdk.net
Well, that's a NEW development. And a major one at that.
Companies used to be able to rely on the same version of Java for years AND get security etc updates, without paying Oracle (and before that, SUN).
They might still do that, with OpenJDK, but not with Oracle releases anymore.
What they are doing is stepping up the challenge of insisting in e.g. using Java 1.4 in 2018 (Yes I do know a few such cases).
People have already had years of support for Java 8 including support updates. By 2019 they will have had five years of it. Nothing's changed.
What's changed is that this wont be the case anymore for 9, 10, 11, and so on.
Plus, after 9, each new release will be out in 3-6 months (can't remember which) instead of years. And support for the previous n-1 release will end in the same day.
Plus, despite their frequency they'll have major language changes (whereas usually Java did much smaller scale changes + full backwards compatibility).
Companies who won't shift of a JDK know this, that's why they pay for the privilege. They pay Oracle, or they pay someone to support an OpenJDK like Red Hat.
It's new for Java.
We don't care, for the purposes of the discussion, if it has been how things are since forever at SomeOtherProductOrLanguage.
We're not taking about the relative novelty of this release model (or its merits), but about how things are different now for Java releases.
Previously that was years on end.
It is a pain to update huge systems to the latest Java, latest version of Haskell’s compiler and libraries, move to Python 3, etc., etc. but there is also a real cost to long term support for old software, I am especially thinking of important security updates.
However, apps written specifically for Java 9 (e.g. using the new modules system) wouldn't work on older versions of Java.
I had to double-check how old Java 8 was, and in the process I've learned that it was initially released way back in 2014 and currently Oracle is already working on releasing Java 11.
What matters is when Java 9 became available. I.e. how much have they had to migrate from Java 8 to its first successor: Java 9.
Java 9 is available since summer 2017. So that means companies will get only 1.5 years to migrate all of their Java 8 apps to the next available version. Which is very, very little for large organizations who may have many hundreds of apps running on Java 8.
For 8->9, this announcement means it'll be 17 months of support after Java 8 is no longer current, which is in perfectly line with what they've been doing.
So in reality, this means organizations have a couple months to migrate everything from Java 8 to Java 11. Laughable.
Because of the increased release cadence, there is also no guarantee that there won't be breaking changes between LTS versions. (Java 9 already became the first Java release ever to actually remove deprecated classes, although in a very minor way).
^ There, that could be a problem. I have a couple of anfient Java apps that I have no source code for. Some of them were written for Java 7 and no longer work with Java 9. (Fixable with a tweaked OpenJDK JRE, yes, somewhat)
Unfortunately, many widely used libraries depended on said exposed internals and now stopped working.
Many libraries have since been updated, but often in form of new major releases and not all libraries give the same backwards compatibility guarantees as Java itself does.
So even if you yourself were a good citizen, relied only on public interfaces and got rid of uses of deprecated API in a timely fashion, then some libraries you depend on might not have done so or might have changed a lot since you last updated them.
That's 4 years. In the Java world releases could take way more than that for a SINGLE release.
So, this "8 is 4 years old, we're at 11 now (and n+1 every few months)" is a totally new model for Java.