DEV Community

Adarsh
Adarsh

Posted on

Java 11's Future

Hey guys, I am sure you all would've heard of the new JDK 11. Oracle has released it under the LTS banner. It has new features and improvements.

If you have heard of JDK 11 I am pretty sure you guys would've heard about the new licensing terms. In a nutshell it says "Hey, you can use JDK 11 for free during your development and testing but when you are deploying it to production you are supposed to pay Oracle".

Considering that Java is one of the integral part of the Open-Source community what are your feelings about Oracle changing the licensing terms?

Will OpenJDK which wasn't given much attention beat Oracle JDK to be the first choice of developers?

Top comments (12)

Collapse
 
joefuzz profile image
Joe DuVall • Edited

I read that Oracle traditionally uses OpenJDK to build its Oracle JRE, which tells me that OpenJDK is more than up to the task as a drop-in replacement for Oracle's JDK.

That doesn't mean there may not be bumps and hiccups when migrating projects. I imagine most projects won't notice a difference. However, larger enterprise solutions may have a sticker transition.

P.S. Check out adoptopenjdk.net for an easy way to grab OpenJDK

Collapse
 
sadarshannaiynar profile image
Adarsh • Edited

Thanks for sharing the link. It's gonna prove quite useful to a lot of people

Collapse
 
elmuerte profile image
Michiel Hendriks

Oracle Java is dead. Long live OpenJDK. The community owns Java. A lot of the Java 11 work was done by the likes of RedHat, Azul, Google, and a whole bunch of others: azul.com/90-new-features-and-apis-...

Home users on Windows and big corporations (who probably also use Oracle DB) will keep using Oracle Java. The rest will probably switch to AdoptOpenJDK, Azul's Zulu, and OS distro based OpenJDK builds.

Collapse
 
jordonr profile image
Jordon Replogle

I was unaware of Zulu, thanks!

Collapse
 
rrampage profile image
Raunak Ramakrishnan

OpenJDK has been given ample attention. OpenJDK has been the reference Java implementation since a long time now. Most of Oracle JDK features have been added to it including the latest garbage collector and profiling support. As far as running in production is concerned, OpenJDK is stable and Red Hat and other vendors have promised to continue supporting the LTS releases even after Oracle's official "expiry date".

If you are running Oracle JVM in production (Java 8,9,10), it is better to migrate to OpenJDK ASAP to avoid Oracle's infamous license mafia. Most Linux distros like Ubuntu and Fedora provide painless migration paths.

Oracle is moving more to a providing paid enterprise support for its JDK which is better for Java as no single company will have too much of say in its future. Other promising JDKs are IBM's recently open-sourced J9 and Zuul of Azul systems.

Collapse
 
sadarshannaiynar profile image
Adarsh

We have already started our switch to OpenJDK. We felt most of the features we are using is already available in OpenJDK so we switched. But yeah we have to start evaluating Zuul and J9

Collapse
 
simonhaisz profile image
simonhaisz

Assuming you want to stay on the latest, using OpenJDK means upgrading major versions every 6 months. And unlike Java of old breaking changes are a real possibility. And if you care about security updates you will get them later, even when on the latest as Oracle had a policy that security fixes get put in OracleJDK first before being back ported to OpenJDK at some point. That and OpenJDK provides zero liability if there are issues, unlike OracleJDK.

Depending on how you use Java this change can be anywhere from a minor speed bump to being catastrophic. You have some small Java services? You likely aren't affected by breaking changes and aren't worried so much about security updates, so you can make the transition to an Open runtime and upgrade when you want. Have critical parts of your solution running Java in the cloud? Staying on the latest version is going to involve more maintenance than you are used to but you don't have much choice. Have Java programs that run on actual users machines? You sir or madam, are screwed.

On the OpenJDK 11 LTS front, Red Hat recently announced their plan to be a leader in making that a reality. Time will tell how well that will work out.

Oracle trying to monetise Java isn't surprising - I mean were talking about Oracle. But if this gamble of theirs doesn't make them the 💰 they expect what will that mean to their Java contribution? As far as I'm aware, Oracle is still the biggest contributor to OpenJDK via their work on OracleJDK.

Depending on how this goes we could be seeing a fragmentation if the language. And without a large backer can Java continue to grow and thrive? Or does it start to enter a sort of maintenance mode?

The biggest concern I have about Java's future now is how many people are going to still seriously consider Java for new projects now? This could be the killing blow that turns Java usage from a C type language to a Cobol type language.

Collapse
 
sadarshannaiynar profile image
Adarsh

Very true, It might turn into a language of an bygone era. But if the community is not gonna leave java it might just run successfully depending on factors like you said (fragmentation and support).

Collapse
 
erikpischel profile image
Erik Pischel

What the others said. AFAIK from now on use OpenJDK. Also, OpenJDK 11 is not LTS. At least that's what I heard. But see adoptjdk. Some one else is going to do the job.

Some comments may only be visible to logged-in visitors. Sign in to view all comments.