Hacker News new | ask | show | jobs
by hu3 1552 days ago
Thanks! So why would I pick Oracle's implementation?
7 comments

Mainly if you want long term support from Oracle. Many enterprise systems are very slow to update. So they can't manage to upgrade before the LTS version goes out of support. So instead of paying to developers to continuously update the code base they pay Oracle to keep supporting the "out-of-free-support" versions of the JVM.
If you need to run Oracle apps like EBS. They only work on their release, not openjdk.

Side note: Avoid EBS at all costs if you can, unless you like spending money on consultants and like crappy obfuscated processes.

That wasn't the only reason why I left one job but their Oracle buy-in was a big factor. Things like paying 7 figures a year for support, and then having the Oracle support manager ask if they could redistribute the hot-patch I made to other customers.
Big enterprise vendors are always like that.

My first boss wrote the TCP stack for a long defunct mainframe, which was distributed via a “shared source” program that his employer paid for and eventually was licensed to his employer at significant expense.

Indeed. The primary reason I was so annoyed by that is that this was when (IIRC) IE8 was released, and day one we noticed that their sloppy JavaScript caused an exception which broke the entire UI. That happens but when I contacted enterprise support, I got a surprisingly snotty “we don't beta test Microsoft's software for them” message closing the ticket. They re-opened it when I pointed out that it was the release version and rolling out enterprise-wide to our Windows desktops for security reasons but I was not expecting a fix for a while based on the blow-off (this proved accurate), much less the call from a support manager a couple days later who'd seen in the case notes that I'd mentioned having patched it on our cluster (this was literally one line of code — trivial for any decent web developer).
Early form of PaaS, Plagarism as a Service?
I completely understand, in the same situation myself atm after several years of lean and agile work, somehow ended up having to manage this EBS crap on a new contract (it was only part of the spec). It's a nightmare.
> Avoid EBS at all costs if you can, unless you like spending money on consultants and like crappy obfuscated processes.

* Oracle products in general (in my experience)

Depends. Many companies want to rely on long-term supported versions with security/stability updates directly from the folks that wrote a majority of the code in the JDK itself. Also as noted above, Oracle offers the Oracle JDK under a free-in-production license with overlap with the next LTS giving users time to upgrade.
I personally haven't had a reason to use Oracle's because I like having the latest version and any actively maintained LTS versions available for development and would prefer to use one vendor for all of them. Eclipse Temurin and Azul Zulu are the two I've personally used, but I'm not aware of any technical differences. They should all work the same since they're built from the same code.

Most of the big vendors are running the TCK tests to certify compatibility as well.

Question is why would you pick any vendors implementation?

OpenJDK is reference one build from the source which is then taken by vendors and tweaked and built.

Oracle’s OpenJDK is the only one that is built without supporting Shenandoah GC.
I do not know but apart from just vendor lock in, oracle might provide guarantees (maintenance?) that the other providers cannot.
There is no vendor lock-in, other than perhaps the logo, OpenJDK is the same as OracleJDK, since Oracle develops the former 90+%.
The Oracle JDK ships with capabilities not found in OpenJDK. Oracle ships webkit for instance--to parse/render HTML. OpenJDK does not. There also used to be a JavaScript engine, which I believe was deprecated unfortunately, and does not ship with OpenJDK.
Ignorance of the Supreme Court decision that Java API copyrights are not enforceable.

https://en.wikipedia.org/wiki/Google_LLC_v._Oracle_America,_....

That's a separate issue. There are lots of licensed OpenJDK builds, and even for Android the case is no longer relevant as Google now licenses the API from Oracle.