Or maybe, just maybe, Oracle finally realized Java has become a bloated piece of over-engineered enterprisey abandonware, the developer community has largely moved on, and it won't make them money going forward.
Java is in maintenance mode. So they open source Java (for real this time) so someone else will take maintenance costs off their hands, and they can still sell their app suites which use Java.
Java is a language, not some of the enterprise `AbstractFactoryProxyBuilder` horrors written in it.
Theres plenty of good things written in Java, and theres plenty of trash written in <trendy new language>.
Java the language is great - exceedingly well specified & documented, tested & optimized JVM platform, very simple & familiar with a lot of communal knowledge around it, great tooling around IDEs, runtime inspection that most languages can't match yet etc. Great might be a matter of taste, certainly not horrible and generally up to par with most other langs.
Extreme generalizations like "X is bad & evil!!!!!" aren't really useful lenses to view software through.
The JVM and tools + libraries built around it are great. Java itself is trash, IMO - I really don't see any reason you'd want to write Java instead of Kotlin. Saves you the hassle of boilerplate, introduces plenty missing features/improvements, runs on the JVM and on Android as well, and switching over is trivial.
I would prefer writing Scala/Kotlin over Java. I still don't think that merits calling Java "trash". I am perfectly happy writing Java. Boilerplate & a few null-checks are very far from the truly horrible things about bad software - they are minor annoyances.
This hyperbole about language is really not helpful. On the scale of things that make code good or not, separation of concerns & modularity, documentation etc. are 10-100 times more important than language.
I've been playing with Kotlin a bit recently. I really enjoyed it until I started coding some stuff in earnest and discovered that I still find Netbeans & Java more productive than Idea & Kotlin. The issue with boilerplate in Java is overblown - IDEs just generate all that stuff.
Calling Java trash is pretty offensive IMO.
Enterprise customers use only two stacks when performance matters, Java or .NET, maybe with some additional C++ sauce, anything else are small contractors trying to get a piece of the pie from enterprise projects.
Java is in maintenance mode. So they open source Java (for real this time) so someone else will take maintenance costs off their hands, and they can still sell their app suites which use Java.