What a pain!
So, you can starting using it "for free", but an update will mean it is no longer free.
Why would I switch from OpenJDK when all I need is a hassle-free runtime?
Oracle this week made Oracle JDK "available for free," for personal, commercial and production use, including quarterly security updates, for a limited time. "Free" in this context means the software is now licensed under the Oracle No-Fee Terms and Conditions (NFTC) license, having been previously under the Oracle Technology …
^ Exactly this, and you could write the script.
When Oracle starts charging for their own JDK again, they will harvest and examine all the contact details of everyone who downloaded when free and then they will set their license compliance officers on all those people and businesses.
End result: More $$$$ cheques for Oracle to fund Larry's next super yacht. Oracle effectively runs an extortion racket writ large.
I've never seen such a chilling effect on a platform as when Oracle did a licensing switcharoo on the JDK/JRE. Yes there are alternative builds of the Java runtime, built through necessity by other stakeholders. But when the one you most depend on starts demanding money it's time think about changing technology.
That was when the fun went out of Java.
If Google can persuade Android devs to write Kotlin, Deno can free us from the tyranny of npm, and Rust can answer that "how do we trap out of memory" question.
Java might just die.
From my perspective there has been nothing between 8 and 17 of any compelling interest by Oracle, Jakarta, Eclipse, VMware or any OS project.
Corps change slowly but Java is not the only language that runs on a JVM. That's going to be a problem for Oracle's Java.
We can't work with just the good languages. Kotlin and Java observe features in trendy new languages then re-implement them in a way that actually works correctly. If you were shown side-by-side comparisons of Scala and Java, you might think that Scala is far more elegant. When you look at the language-level bugs in each, suddenly Scala is terrifying.
I loved learning Java about 15 years ago. I'd always found it hard to get my head around learning languages, they always seemed to glib and vague and then here was a language that demanded I do things a certain way, if I made mistakes it would admonish me and refused to play with me. Kind of like like learning to program with a dominatrix! Ha ha! Did some really nice little projects with it and enjoyed it.
Then Oracle started putting their foot down and it felt like it wasn't worth sticking with Java any longer, I moved on, first to Python and dabbled in C++ but I've now settled on Go. Sure it's backed by another nasty huge mega-corp and it's got a lot things missing and "real developers" hate Go but as a sysadmin who just codes utiltiies it suits me and after such a long time I'm finally having fun coding again.
So I know Java is going nowhere soon and it taught me some solid OOP fundamentals ( as in putting the fun back into fundalmentalism! ) I think it's deathrow is in sight on the horizon.
Oracle originally inherited Sun's approach to Java, then went hard on the attempt to commercialise it by not allowing "free" use of the JDK.
Unsurprisingly, given that there are solid alternatives, not only to Java itself, but also to Java running under the JDK, they've had to do an about turn and accept that demanding money with menaces doesn't make for good business.
Perhaps there's a lesson in there for them...
I say this as somebody who programmed it for 20+ years.
The language features are overly verbose and Oracle's management, licencing and versioning (which was already all over the place) has butchered and fragmented it more than MS attempted in its J++ heyday.
Kotlin is the new cool, Android is the new Personal Java (or if you like "J2ME"), OpenJDK and Correto compete for hearts. Scala is the black sheep that no Java purist wants to touch (owing to it's age and competing directly with Java back in the day, also cf. Kotlin) and that's the complexity before we drag in all the different javax.* packages that are optional (not optional really) that you need to get real Enterprise stuff done - email, servlet standards, various other JSR annotation implementations...
The writing was on the wall when every Java dev had to learn Apache Commons and use Spring (+Boot) to make up for the lack of basic language features (like string functions, high level database work like ORM/repos, MVC, dependency injection etc etc) and to avoid the sh*tshow that was EJB <=v2.
Who the f. would touch this stuff as a newbie these days?