Oracle is literally the steward of the whole platform, 95+% of all OpenJDK commits come from Oracle-salaried developers and they were literally the company that made the whole project completely open source to the point where the OracleJDK that used to differ is now only a different brand of the OpenJDK sources.
In other news, they charge money for commercial support, that you can buy, what a concept..
They've been doing a very good job at it as well. The developments that have and are going into Java in the past few years have been quite great. From projects like Amber, Loom, Valhalla, GraalVM, Lilliput, Panama, and more!
This is correct, these pricing changes are only regarding enterprise licenses for Oracles specific build of Java. Builds of openjdk are free to use and the Eclipse foundation provides builds here: https://adoptium.net/
Many other companies provide OpenJdK builds for free alongside offering a paid JDK.
An example is Azul, they release a free build of Openjdk named Zulu, but also sell a custom JDK that includes a custom high performance GC.
> The OpenJDK is the open source reference implementation of the Java SE Specification, but it is only the source code. Binary distributions are provided by different vendors for a number of supported platforms. The OpenJDK project itself is managed on openjdk.java.net where you can find specifications, source code, and mailing lists, but there are no builds that you can download. You need to choose a distribution.
Oracle itself provides builds of OpenJDK[2], but they aren't maintained:
> Oracle provides OpenJDK builds for Linux, macOS and windows in a compressed archive format. These builds will only be updated for a 6-month period. Updates and security patches will not be available after this short period. This also applies for LTS versions! e.g., the latest OpenJDK 11 build was 11.0.2+9 while the current OpenJDK version is 11.0.12+7.
Then there is the Oracle Java SE SDK[3]. This is the one with the terrible license:
> Oracle provides a commercial version of the OpenJDK, which are based on the exactly same sources of the OpenJDK: The Oracle Java SE Development Kit (JDK). Oracle provides updates regular updates and security patches for these builds. The main issue with these builds is Oracle’s licensing policy.
In some sense that's not far from the truth. As soon as something goes to production it starts slipping out of sync with how it could/should be and the layers of dependencies start accumulating that make it harder to change (unless it's just dead code no one is using I suppose).
As well you should be and plan for that by either not going with a tech that will increment that way or making damn sure you are profitable enough to pay the bills.
I do wish it would all get replaced by C#/.NET. With no exaggeration, it's better in every conceivable way. Java has no reason to exist beyond inertia when C# can replace it.
> Except you're locked into a more confined ecosystem.
The Microsoft ecosystem can become more confining if you continue to operate as if its 2008 and follow all their old patterns (e.g. IIS, Azure, et. al.)
For the more clever developer in 2023, you take .NET 7 and skip over all of the Azure-integrated bullshit. You can throw away 100% of their complex AspNetCore libraries in favor of minimal API integrations. You can do everything your way and run it wherever you want.
The entrapment in the Microsoft ecosystem is of a substantially different nature than entrapment in the Java ecosystem. Becoming mired in Microsoft licensing concerns is a matter of technical competence. Becoming mired in Oracle licensing concerns is a matter of business competence.
Instead, I just don't use Microsoft's stack, and install OpenJDK. That floats my boat for my "Enterprise Language for long-haul trucking" needs.
The other thing I do is being able to use multiple languages and using the right one for the job, and ensure that all are supported by GCC suite.
Well, I'm on a very different niche than many software developers here, but at least it gives me more freedom to do what I want to do, and how I accomplish these.
That's quite an exaggeration. The JVM philosophy is different from .NET's, even though there is a large overlap with them being VM based languages. C# has gotten too complex as a language, with so many features. C# also exposes lower level constructs, whereas the JVM tries to do a lot of different optimizations instead. The JVM has the best GCs in the industry, and the best monitoring and observability through JFR.
> C# has gotten too complex as a language, with so many features.
I really wouldn't say so. All the new features are convenient and easy to understand, especially if you have Visual Studio to teach them to you (type if (x == null) x = new .. and you get a popup to transform it into the new operator). It's not a zoo like C++.
Compare C#'s colored functions to Java's Loom. .NET has only one GC implementation, so if it doesn't work for your use case (low latency), you have no choice but to migrate to a different platform.
You forgot the JVM (and the tools built around it, so for example you can monitor / profile your app in production etc), and the massive galaxy of 3rd party libs that is the Java ecosystem.
Whether you like Java (the language) or not, Java (the ecosystem) will not go away. In fact, it is alive and well, and I would guess it is at least an order of magnitude bigger and more mature than the .net ecosystem.
If you don't like Java (the language), you can choose Kotlin (Java++), Scala (Haskell--), or other languages (eg. Groovy?)...
That's not really true to the slightest. If anything, the advances in the JVM and the language itself have been making it even more attractive and distinct from its nearest competitors, making the gap even wider in its favor.
It does have some nice features, but it can get overwhelming quickly with the pace they're being added at, not to mention some features being quite nuanced or interact with each other in intricate ways.
At least for the time being, Java has exhaustive pattern matching and proper enums, whereas C# doesn't.
Seems like a non-issue to me. People using Oracle JDK for their applications can easily switch to one of the OpenJDK variants (Temurin, Corretto, you name it, heck even Microsoft or AliBaba if you really hate yourself), if they haven't so already (Oracle has been charging money for their JDK for quite some time, while there are more than enough free alternatives). The only reason to stick with the Oracle JDK would be to use an application that only supports that specific JDK (like WebLogic), which probably means another Oracle product, so you are giving them $$$ already, so that won't make a difference.
They're all well aware. But companies like paying for things. They don't like legal gray areas about licensing, patents, copyrights. They just want to pay for a license and get indemnification and some kind of assurance they won't get sued or extorted later by some trolls.
A lot of it is also they like having the capability of picking up the phone and getting someone to prioritize / look at an issue they care about. Good luck trying to get an OSS dev to do that for you if you're in an industry that dev doesn't like (i.e. military development).
With a negotiated support contract you have assurances that developers are willing to deal with you, that they're probably not going to just up and vanish, and that they've at least agreed to at least consider issues that you run into.
Almost all of them say that their tickets are attended to within hours of filing, and Oracle offer support in over 20 languages so they must have a pretty big team to be able to do that.
Yes, the Oracle support is probably the best among the large software distributors.
And no, it won't solve some problem you detected. It will only help you if it was already solved by development.
Anyway, time to attend to a ticket is a useless metric. I bet Microsoft fares better on this than Oracle, but their support is absolutely counterproductive. (What I mean literally, you will get your problem solved faster if you don't try to deal with them.)
> I recall hearing recently something along the lines of- assuming you'd made the mistake of having signed up with Oracle in the first place- the contract you agreed to states that in the event of switching to another compatible variant, you're still required to pay Oracle their fees regardless.
> I also vaguely recall that this clause was indefinite(?)
Their lawyers will argue that the consideration was that the allowed you to use the Oracle software in the first place.
They'll probably also argue that you continue to benefit from using the Oracle software to develop your software even if you stop, although that's not necessary for consideration. That's more of an argument against unconscionability.
I don't know if their contract actually has that provision, but if so, it's another reason to stay away from Oracle altogether. I really don't understand the companies that seem to say "You know what would be great? Working with Oracle!" It seems insane to me.
I don't know if that's true, but that would qualify as a "suckers clause".
Most people would not only laugh at that but also terminate every business with Oracle just because of that.
But.. there's a percentage of clients who just say "Ohh dear.. ok then." and in many of these organizations the people who make these decisions aren't even close to the source of revenue ( mostly public sector )
Wow Oracle being aggressive with licensing terms, who would've thought. \s
Although when you look at the actual numbers: "[someone] estimated that a company with 250 employees, 20 Java Desktop Users and eight Java Installed Processors would pay $3,000 a year on the old model, which grows to $45,000 a year under the new subscription, a 1,400 percent increase."
45k per year is a lot compared to 3k, and obviously it's even more compared to other languages which are completely free to use. But at the same time 45k is not all that much for a 250 employee software company. Probably not enough to justify a complete rewrite.
If you count just the 20 Java Desktop Users, that's $2250/user/year. Sure, it's not a lot compared to salary, but on the other hand at that point Delphi starts looking cheap again.
Not enough to justify a rewrite, but enough to consider what to do with new projects.
Its enough to use as additional proof that Oracle is a bad vendor to rely on in the long run, as they have demonstrated that they don't mind massively raising prices at the drop of a hat because "its not enough to justify a rewrite".
Of course, I said 'additional evidence'.... if Oracles many other shenanigans haven't convinced the pointy-haired bosses by now, I'm not sure anything will.
I saw an offhand comment that Oracle's Java acquisition was a monkey's-paw wish to have someone step in to evolve the language and fix all the SDK bugs and I think that was a pretty good comparison.
There's an alternate universe where Google bought out either Sun or just Java, and then probably abandoned the commercial part of it entirely within a few years, leaving nothing but OpenSDK and a steering committee.
You do realize that Oracle was literally the company that open sourced the whole OpenJDK to the point that the only difference between Oracle’s version and the free open-source reference implementation (95+% developed by Oracle employees) is just some a tiny bit of branding?
Also, with respect to Google’s inability to continuously support any project for more than like 4 years, no, Oracle is a much better steward of the platform.
Nathan Biggs, House of Bricks CEO, estimated that a company with 250 employees, 20 Java Desktop Users and eight Java Installed Processors would pay $3,000 a year on the old model, which grows to $45,000 a year under the new subscription, a 1,400 percent increase.
I know someone who works at a large place that got hit by a similar increase. I assume Oracle thought they were large enough to not care and would just pay the HUGE increase. Instead they had a team that spent a couple months ripping Java out of everything. Oracle went from making something, to making nothing. I don't understand how they could think these increases are a good idea.
Short term they make more money if the only lose 9 out of 10 clients. But long term the loss in mind share might do a lot of damage. Java's biggest selling point is that everyone (or at least every enterprise) is using Java. If they manage to push people away they will just lose to C# as the industry slowly shifts to greener pastures.
Of course you can also make money on Cobol, and IBM presumably makes decent money on System Z mainframes. So in the short term it might be great.
It depends on the effect at the margin. If the income they earn from people keeping the subscription is larger than the income they lose from people moving away from it, then it was a smart business move. (Not saying it's a good thing though)
That might be the goal. Get away from the small enterprise users so that they can milk the bigger ones. If their 15x increase in price on larger customers drops off smaller customers, they probably still boost their revenues.
If BigCo was paying $30k/yr is now swallowing $450k/year, that allows them to lose 140 small customers only paying $3k/yr. Which has more knock-on effects, less support staff. All in all, it will probably turn out to be a net positive for Oracle.
I haven't in some decades. Not that the OP is junior, but with juniors I've seen the pattern to blame hard to find bugs on the JVM. In the end it never was.
I have never gottem good support from Oracle and never been able to blame them, sure only 5k licenses but when we do have problem they are of no help whats so ever.
We have moved most installs to Openjdk. The ones that use official Oracle have been cheap enpugh until now.
If the other comments are to be believed, this triggers an immediate fee to be paid to Oracle.
Personally, I thought everyone(including Google) was crazy for using Java or any JVM language in any form until the Supreme Court case was settled. Even if the internet commenters tell you it's safe, do you really trust them to make a legal case so iron-tight that Oracle's thousands of lawyers won't find some way to sue you and cost you $500/hour in defense fees for months if you come to their attention?
OpenJDK literally has the exact same license that the linux kernel uses. Do you also fear Google, intel, Microsoft and alia from suing you for using linux?
I think OP's point is that Oracle were suing Google for implementing the same API as the JDK. If that had held, then any other Java SDK like OpenJDK would have been in potential trouble.
Why would anyone use a commercial license for desktop users?
It’s almost like “you will pay a shitload of money if you don’t know what the hell are you doing”, and that is true of everything, but especially businesses.
Does this create a loophole where you have a shell company with 1 person in charge of “running” your Java applications. You can obviously still do development on OpenJDK or whatever.
I mean, too much of a PITA to do when there are reasonable alternatives, but interesting to think about.
I remember when oracle bought sun and it really felt like java was likely to die because of its new owner. It is amazing how successful it has continued to be in spite of that.
Oh, to be sure, and even if the customer were following the letter of the contract, Oracle would force them to settle by simply making the court case incredibly expensive to fight. You’d be made an example of absolutely.
> It is amazing how successful it has continued to be in spite of that.
It won’t be a popular opinion, but it is likely thanks to that. Oracle managed to hold onto almost the whole core team since the Sun times, which is very very rare in case of take overs.
I've not written Java for a very long time, but why are people paying for Java when Azul and OpenJDK exist?
I know there must be a reason for it - but I don't know what that is? Is it support? How is that useful for a programming language - do Oracle engineers come and tweak some Java code at your megacorp, or what is it?
Sometimes people pay because they have something from Oracle and the sales stuff throws Java etc. in/pushes hard. Those CIO/CEOs makeing the decision might not now that it's free. Or they are scared away by Oracle to use these. Or some external company does your IT project like EY. Or they got sold some Java extension by Oracle. And if you pay millions for the database, the Java costs might be trivial.
(Haven't payed myself for Java as CTO so this is pure speculation).
> Those CIO/CEOs makeing the decision might not now that it's free
I like to think if I ever ran a company i'd never hire someone to a position where they wouldn't know how to sniff this out, but I imagine I am being incredibly naive.
It's mind boggling to me that some bill going from $30k -> $450k as mentioned earlier in the comments on this page would just be swallowed. Seems so wasteful.
A lot of it is Java 8 only. Companies (banks) that have codebases where they're in maintenance mode and they don't want to pay devs to upgrade to the latest Java due to all the backwards compatibility breaks that were in Java 9-11, so it's cheaper to just pay Oracle to continue maintaining Java 8.
Otherwise it's the same as Red Hat. Why pay RH for RHEL when you could just install a free distro? Same considerations apply. If you've made it to Java 11 or 17 then yes there's no deep reason to pay Oracle unless you feel your business is sufficiently dependent on Java that you want the original developers to work on your specific bugs or problems, even long after that release is no longer supported by the upstream open source project. For example if you have a server that suddenly hits some weird performance bottleneck in Hotspot or the std libs then they will actually dig in and figure that out with you, and then spend time optimizing it to fix that. They've made reference to such efforts before.
Obviously that is expensive, so they charge for it.
Why this change - the focus in the article is price increase for a hypothetical example company but it doesn't take into account the cost of compliance under the old regime which is all about counting processors and/or end user machines. Basically trying to measure your usage. But that was super complex. Different types of processors counted differently, virtualized CPUs counted differently and so on. Audit and compliance was too hard. Number of employees is super easy to count and check so audit/compliance costs evaporate. That may on its own be enough to counterbalance the effect of increased prices in some cases.
The challenge with Oracle is this: They easily let people who are unaware in a company install software (happened in the past with Virtualbox to me) and extensions and then after some time do a license audit.
Oracle used to have some clause in their enterprise license that you cannot ‘touch’ Oracle products with other products than Oracle products (with lists of what needs to work with what). They were a premium partner of us for a short while (because our previous premium partner was bought by them) and we couldn’t run open Java at the time without breaching the license.
Not sure if that changed or if it was limited in scope to some of their products.
If you can't pay 45K a year, why on earth are you still using Oracle's JDK? There are literally dozens of $0 JDK's and companies that offer support for a much lower fee.
I think this is one of those non-news stories that should live and die on the company's internal chat. This stuff happens all the time and with companies that have nothing to do with software, surprise, rage, heated phone calls, exquisitely written emails with proposals back and forth and finally some closure. There are thousands of people who only do that every day.
Oracle promises to allow legacy users to renew under their current Ts&Cs
So no price increases for any existing Oracle Java deployments. Yet then they quote the CEO of a compliance firm who says:
We have one customer who has a Java subscription, a Universal License Agreement for Oracle Java, the whole company, but now with the new pricing, their cost for Java goes up 10-fold.
Uh no, their price doesn't go up at all, you just said that. Also the new thing is the "universal license agreement" that applies to the whole company, so they can't have that already.
the average we're seeing is 2x to 4x price increase that this will incur because customers were very good about minimizing Oracle Java usage and getting a lower price
If you are minimizing usage then you don't need to buy any new licenses, and so prices do not increase. This whole article seems to revolve around the view of this one guy that although Oracle has already said existing licenses will continue as is, actually that doesn't count for anything and should be ignored.
A large company I know of, has a deployed a tool on all fleet to check everyday whether Oracle Java exists across the fleet, and send a stern warning to the team that owns these servers to remove it. Maybe, it is ripe to opensource such a tool.
120 comments
[ 5.3 ms ] story [ 237 ms ] threadhttps://en.wikipedia.org/wiki/Google_LLC_v._Oracle_America,_....
In other news, they charge money for commercial support, that you can buy, what a concept..
An example is Azul, they release a free build of Openjdk named Zulu, but also sell a custom JDK that includes a custom high performance GC.
Including Oracle, by the way. You don't have to buy a commercially supported version if you don't want to pay for Java.
> The OpenJDK is the open source reference implementation of the Java SE Specification, but it is only the source code. Binary distributions are provided by different vendors for a number of supported platforms. The OpenJDK project itself is managed on openjdk.java.net where you can find specifications, source code, and mailing lists, but there are no builds that you can download. You need to choose a distribution.
Oracle itself provides builds of OpenJDK[2], but they aren't maintained:
> Oracle provides OpenJDK builds for Linux, macOS and windows in a compressed archive format. These builds will only be updated for a 6-month period. Updates and security patches will not be available after this short period. This also applies for LTS versions! e.g., the latest OpenJDK 11 build was 11.0.2+9 while the current OpenJDK version is 11.0.12+7.
Then there is the Oracle Java SE SDK[3]. This is the one with the terrible license:
> Oracle provides a commercial version of the OpenJDK, which are based on the exactly same sources of the OpenJDK: The Oracle Java SE Development Kit (JDK). Oracle provides updates regular updates and security patches for these builds. The main issue with these builds is Oracle’s licensing policy.
[1]: https://whichjdk.com/ [2]: https://whichjdk.com/#openjdk-builds-by-oracle-jdkjavanet [3]: https://whichjdk.com/#oracle-java-se-development-kit-jdk
OpenJDK = Fedora Linux
Oracle JDK = Red Hat Enterprise Linux
If your software will be used, you are "building the legacy systems of tomorrow".
enterprises
Also, many younger developers I chatted with don't understand long living applications and what "use boring tech" means.
Of course we do. It means you use Node 16 instead of 18 because it’s LTS. 2 whole years of support!
At least Java is open, alternative implementations are present, and can be run on anywhere and everywhere.
Miguel was conned into believing that it'll be completely independent like OpenJDK, but it didn't turn out like that.
IOW, C# is as open as VSCode.
https://isdotnetopen.com/
The Microsoft ecosystem can become more confining if you continue to operate as if its 2008 and follow all their old patterns (e.g. IIS, Azure, et. al.)
For the more clever developer in 2023, you take .NET 7 and skip over all of the Azure-integrated bullshit. You can throw away 100% of their complex AspNetCore libraries in favor of minimal API integrations. You can do everything your way and run it wherever you want.
The entrapment in the Microsoft ecosystem is of a substantially different nature than entrapment in the Java ecosystem. Becoming mired in Microsoft licensing concerns is a matter of technical competence. Becoming mired in Oracle licensing concerns is a matter of business competence.
The other thing I do is being able to use multiple languages and using the right one for the job, and ensure that all are supported by GCC suite.
Well, I'm on a very different niche than many software developers here, but at least it gives me more freedom to do what I want to do, and how I accomplish these.
I really wouldn't say so. All the new features are convenient and easy to understand, especially if you have Visual Studio to teach them to you (type if (x == null) x = new .. and you get a popup to transform it into the new operator). It's not a zoo like C++.
Whether you like Java (the language) or not, Java (the ecosystem) will not go away. In fact, it is alive and well, and I would guess it is at least an order of magnitude bigger and more mature than the .net ecosystem.
If you don't like Java (the language), you can choose Kotlin (Java++), Scala (Haskell--), or other languages (eg. Groovy?)...
A lot of this is the inertia I alluded to. There's no reason this couldn't all be written in C#. Kind of like the C++/Rust debate.
There's no reason it couldn't be written Brainfuck.
doesn't mean it's a good idea
At least for the time being, Java has exhaustive pattern matching and proper enums, whereas C# doesn't.
the worlds largest mobile phone platform is java. this is all the billions of people who live in Asia.
its not gonna go away in our lifetimes.
A lot of it is also they like having the capability of picking up the phone and getting someone to prioritize / look at an issue they care about. Good luck trying to get an OSS dev to do that for you if you're in an industry that dev doesn't like (i.e. military development).
With a negotiated support contract you have assurances that developers are willing to deal with you, that they're probably not going to just up and vanish, and that they've at least agreed to at least consider issues that you run into.
Good luck trying to get any large software vendor to do that.
https://www.trustradius.com/products/oracle-java-se-subscrip...
Almost all of them say that their tickets are attended to within hours of filing, and Oracle offer support in over 20 languages so they must have a pretty big team to be able to do that.
And no, it won't solve some problem you detected. It will only help you if it was already solved by development.
Anyway, time to attend to a ticket is a useless metric. I bet Microsoft fares better on this than Oracle, but their support is absolutely counterproductive. (What I mean literally, you will get your problem solved faster if you don't try to deal with them.)
> I recall hearing recently something along the lines of- assuming you'd made the mistake of having signed up with Oracle in the first place- the contract you agreed to states that in the event of switching to another compatible variant, you're still required to pay Oracle their fees regardless. > I also vaguely recall that this clause was indefinite(?)
Can this be true?
They'll probably also argue that you continue to benefit from using the Oracle software to develop your software even if you stop, although that's not necessary for consideration. That's more of an argument against unconscionability.
I don't know if their contract actually has that provision, but if so, it's another reason to stay away from Oracle altogether. I really don't understand the companies that seem to say "You know what would be great? Working with Oracle!" It seems insane to me.
Most people would not only laugh at that but also terminate every business with Oracle just because of that.
But.. there's a percentage of clients who just say "Ohh dear.. ok then." and in many of these organizations the people who make these decisions aren't even close to the source of revenue ( mostly public sector )
Are there any applications that just won't run on non-oracle JREs or are forbidden from running on them? Some Oracle SQL shite?
Although when you look at the actual numbers: "[someone] estimated that a company with 250 employees, 20 Java Desktop Users and eight Java Installed Processors would pay $3,000 a year on the old model, which grows to $45,000 a year under the new subscription, a 1,400 percent increase."
45k per year is a lot compared to 3k, and obviously it's even more compared to other languages which are completely free to use. But at the same time 45k is not all that much for a 250 employee software company. Probably not enough to justify a complete rewrite.
https://bonkersworld.net/organizational-charts
Not enough to justify a rewrite, but enough to consider what to do with new projects.
Of course, I said 'additional evidence'.... if Oracles many other shenanigans haven't convinced the pointy-haired bosses by now, I'm not sure anything will.
There's an alternate universe where Google bought out either Sun or just Java, and then probably abandoned the commercial part of it entirely within a few years, leaving nothing but OpenSDK and a steering committee.
Also, with respect to Google’s inability to continuously support any project for more than like 4 years, no, Oracle is a much better steward of the platform.
Of course you can also make money on Cobol, and IBM presumably makes decent money on System Z mainframes. So in the short term it might be great.
If BigCo was paying $30k/yr is now swallowing $450k/year, that allows them to lose 140 small customers only paying $3k/yr. Which has more knock-on effects, less support staff. All in all, it will probably turn out to be a net positive for Oracle.
We have moved most installs to Openjdk. The ones that use official Oracle have been cheap enpugh until now.
Personally, I thought everyone(including Google) was crazy for using Java or any JVM language in any form until the Supreme Court case was settled. Even if the internet commenters tell you it's safe, do you really trust them to make a legal case so iron-tight that Oracle's thousands of lawyers won't find some way to sue you and cost you $500/hour in defense fees for months if you come to their attention?
It’s almost like “you will pay a shitload of money if you don’t know what the hell are you doing”, and that is true of everything, but especially businesses.
I'm way more worried about the AWS bill from all those Java "micro" services.
I mean, too much of a PITA to do when there are reasonable alternatives, but interesting to think about.
I remember when oracle bought sun and it really felt like java was likely to die because of its new owner. It is amazing how successful it has continued to be in spite of that.
It won’t be a popular opinion, but it is likely thanks to that. Oracle managed to hold onto almost the whole core team since the Sun times, which is very very rare in case of take overs.
There’s so many better and free alternatives.
I know there must be a reason for it - but I don't know what that is? Is it support? How is that useful for a programming language - do Oracle engineers come and tweak some Java code at your megacorp, or what is it?
I don't understand the model
(Haven't payed myself for Java as CTO so this is pure speculation).
I like to think if I ever ran a company i'd never hire someone to a position where they wouldn't know how to sniff this out, but I imagine I am being incredibly naive.
It's mind boggling to me that some bill going from $30k -> $450k as mentioned earlier in the comments on this page would just be swallowed. Seems so wasteful.
Otherwise it's the same as Red Hat. Why pay RH for RHEL when you could just install a free distro? Same considerations apply. If you've made it to Java 11 or 17 then yes there's no deep reason to pay Oracle unless you feel your business is sufficiently dependent on Java that you want the original developers to work on your specific bugs or problems, even long after that release is no longer supported by the upstream open source project. For example if you have a server that suddenly hits some weird performance bottleneck in Hotspot or the std libs then they will actually dig in and figure that out with you, and then spend time optimizing it to fix that. They've made reference to such efforts before.
Obviously that is expensive, so they charge for it.
Why this change - the focus in the article is price increase for a hypothetical example company but it doesn't take into account the cost of compliance under the old regime which is all about counting processors and/or end user machines. Basically trying to measure your usage. But that was super complex. Different types of processors counted differently, virtualized CPUs counted differently and so on. Audit and compliance was too hard. Number of employees is super easy to count and check so audit/compliance costs evaporate. That may on its own be enough to counterbalance the effect of increased prices in some cases.
E.g. https://blog.usu.com/en-us/beat-the-oracle-shock-audit
Not sure if that changed or if it was limited in scope to some of their products.
If you can't pay 45K a year, why on earth are you still using Oracle's JDK? There are literally dozens of $0 JDK's and companies that offer support for a much lower fee.
I think this is one of those non-news stories that should live and die on the company's internal chat. This stuff happens all the time and with companies that have nothing to do with software, surprise, rage, heated phone calls, exquisitely written emails with proposals back and forth and finally some closure. There are thousands of people who only do that every day.