4 ms·
I was a little confused about this for a long time especially when AdoptOpenJDK was first created, but I believe this is wrong. Here is an OpenJDK build from O
by pgwhalen 6y ago
I was a little confused about this for a long time especially when AdoptOpenJDK was first created, but I believe this is wrong. Here is an OpenJDK build from Oracle: https://jdk.java.net/14/ https://jdk.java.net/14/
- jagged-chisel 6y agoI might well be wrong. I wrote what I surmised as the situation after following lots of links for five minutes. Your comment certainly confirms there’s a lack of clarity around AdoptOpenJDK. I’d like to be better educated about it.
- twic 6y agoAIUI, Oracle provides: 1. "Oracle OpenJDK": free, open source builds of the current version of OpenJDK, at https://jdk.java.net/ https://jdk.java.net/ 2. "Oracle JDK": expensive, licensed builds of several versions of OpenJDK (plus their special patches?), at https://www.oracle.com/java/technologies/javase-downloads.html https://www.oracle.com/java/technologies/javase-downloads.ht... See: https://developer.okta.com/blog/2019/01/16/which-java-sdk https://developer.okta.com/blog/2019/01/16/which-java-sdk You can't get a maintained build of 11, the current LTS, from Oracle for free. Hence, AdoptOpenJDK and some other players provide that. I keep meaning to look into Corretto, Amazon's patched build of JDK 8 and 11: https://aws.amazon.com/corretto/ https://aws.amazon.com/corretto/ Amazon use it internally, so it is battle tested, and their 8 version has loads of good patches: https://docs.aws.amazon.com/corretto/latest/corretto-8-ug/patches.html https://docs.aws.amazon.com/corretto/latest/corretto-8-ug/pa... 11 is pretty vanilla right now, but could get better with age.
- pgwhalen 6y agoI think you have it slightly wrong. LTS is not a thing inherent to the language or to OpenJDK, it is a thing that a vendor provides. It is separate from from "update" releases that Corretto and AdoptOpenJDK provide. pron98 (pron on HN I believe) who works on the JDK at Oracle explains it better here: https://www.reddit.com/r/java/comments/i5zyyk/wtf_does_lts_even_mean_ffs/g0so60h/?context=3 https://www.reddit.com/r/java/comments/i5zyyk/wtf_does_lts_e...
- twic 6y agoIt's true that I'm using "LTS" very sloppily. Last time I looked into this in depth, it wasn't at all clear how community/third-party maintenance of old versions was going to be handled. It still isn't entirely clear. It's certainly true that "LTS" is not an official thing for OpenJDK or Oracle. But if Red Hat is doing LTS for 11, and are upstreaming their patches to the OpenJDK updates repo, then LTS is a thing in practice. Even if AdoptOpenJDK aren't doing any backporting, just building OpenJDK, that's functionally an LTS. The comment you link to is astoundingly bad, given who it's from. In particular: > The safest, easiest approach is to use the current JDK. You get a well-maintained JDK and never have to do another major upgrade. No, you may have to do a major upgrade every six months.
- pgwhalen 6y ago> No, you may have to do a major upgrade every six months. I think the point is that it's not a major upgrade. There hasn't been a major upgrade since 9, and there won't be going forward. It's similar to Go in that sense, where it's very easy to upgrade to the latest version, and older versions are only supported for a year.
- twic 6y agoThe 9 -> 10 -> 11 upgrades are allowed to make breaking changes. I have apps running on 11 that i can't upgrade further without significant work, because there are things that were retired in 12. To me, that means those changes are major upgrades. pron's article says that there are no major releases, only feature releases, and that may well be the terminology the project uses, but that terminology is pure mendacity.