top | item 18082295

The future of Java and OpenJDK updates without Oracle support

262 points| kjeetgill | 7 years ago |developers.redhat.com | reply

171 comments

order
[+] anta40|7 years ago|reply
"Oracle recently announced that it would no longer supply free (as in beer) binary downloads for JDK releases after a six-month period, and neither would Oracle engineers write patches for OpenJDK bugs after that period."

Where can I found Oracle's official statement about this issue?

[+] bilbo0s|7 years ago|reply
In my own opinion, people are getting a bit upset over nothing. But you can be the judge.

Here is a pretty good write up on everything that's happening:

https://www.azul.com/eliminating-java-update-confusion/

There was enough concern about all the FUD people are throwing around that Oracle took the step of providing a more visual explanation a long time ago. It's here:

https://www.youtube.com/watch?v=YauqubC8FKM&feature=youtu.be...

I mean, what's wrong with Oracle only supporting every OpenJDK for 6 months?

I'm a Unity user, so no dog in that race really. (Well, we make some game server side stuff with java, but our big stuff is Unity). But it seems completely reasonable to me. I'm probably missing something though, since the internet outrage machine is in high gear. In all honesty though, it sounds perfectly reasonable:

Oracle is basically telling you, "If you want more than 6 months of support, buy a support contract. If you don't want to buy a support contract, then you'll have to download the newest OpenJDK to get those updates and patches."

???

I'm probably missing something here since I'm not a deep java user, but what's the problem with that release model?

[+] mabbo|7 years ago|reply
At what point do we finally draw the line on Oracle and say enough is enough, we're forking?

Oracle clearly seem interested only in trying to exploit Java developer and users. Why are we still stuck to them?

[+] pron|7 years ago|reply
Not before someone else is willing to fork over hundreds of millions of dollars to sponsor Java. OpenJDK is Big Open Source. The majority of the hundreds of developers building it[1] do it as their day job, and the vast majority of those are employed by Oracle (and others by Red Hat, IBM, Intel and others). Oracle has sponsored OpenJDK for the last 8-9 years, and has now completed open sourcing all of the previously closed bits of the JDK, some dating back to Sun, and some to BEA's JRockit (JFR, now part of OpenJDK 11), not to mention all the new work on the language and JVM including new GCs like ZGC and the new compiler, Graal (I just hope you don't feel too exploited by all this). Companies like Amazon, Netflix, Google, Twitter, Apple and many, many others (some of them have even forked OpenJDK internally) have not contributed significantly, despite depending so heavily on OpenJDK.

So, like it or not, this is the reality of open source. A lot of companies are happy to use it freely but less happy to contribute the significant resources necessary to build it.

(I work at Oracle on OpenJDK, but I speak only on behalf of myself)

[1]: http://openjdk.java.net/census

[+] akerro|7 years ago|reply
>Why are we still stuck to them?

Because even literally the most used Java library - JUnit is struggling financially, because everyone wants to use great technologies for free and donations and open-source contributions are never considered.

I worked in huge financial institutions once, they heavily relay on some ant plugin. The plugin had a bug, probably like a day of fixing for me. The company decided to stop using the plugin, rewrite the whole configuration in bash, which took almost 4 weeks of 4 people, than contribute to opensource during working hours and fix the bug for everyone.

[+] kjeetgill|7 years ago|reply
I get all the hate for Oracle the company, but they've taken the time to systematically open source every closed source thing they've had: JFR, ZGC, GraalVM (partially), and finally the crown jewel the TCK.

They've even been involved in getting the open community up and running.

I sincerely can't imagine what more you could want from a corporate steward.

[+] skgoa|7 years ago|reply
> Oracle clearly seem interested only in trying to exploit Java developer and users.

Oracle are just not giving users of obsolete, deprecated versions of Java free patches anymore. They want everyone to keep up to date with the current version. The likes of Apple, Microsoft and Google just force push updates to achieve the same goal, but Oracle doesn't have that kind of control.

Yet even though Oracle don't want to support old versions anymore, they still offer support contracts for those organizations that truly need it. Which is a completely normal thing in the tech industry. What part of that is exploitation?

[+] MaxBarraclough|7 years ago|reply
> At what point do we finally draw the line on Oracle and say enough is enough, we're forking?

But we already have OpenJDK. What would be gained by completely cutting ties with Oracle?

[+] afroboy|7 years ago|reply
And who is going to pay the great minds behind JVM? you are missing the point that there is great engineers working on Java that need high pay and apparently only Oracle that can do that. see GraalVM as an example of how Java become more good under Oracle yes Oracle is evil but for god sake they are the best thing happened to java (the language and the JVM).
[+] pjmlp|7 years ago|reply
When you get the money to pay the Oracle engineers working on JVM and Graal.

Also apparently many have a short memory regarding Sun and IBM's Java business pratices and hating Oracle is fun.

[+] oblio|7 years ago|reply
They own the trademark, they own the TCK and Java itself is a huge amount of tech, not something easy to fork.

Plus it would be really hard to get adoption for the fork. The Java brand is huge and many of its users are late adopters or even laggards.

[+] krzyk|7 years ago|reply
Why do you need to fork OpenJDK? You can just contribute there.

I don't see why the uproar about Oracle branded OpenJDK. We can use normal OpenJDK which is almost the same.

[+] adrianmonk|7 years ago|reply
There is a big trade-off to consider here.

Previously, Oracle supplied the engineering resources to develop new features and to maintain old releases.

Now, Oracle provides the first but not the second. The community can step in and do the second. If it is forked, then the community needs to step in and do both.

So getting free of Oracle has a cost, the cost of losing engineering resources for new features. Whether it's worth it would depend on how much value you place on those two things.

Clearly Oracle is trying to steer people toward revenue-generating things. I don't see a problem with that in and of itself, especially if the community can provide a free alternative.

It seems like this could push things either direction. On the one hand, many companies may just pay Oracle for support and that may become a common (and expected) practice. So that would shift some control toward Oracle. On the other hand, Oracle is stimulating the community to get involved in maintenance, and that may build some momentum for community contributions, causing the community a larger role in Java development, which would shift some control away from Oracle.

[+] Pyxl101|7 years ago|reply
The latest versions of Java will continue to be free. All you need to do to "pay" for that is remain up to date. Only maintenance on older versions of Java will be subscription based.

Why is Oracle obliged to provide long-term binary support and updates for old free software? If you want long-term support for old Java versions, then I think it's reasonable to say: pay for a subscription (or don't complain). RedHad uses a similar business model.

Or keep using the latest versions which will continue to be free, and stay up to date. It seems like a reasonable proposition to me. I don't see what Oracle has done wrong here.

[+] grigjd3|7 years ago|reply
Hard to ditch Java if you run hdfs and anything built on top of that.
[+] kjeetgill|7 years ago|reply
TL;DR Andrew Haley is stepping up on behalf of RedHat and the greater OpenJDK community to provide leadership for LTS branches of OpenJDK 8 and 11.

> The OpenJDK Vulnerability Group, with members from many organizations, collaborates on critical security issues.

Huh, I'd never heard of that before.

> There is also the question of back-porting important features from later OpenJDK releases ... While new features, particularly performance-related ones, are undoubtedly nice to have, our first priority must be to not break anything: we must remember that we are stewards of a very precious piece of software. ... each proposal will have to be taken on its individual merits, and I don’t think we can have a one-size-fits-all policy for such things.

This is so refreshing to hear. Especially after all the turmoil over the Linux CoC, it's nice to just hear: we'll rely on my human judgment and that if my peers.

All in all I think this is good news and well needed clarity.

[+] vaer-k|7 years ago|reply
> Some people might be worried that their chosen distribution will not build, test, and package OpenJDK correctly, but if you don’t trust your distribution to build packages, you shouldn’t be using it at all.

Can anyone say which distributions he is alluding to?

[+] SloopJon|7 years ago|reply
It's rhetorical. The point is that if you trust your distro with millions of lines of code from Linux, GCC, and a thousand other packages, then you should be able to trust it with one more package (albeit a big one).
[+] kbutler|7 years ago|reply
The title on HN is misleading by truncating the word "Support" from the original.

Oracle remains the driving organization behind Java and OpenJDK. The change that has everyone up in arms is the cessation of Oracle support for updates to OpenJDK versions 6 months after release (no long-term support/updates of OpenJDK releases)

[+] sctb|7 years ago|reply
Thanks, we've restored the “support”!
[+] thefounder|7 years ago|reply
People should use Go and forget all the licensing issues. Bonus: happy developers!
[+] solatic|7 years ago|reply
Go hasn't had a history yet of breaking compatibility with earlier releases. Wait until Go 2 comes out, then we'll see how much Google wants to maintain long-term support. Two hints: it'll be at least as long as necessary for Google to port all of its Go 1 code to Go 2, and it won't be much longer than support for Inbox or Google Reader. And a further hint, Google will figure out how to port all of its Go 1 code to Go 2 much faster than you think, and your company will not be able to port its million-line Go codebase nearly as quickly.
[+] rezeroed|7 years ago|reply
Java to Go - two extremes, too bloated to too simplistic - I'd look for something between. If your projects aren't interesting an interesting language can help you endure. If your projects and your language isn't interesting then tedium.
[+] topbanana|7 years ago|reply
.net core would be a better sideways step IMO
[+] sheeshkebab|7 years ago|reply
I don’t see old releases of go supported too long either, and google is rather firmly in control of that language.
[+] SmellyGeekBoy|7 years ago|reply
Because Google would never dream of doing anything evil?
[+] repolfx|7 years ago|reply
What happens when a company steps up and says, "we now offer commercial support for Golang"? Do you suddenly apply the same rationale because someone might download their commercial version of Go by accident?
[+] jokoon|7 years ago|reply
Java stemming from one company in particular is one big reason I don't like Java, on top of requiring a jvm.

At least with C++, there are several companies involved, and its inventor doesn't work for one software platform in particular (herb sutter works at Microsoft, that I will agree). I don't know how 'iso' Java is, but to me c++ is much more adaptable.

Java requiring a jvm makes things a little complex. Does the jvm offers guarantees like c++ does? I trust c++ more, because once it's compiled, there are much less uncertainties.

[+] chrisseaton|7 years ago|reply
> Does the jvm offers guarantees like c++ does? I trust c++ more, because once it's compiled, there are much less uncertainties.

This seems backward to me. C++ has a great deal of undefined behaviour, which you don’t get in Java. And Java has had a memory model for years - until recently nobody could argue their parallel code was correct on C++.

If you want guarantees Java seems like the better option.

[+] viswanathk|7 years ago|reply
Looks like you have not worked much on C++. C++ is literally one of the worst languages for undefined behaviour and when something does go bad, the tooling around the language is so horrendous that it takes days to debug something that can be done within hours in Java.

I spent close to a week on data corruption that would have never been possible in Java.

C++ is not for the weak of heart. It's like the wild west. I have since moved to the civilisation of Java and quite happy here.

[+] maxlybbert|7 years ago|reply
While I really do like C++, generally, I see the question being whether to use Java or C#. And, for me, the answer to that question is always C#. It’s just a better language.

Sun open sourced a lot of software, but they didn’t co-operate with the community. When Oracle bought Sun, I remember thinking that they may have been the only company to have a worse open source background than Sun.

I’ll admit that Microsoft probably isn’t any better as far as actually being open (compared to throwing the source code over the wall on occasion?, but (1) they aren’t any worse, and (2) they never sued Google for using clean-room implementations of their programming language and libraries.

[+] tonyedgecombe|7 years ago|reply
Are there many projects where people would be choosing between Java and C++ anymore? They have found their niches and there doesn't seem to be much overlap to me.
[+] sorokod|7 years ago|reply
One thing is certain, once your C++ app is compiled to an architecture, it is guaranteed not to work anywhere else.
[+] jeswin|7 years ago|reply
Completely agree, since there's no point in forking. If you fork Java the language, take a significant part of the community along with it and that hurts Oracle's business interests, they're pretty certain to go after users.

Due to Oracle's actions, Java is not free software any longer.