This is only very indirectly related to Java as a whole. the reference implementation of the jvm is open source and managed by a coalition of companies under a GPL license, the OpenJDK.
Oracle has its own set of enhancements to the reference jvm that handle things like just-in-time compilation and garbage collection differently and have some additional flags that allow for more fine-grained tweaking of certain features.
There are many other companies that do the same.
Oracle only started doing this in 2019 so many companies who were running Java before this used the Oracle JVM out of convenience, even if they weren’t going to use the tweaked parts. So everyone switched to another implementation, OpenJDK, Amazon Coretto, Eclipse J9 or some other available JRE/JDK.
In 2023 Oracle cracked down harder trying to get people to pay for licenses and changed their terms such that any company with even 1 employee using an Oracle JVM had to pay for every employee in the company. ridiculous I know.
This is just more news about Oracle’s licensing crackdown and not about Java as a whole at all. Think of it more like the Unity licensing change and you’re telling people to stop coding in C#.
even 1 employee using an Oracle JVM had to pay for every employee in the company
Before that one, they were using a “if one core can run it, all cores must have a license” model.
If you want to see how well that model did, remember
- Oracle moved off its success onto this one
- VMwareCom is now using it
- Microsoft is using it (want to run a single 2022? License every core in your cluster)
It makes the SuSE AND SCO seat-license deal look tame.
I’m aware of the jdk alternatives and I will never use any of them because Oracle might some day decide that they’re an IP violation like they did with Google’s Android. I’m sure you’ll tell me something about the licensing being different but that still will not matter because there is always the possibility that Oracle will change their mind and start messing with me for sport. The Java ecosystem is rotten from the top down because Oracle cannot be trusted.
Oracle might some day decide that they’re an IP violation like they did with Google’s Android
They lost that case. It went all the way to the US Supreme Court and set a binding precedent that an API re-implementation falls under the Fair Use doctrine. Maybe Oracle could try some excuse to say that OpenJDK is different enough from what Android did for that precedent to apply, but it would be a major uphill battle, and they know it.
It was expensive for Google and fighting them would destroy most companies. It’s cheaper to avoid the ecosystem entirely.
OpenJDK is released under the GPL. That requires making any patents available for free to users.
They could theoretically change their mind and try some shit, but the GPL is hard to go “backsies” on.
Feel free to use it, as long as you’re willing to pay lawyers to fight them when they decide otherwise.
I’m curious. Microsoft is in a similar position with its open-source-like work. It’s been great for PR but MS has a bad history with Open-Source and with its customers (1999-doj-vs-ms). It’s one of the very few companies so bad they were actually sued by the doj.
If you feel this way about Oracle, what’s your feeling toward Microsoft? Does it colour your use of c# or dot-net knowing that a company with a track record of rug-pulling and secretly thumbing the scale is still in control of the tools you choose to use?
C# is not my first choice but I did tolerate it the last time I worked a corporate job. MS seems committed to .NET core being open source and have never tried to rug pull C# or the .NET framework itself.
Also, I believe Microsoft’s incentives are different, and in a way that benefits me. For instance, they sell more Windows Server licenses because it’s easier for legacy shops to administrate (even though it can be done with nginx now). They also get more native software released for Windows, sell more Visual Studio Pro licenses and are able to steer people toward Azure DevOps and other Azure based cloud services.
Oracle has some similar products but their revenue streams are miniscule in comparison. They also have historically been a very lawsuit-based company, as an aggressor not a defendant.