You mean the licensing situation where Oracle completed open-sourcing the entire JDK and made Java free of field-of-use restrictions for the first time in its history?
If you're talking about the JDK builds you download from Oracle, then there are two (each linking to the other): one paid, for support customers, and one 100% free and open-source: http://jdk.java.net/
So it makes sense to look for non Oracle JDK and along with OpenJDK, OpenJ9 is a great choice.
It's a fact that Oracle changed licensing on JDK 7 and 8 they admit that themselves.
Well with per core licensing combined with monthly subscriptions it's not that cut and dry that you will pay less. I can't remember what we paid for Sun Java in licensing but it wasn't per core.
> The price is $25 per month per processor for servers and cloud instances, with volume discounts available. ... The previous pricing for the Java SE Advanced program cost $5,000 for a license for each server processor plus a $1,100 annual support fee per server processor, as well as $110 one-time license fee per named user and a $22 annual support fee per named user (each processor has a ten-user minimum).
So from (1,100 + 22 * 10) per year per processor + (5,000 + 110 * 10), the cost went down to $300 per processor per year (no one-time fee, no per-user license). That's a >4x drop in price (of course, there were, and are, various bulk discounts, but it's a big price reduction nonetheless).
[1]: https://www.infoworld.com/article/3284164/oracle-now-require...
By the time Java 7 came out, you could easily use a single-socket multi-core processor for workloads where you'd have used a dual or quad socket before. It makes sense that the pricing was adjusted to match the new reality.
> When licensing Oracle programs with Standard Edition One, Standard Edition 2 or Standard Edition in the product name (with the exception of WebCenter Enterprise Capture Standard Edition, Java SE Subscription, Java SE Support, Java SE Advanced, and Java SE Suite), a processor is counted equivalent to an occupied socket; however, in the case of multi-chip modules, each chip in the multi-chip module is counted as one occupied socket.
It doesn't get any clearer than that - it is per core. So that's significantly increased cost for pretty much most enterprise users with VMWare and high core count Xeons.
But whatever the definition of a processor unit is, it didn't change. The prices both before and after the change are for the same unit.
Umm yeah but what did change is lots of multi-core processors with increasing core count appeared and not changing the definition of processor unit to count each core as a processor means more money to Oracle. None of what you keep saying contradicts what I said - it's still a lot of money and people are not wanting to pay that much.
An 8 core Zen would count as 1. An 8 core Zen 2 would count as 2. A 2 core Pentium D would count as 2, but Core 2 Duo would count as 1 and a Core 2 Quad as 2. A 64 core EPYC would count as 9.
We have been experimenting with it in light of the Oracle licensing situation and it does provide interesting set of options - AOT, various GCs (metronome, gencon, balanced) along with many other differentiators to OpenJDK like JITServer which offloads JIT compilation to remote nodes.
https://www.eclipse.org/openj9/docs/gc/
It doesn't get as much coverage when it should - it's production hardened - IBM has used it and still uses it for all their products - and it's fully open source.