News for hackers. Stuff that matters.
Re:Java 18 / JDK 18: General Availability by hu3 on Tuesday March 22, 2022 @11:15AM (#30767076)
Is there a reason to use Oracle's closed-source Java implementation instead of the opensource implementations? Asking as someone who's ignorant about Java.

edit: per comments below, Oracle's Java is open-source too these days.

Re:Java 18 / JDK 18: General Availability by Sharat_Chander on Tuesday March 22, 2022 @12:07PM (#30767812)
Oracle OpenJDK is an open-source Java release:

https://jdk.java.net/18/

Re:Java 18 / JDK 18: General Availability by ajoberstar on Tuesday March 22, 2022 @11:17AM (#30767108)
Oracle's builds of Java are open source as well. The OpenJDK codebase is shared across all of the vendors that provide builds.
Re:Java 18 / JDK 18: General Availability by teilo on Tuesday March 22, 2022 @11:18AM (#30767127)
"Open Source" but not free to use as you wish. The Oracle builds require a commercial license.
Re:Java 18 / JDK 18: General Availability by papercrane on Tuesday March 22, 2022 @11:29AM (#30767277)
In this case it means GPL+Classpath Exception. The link goes to the Oracle provided OpenJDK builds.

Oracle also has their own build of the JDK which is not GPL. That is free to use in commercial software as well, under their "No-Fee Terms and Conditions"

Re:Java 18 / JDK 18: General Availability by freedomben on Tuesday March 22, 2022 @11:47AM (#30767524)
I think you're correct right now, but Oracle has a tendency to change their minds frequently. Tomorrow you might be migrating or paying.
Re:Java 18 / JDK 18: General Availability by ajoberstar on Tuesday March 22, 2022 @11:31AM (#30767300)
Maybe I'm wrong, but I don't see that called out anywhere. I don't believe that's true anymore, but correct me if I'm wrong.

For reference I double checked here: https://www.oracle.com/java/technologies/downloads/

Re:Java 18 / JDK 18: General Availability by wccrawford on Tuesday March 22, 2022 @11:51AM (#30767577)
There used to be really prominent banners telling you about it. I don't see them now, but I'm also not sure they switched back. Here's an article I found explaining the switch to requiring paid usage.

https://blog.netwrix.com/2021/12/02/oracle-java-license-chan...

Re:Java 18 / JDK 18: General Availability by Someone on Tuesday March 22, 2022 @12:10PM (#30767852)
I think that’s the switch (somewhat) _away_ from paid usage.

https://itassetalliance.com/blog-posts/what-do-oracles-2021-... says there was a change in 2019 that made critical security updates a paid feature.

The 2021 license change reverted this somewhat, by giving you one year of security fixes for free in the long term support versions (I’m sure I’m missing some detail, if not completely misinterpreting things, here)

Re:Java 18 / JDK 18: General Availability by fulafel on Tuesday March 22, 2022 @11:29PM (#30774585)
They might be built from the same source but they have draconian end user licenses and license changes that can unpredictably expose you to Oracle commercial licensing costs and lawyers chasing after you. See eg https://developer.ibm.com/blogs/java-licensing-is-changing-a... & https://www.theregister.com/2022/03/22/oracle_starts_to_incl...
Re:Java 18 / JDK 18: General Availability by hu3 on Tuesday March 22, 2022 @11:19AM (#30767132)
Thanks! So why would I pick Oracle's implementation?
Re:Java 18 / JDK 18: General Availability by pritambarhate on Tuesday March 22, 2022 @11:25AM (#30767218)
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.
Re:Java 18 / JDK 18: General Availability by _joel on Tuesday March 22, 2022 @11:26AM (#30767220)
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.

Re:Java 18 / JDK 18: General Availability by acdha on Tuesday March 22, 2022 @11:51AM (#30767562)
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.
Re:Java 18 / JDK 18: General Availability by Spooky23 on Tuesday March 22, 2022 @03:43PM (#30770544)
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.

Re:Java 18 / JDK 18: General Availability by acdha on Tuesday March 22, 2022 @06:32PM (#30772464)
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).
Re:Java 18 / JDK 18: General Availability by _joel on Tuesday March 22, 2022 @05:21PM (#30771725)
Early form of PaaS, Plagarism as a Service?
Re:Java 18 / JDK 18: General Availability by _joel on Tuesday March 22, 2022 @01:05PM (#30768668)
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.
Re:Java 18 / JDK 18: General Availability by chewmieser on Tuesday March 22, 2022 @11:43AM (#30767477)
> 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)

Re:Java 18 / JDK 18: General Availability by carimura on Tuesday March 22, 2022 @11:37AM (#30767398)
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.
Re:Java 18 / JDK 18: General Availability by ajoberstar on Tuesday March 22, 2022 @11:28AM (#30767248)
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.

Re:Java 18 / JDK 18: General Availability by krzyk on Tuesday March 22, 2022 @04:30PM (#30771105)
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.

Re:Java 18 / JDK 18: General Availability by alblue on Wednesday March 23, 2022 @04:42AM (#30776356)
Oracle’s OpenJDK is the only one that is built without supporting Shenandoah GC.
Re:Java 18 / JDK 18: General Availability by pfortuny on Tuesday March 22, 2022 @11:24AM (#30767202)
I do not know but apart from just vendor lock in, oracle might provide guarantees (maintenance?) that the other providers cannot.
Re:Java 18 / JDK 18: General Availability by kaba0 on Tuesday March 22, 2022 @12:30PM (#30768176)
There is no vendor lock-in, other than perhaps the logo, OpenJDK is the same as OracleJDK, since Oracle develops the former 90+%.
Re:Java 18 / JDK 18: General Availability by datavirtue on Tuesday March 22, 2022 @04:29PM (#30771095)
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.
Re:Java 18 / JDK 18: General Availability by danuker on Tuesday March 22, 2022 @11:29AM (#30767269)
Ignorance of the Supreme Court decision that Java API copyrights are not enforceable.

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

Re:Java 18 / JDK 18: General Availability by papercrane on Tuesday March 22, 2022 @11:31AM (#30767304)
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.
Re:Java 18 / JDK 18: General Availability by ldargin on Tuesday March 22, 2022 @11:55AM (#30767616)
If you have to ask, you don't need Oracle's Java.
Re:Java 18 / JDK 18: General Availability by vips7L on Tuesday March 22, 2022 @11:53AM (#30767593)
Some people like support contracts. It gives you someone to blame when the auditors come knocking.
Re:Java 18 / JDK 18: General Availability by thfuran on Tuesday March 22, 2022 @11:58AM (#30767671)
But does anyone like being involved with Oracle? There are other java vendors that offer support.
Re:Java 18 / JDK 18: General Availability by jameson on Tuesday March 22, 2022 @12:38PM (#30768279)
Probably not for the most of the tech companies nowadays, but there are still large companies who still uses Oracle products, so they might pay Oracle Java support as a package deal most likely.

I think it'll be very atypical for a companies who doesn't use any of the Oracle product to use proprietary Oracle Java and pay for the support

Re:Java 18 / JDK 18: General Availability by native_samples on Tuesday March 22, 2022 @01:53PM (#30769248)
There are, but Oracle employ the vast bulk of the JVM and standard library experts in the world so they are in a position to offer far better support.
Re:Java 18 / JDK 18: General Availability by sandGorgon on Tuesday March 22, 2022 @12:22PM (#30768051)
AWS Corretto is a good option - https://aws.amazon.com/corretto/

its fully certified and production ready. And most importantly - official Docker image https://hub.docker.com/_/amazoncorretto

Even oracle JDK does not come with a supported, official image

Re:Java 18 / JDK 18: General Availability by dboreham on Tuesday March 22, 2022 @11:34AM (#30767361)
For some purposes a tested validated binary may be appropriate vs mystery meat someone threw through a compiler then shipped without testing.
Re:Java 18 / JDK 18: General Availability by mdaniel on Tuesday March 22, 2022 @12:08PM (#30767823)
That's actually why I prefer Azul's openjdk builds over adoptopenjdk or other distros: it's sane but not in contact with the Oracle swamp

https://www.azul.com/downloads/?package=jdk#download-openjdk

https://hub.docker.com/r/azul/zulu-openjdk

Re:Java 18 / JDK 18: General Availability by pjmlp on Tuesday March 22, 2022 @12:51PM (#30768465)
Majority of OpenJDK code is tainted with Oracle's paycheck swap.
Re:Java 18 / JDK 18: General Availability by gunnarmorling on Tuesday March 22, 2022 @04:30PM (#30771103)
I don't get that sentiment, at all. Why would you be complaining about Oracle sponsoring JDK development (the resources they put into it are tremendous), which you can benefit from absolutely for free, 100%, no strings attached whatsoever? Can you help me to understand the reasoning here, because it just doesn't make sense to me.
Re:Java 18 / JDK 18: General Availability by pjmlp on Tuesday March 22, 2022 @05:44PM (#30771978)
It doesn't mean to me either, I was only making a point for the typical Oracle bashers that still haven't got the memo that OpenJDK is anyway mostly done by Oracle employees, while using the same style from the parent post.
Re:Java 18 / JDK 18: General Availability by water8 on Tuesday March 22, 2022 @11:17AM (#30767105)
Licensing. Oracle requires a commercial license
Re:Java 18 / JDK 18: General Availability by ajoberstar on Tuesday March 22, 2022 @11:23AM (#30767188)
You can get a paid commercial support license for Oracle's JDK to get an extended maintenance window. But Oracle's publicly available builds don't require a paid license. However,they only provide public builds of the current Java version. If you want LTS, you have to pay them or use another vendors builds.
Re:Java 18 / JDK 18: General Availability by carimura on Tuesday March 22, 2022 @11:34AM (#30767354)
That's changed a bit. As of JDK 17, Oracle offers Oracle JDK builds under the NFTC license [1], free for use in production with updates overlapping the next LTS version.

[1] https://www.oracle.com/java/technologies/javase/jdk-faqs.htm...

Re:Java 18 / JDK 18: General Availability by water8 on Tuesday March 22, 2022 @11:58AM (#30767667)
Currently though, a lot of Java software is still java version 8 or 11 which Oracle is withholding LTS for commercial customers
Re:Java 18 / JDK 18: General Availability by lgessler on Tuesday March 22, 2022 @11:22AM (#30767177)
That's a reason not to use Oracle--GP's asking for a reason to use Oracle.
Re:Java 18 / JDK 18: General Availability by water8 on Tuesday March 22, 2022 @05:36PM (#30771883)
OpenJDK:Ubuntu::OracleJDK:RedHat
Re:Java 18 / JDK 18: General Availability by usrusr on Tuesday March 22, 2022 @11:30AM (#30767291)
If all else has been eliminated: kickbacks perhaps?