top | item 17943405

Time to look beyond Oracle's JDK

173 points| wheresvic1 | 7 years ago |blog.joda.org

129 comments

order
[+] jeswin|7 years ago|reply
Actually, time to look beyond the whole Java ecosystem.

After the claims Oracle made during the Google trial (such as APIs and method signatures being patent-able), it is clear that one can't work on the Java platform without infringing Oracle's IP. If Oracle doesn't sue you now, it can sue you when it makes financial sense to do so.

.Net looks like a much better alternative, with a patent pledge and ECMA standardization. Although to be fair, Microsoft is still a supporter of patent lobbies.

[+] jsiepkes|7 years ago|reply
Your suggesting .net as an alternative but ironically the licensing of Java is largely shaped due to the Sun vs Microsoft lawsuit. Microsoft tried to do their famous Embrace, Extend, extinguish on Java (and failed: https://www.cnet.com/news/sun-microsoft-settle-java-suit/ ).

Its only been a couple of years that Microsoft has been behaving "better". I suggest you read up on the history of Java, Android, Google and Microsoft because you also seem to be unaware what Android Oracle vs Google was really about; Its wasn't about patents, it was about copyright.

You know what they say about history: Those who don't know it are doomed to repeat it.

[+] dragonwriter|7 years ago|reply
> After the claims Oracle made during the Google trial (such as APIs and method signatures being patent-able),

Copyrightable.

> it is clear that one can't work on the Java platform without infringing Oracle's IP.

That's not at all clear. After the third time Oracle v. Google gets ruled on by the trial court, it will undoubtedly be appealed to the Federal Circuit again. Whatever happens there, it is likely at least Google (given how the Federal Circuit has constrained what must happen at the District Court in the prior Appeal) and possibly Oracle will attempt an appeal to the Supreme Court. After that (whether the Supreme Court hears the case or not, but especially if they do), then what the law is in this area may be clear. Until then, all that is clear is what the Federal Circuit’s view of Ninth Circuit case law is, which as precedent is binding on no other court (any court bound by Ninth Circuit case law is bound by the actual case law of the Circuit, not the Federal Circuit’s interpretation of it) and, for litigants, has predictive power only for cases with patent claims that also raise similar copyright issues, and which arise out of districts in the Ninth Circuit.

[+] severino|7 years ago|reply
Lol, after reading the headline, I knew somebody was going to make a "time to look beyond Java" comment. It's a classic: it doesn't matter when or where, or if it makes sense or not... somebody has to say it.

However I wasn't expecting the same guy to actually promote .net, which is exactly a Java clone (created soon after the justice told Microsoft to stop trying to harm Java with this J++ thing) which only ran on Windows. It still does, because .net core is just a subset of the entire platform. But it's got a big corporation behind dictating its future development which poses the same threats as Oracle.

So given nobody can predict the future right now, I think I'd better keep using the long time open source, community focused and cross-platform alternative, which happens to be Java.

[+] pvg|7 years ago|reply
it is clear that one can't work on the Java platform without infringing Oracle's IP.

That's a pretty extreme interpretation. Most people aren't trying to ship Java-compatible runtimes, as Google did,

[+] carlosrg|7 years ago|reply
The .NET ecosystem is minuscule compared to Java, especially when it comes to alternative languages running on the virtual machine. So no, for a lot of people it's not a real alternative.
[+] chvid|7 years ago|reply
Had Microsoft owned Java it probably would have acted in the same way towards Google.

The versions mentioned here are strict Java compatible in that they follow a well-defined standard and an elaborate test suite. Quite different from Java Android.

[+] fulafel|7 years ago|reply
Pick Clojure, Scala or JRuby instead of Java if you need to start off on the JVM, to hedge against this risk.
[+] oldpond|7 years ago|reply
I agree Java is dying, but so is .Net. Microsoft is trying it's best, but .Net Core is no where near as popular as .Net 3.5. (google trends). Embrace the Beam. :)
[+] HNNewer|7 years ago|reply
Hope Go could take it
[+] village-idiot|7 years ago|reply
IIRC, if Oracle declines to protect its IP because you’re not worthy of suing yet, then they actually weaken their legal ownership of the IP.
[+] vesak|7 years ago|reply
> Actually, time to look beyond the whole Java ecosystem.

So why not Unix instead of *VM? It's been stable for quite some time, and offers massively better tools than these two alternatives.

[+] threeseed|7 years ago|reply
Will be interesting once Graal is released. I've found it be at least 30% faster than the existing JDKs around for Scala development. Others have found similar results:

https://medium.com/graalvm/compiling-scala-faster-with-graal...

[+] kodablah|7 years ago|reply
Surely it's no coincidence that, as Oracle removes differences between its JDK and OpenJDK, that they are throwing their weight behind this non-community project, with an enterprise version. Between sunsetting community owned Nashorn in favor of Graal solution to giving tools to OpenJDK presumably with fewer of their own maintainers, the resource shift is clear. Not that it's wrong or even nefarious, but devs need to realize who they're getting in to bed with when building a reliance on the tech.
[+] hashrate|7 years ago|reply
Interesting read.

I think the whole idea of "We need to replace Java with [Insert Language]" is much more complicated topic than just saying "X is free , Java is owned by Oracle".

Even is this is true , Java is by far one of the most performant programming language that exist on earth.

People just don't realize the hundreds of millions of dollars that went into the JVM and the JDK.

Even if they are great alternatives like Go or .NET , they either come with huge limitations in performance or their ecosystem.

Per say , finding JVM developers isn't that hard, regardless of the geography. However , finding Go developers outside of the Bay Area ? Good luck with that.

The issue with Patent on the JVM is well know and there is very little to nothing that we can do about it.

[+] acdha|7 years ago|reply
Java is better than it used to be but you’re significantly overselling performance as a competitive advantage. Many other languages have no trouble producing code which is as fast or faster, and Java is still shaking the culture of excessive complexity which has squandered much of the hard work in the JIT.

The ecosystem is a much better argument since it’s certainly massive, as is finding developers, although quality varies wildly in both cases.

[+] repolfx|7 years ago|reply
The Google / Oracle case didn't end up being about patents because they were all invalidated or deemed not to apply, iirc.

It ended up being about copyrights and whether or not you can copyright APIs.

It's unfortunate that Oracle chose to break the long-standing convention on this topic, however, it's not entirely surprising that eventually someone did. It's not at all clear why APIs should not be copyrightable, given the intent and wording of copyright laws and treaties - it's merely a convenient collective belief the software industry has had. It's now being tested in court and apparently splitting judges both ways.

I would also note that you always take such risks when building on platforms. The web is basically driven by Google these days, with other browser vendors either struggling to keep up or just giving up entirely (see, Safari) creating a new "works best in IE" era. And Google's stewardship of the web is hardly uncontroversial. Lots of obvious, major technical problems go unresolved for years or decades. AMP seems to be upsetting a lot of people. And of course there's not much stability: the web guys don't seem able to pick a direction and stick with it (e.g. web components/shadow dom stuff).

[+] georgewfraser|7 years ago|reply
Why would a company pay for "commercial support" of OpenJDK from IBM? I have used Java for 15 years and I don't know what "support" for a JDK would mean.
[+] pard68|7 years ago|reply
The decision makers are not programmers. The people making the choices on software in an enterprise are MBAs who know next to nothing about software and so they need some "insurance".

Look at the tech founded enterprises, they do not go the tradition enterprise software route. Why? Their leadership came from a developer background and not an MBA one.

[+] phakding|7 years ago|reply
If you are stretching limits of java, then you would need support because that knowledge base isn't available easily. I worked for a company that had performance engineers from sun on site helping us with performance issues.
[+] mey|7 years ago|reply
Security updates after EoL. Oracle does/did this with Java 6. Support in diagnosing problems and getting fixes escalated. As others have said, a corporate requirement to have a throat to throttle
[+] runlevel1|7 years ago|reply
Some orgs insist on having someone to sue (or at least to blame) when things go wrong.

Government and government-funded orgs practically insist on it.

[+] super_mario|7 years ago|reply
Every once in a while you hit a JDK bug that you cannot work around. You post a bug to Oracle (Sun in the past) and find out it's a duplicate that has been sitting around for years unfixed.

If you have paid support, a small team of engineers will dedicate their time to fix the bug for you and provide you with a patch, so you can move on. The patch can sometimes be specific for your platform and situation.

This is particularly true if you are stuck with older JDK version and cannot move forward for various reasons.

[+] pjmlp|7 years ago|reply
Fixing a segfault in a JVM running in production.
[+] hannibalhorn|7 years ago|reply
What really jumped out at me in the article is that the "free" builds from Oracle are only going to be available for 6 months, and production use of the Oracle JDK requires a paid license. So if you don't want to commit to upgrading your JVM every 6 months, it's time to look at the alternatives...
[+] exabrial|7 years ago|reply
Some companies fire all their workers in hopes offshoring is a magical bullet or let their top knowledge owners leave the organization. As such, they hurl money at the problem to try and cover their incompetence. In these cases Oracle had elected to receive.
[+] ece|7 years ago|reply
There's really only one, possibly two saviors of Java. Redhat with JBoss/Icedtea, and OpenJDK, which has IBM, Redhat, Oracle and Doug Lea at the top level. I don't see any great examples of building successful open source communities from IBM, but open sourcing OpenJ9 earns them some good will. Short of OpenJDK being adopted by Apache/Mozilla/etc.. (Oracle will let this happen after hell freezes over..) Java really has only one savior.

Redhat is skipping the minor Java versions, so it's Icedtea/OpenJDK build has Java 8, and the next version will have Java 11. This is what I'll be using on Linux.

[+] Sindisil|7 years ago|reply
"I don't see any great examples of building successful open source communities from IBM, [...]"

What about Eclipse?

Love it or loathe it, it's certainly been successful.

[+] djsumdog|7 years ago|reply
So would the Docker OpenJDK containers be equivalent to your distros OpenJDK build?

https://hub.docker.com/_/openjdk/

I assume so since they're maintained by the Docker community in the same way Debain or Ubuntu may maintain their package trees.

[+] kam|7 years ago|reply
These Docker images use the Debian or Alpine OpenJDK packages.
[+] Jonnax|7 years ago|reply
So apart from Java and .NET what other high level languages are there that have gained traction to near the extent of these two?

I must say that Oracle makes me hesitant to want to use Java in anything I'd make in my free time.

[+] exabrial|7 years ago|reply
This is great! Competition breeds excellence; I'm glad we're going to have a lot of new distributions.
[+] jarofgreen|7 years ago|reply
> Note also that certification is currently on a trust-basis - the results are not submitted to the JCP/Oracle for checking and cannot be made public.

Not public? Why on earth not?

[+] greatquux|7 years ago|reply
But what about supporr for the JRE? Please help a sad IT admin understand what's gonna happen.
[+] mnd999|7 years ago|reply
I tend to go with the Oracle VM because of the profiler (Java Mission Control). Does OpenJDK now have a credible alternative?
[+] csdreamer7|7 years ago|reply
How much of the entire Java api is under the GPL?

I get mixed messages on OpenJFX on how much of JavaFX has been open sourced.

[+] kjeetgill|7 years ago|reply
All of it. I'm not familiar with OpenJFX but JavaFX has always been in the GPLd OpenJDK.