News for hackers. Stuff that matters.
Re:Performance of modern Java on data-heavy workloads by pron on Tuesday June 09, 2020 @05:51PM (#23471342)
> in light of the Oracle licensing situation

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/

Re:Performance of modern Java on data-heavy workloads by blinkingled on Tuesday June 09, 2020 @06:05PM (#23471475)
Many organizations need to have supported 1.7 and 1.8 releases and it's a lot of money to spend on per core licensing which is a new thing after Oracle took over. The link you posted do not have free updated binaries for JDK 7 or 8. For those you have to pay. A lot.

So it makes sense to look for non Oracle JDK and along with OpenJDK, OpenJ9 is a great choice.

Re:Performance of modern Java on data-heavy workloads by pron on Tuesday June 09, 2020 @06:12PM (#23471538)
First, what do you mean by "after Oracle took over"? JDK 7 and 8 were released by Oracle (6 was the last one under Sun). Second, you always had to pay for the JDK after ~5 years of free public updates, and the price now is lower than before. Finally, OpenJDK is the name of Oracle's one and only Java implementation project, with contributions from other companies; OpenJ9 is, indeed, a completely separate project by IBM, but ~80% of that JDK is copied from OpenJDK. And those paid support subscriptions? They fund most of OpenJDK's development.
Re:Performance of modern Java on data-heavy workloads by blinkingled on Tuesday June 09, 2020 @06:28PM (#23471680)
Not sure what you're getting defensive about - the Oracle JDK licensing change was a recent thing than JDK 7 or 8 release dates. And the per core licensing isn't cheap. So that gets companies to seek cheaper alternatives. What is there to argue about?

It's a fact that Oracle changed licensing on JDK 7 and 8 they admit that themselves.

Re:Performance of modern Java on data-heavy workloads by pron on Tuesday June 09, 2020 @06:40PM (#23471767)
The support license was changed to a subscription model that lowered prices after 7 and 8 were out of the ~5-year free public updates period. Companies wishing to stay on old versions and buy support for them pay less than they did or expected to before the change.
Re:Performance of modern Java on data-heavy workloads by blinkingled on Tuesday June 09, 2020 @07:17PM (#23472043)
https://www.oracle.com/assets/java-se-subscription-pricelist...

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.

Re:Performance of modern Java on data-heavy workloads by pron on Tuesday June 09, 2020 @08:54PM (#23472712)
Java 7 required payment for support for four years before the license change [1]:

> 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...

Re:Performance of modern Java on data-heavy workloads by blinkingled on Tuesday June 09, 2020 @09:15PM (#23472826)
Was old Java license per Processor or Per Core? Because the new one is Per Core. So if previously I had 4 sockets with 4 cores per socket - I paid 4x$LICENSE - now I am paying 16x$LICENSE. No?
Re:Performance of modern Java on data-heavy workloads by pdpi on Wednesday June 10, 2020 @07:58AM (#23476089)
Java 6 was released in 2006. The first dual-core Opterons and Xeons came out in 2005. The licensing for Java 6 was written in a reality where multi-core wasn't really a thing yet.

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.

Re:Performance of modern Java on data-heavy workloads by pron on Tuesday June 09, 2020 @09:32PM (#23472911)
AFAIK, the definition of processor hasn't changed. Oracle just changed the license and cut the price to be competitive with other support offerings.
Re:Performance of modern Java on data-heavy workloads by blinkingled on Tuesday June 09, 2020 @10:10PM (#23473159)
From the link I posted -

> 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.

Re:Performance of modern Java on data-heavy workloads by pron on Wednesday June 10, 2020 @04:42AM (#23475132)
I think it's actually a bit more complicated than that because we're talking about Java SE, which is in the excepted list. On Intel/AMD, every core is counted as 0.5 "processor units" (http://www.oracle.com/us/corporate/contracts/processor-core-...) so the unit "processor" price is per 2 cores.

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.

Re:Performance of modern Java on data-heavy workloads by blinkingled on Wednesday June 10, 2020 @10:57AM (#23477707)
> 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.

Re:Performance of modern Java on data-heavy workloads by pron on Wednesday June 10, 2020 @02:04PM (#23480136)
My point is just this: however much companies that wish to buy support pay Oracle now, it is significantly less than what they paid or expected to pay before 2019. Whatever the situation was, it was made better by the license change.
Re:Performance of modern Java on data-heavy workloads by reitzensteinm on Wednesday June 10, 2020 @02:04AM (#23474414)
It really does get clearer than that, because I don't think it's talking about cores. None of the common Intel processors are MCM. They did make a massive 56 core Xeon by gluing two dies together and that would count.

https://en.wikipedia.org/wiki/Multi-chip_module

Re:Performance of modern Java on data-heavy workloads by blinkingled on Wednesday June 10, 2020 @06:59AM (#23475757)
Read the PDF link again. There is multicore for all except products with standard in the name with the exception of Java subscription.
Re:Performance of modern Java on data-heavy workloads by reitzensteinm on Wednesday June 10, 2020 @07:37AM (#23475951)
Right, it's pretty clear elsewhere that it's per core. But the section you quoted doesn't clarify anything, it's actually contradictory and bizarre that it's present.
Re:Performance of modern Java on data-heavy workloads by blinkingled on Wednesday June 10, 2020 @10:55AM (#23477659)
What I quoted does clarify (although in a convoluted way) that it is multi-core.
Re:Performance of modern Java on data-heavy workloads by reitzensteinm on Wednesday June 10, 2020 @10:46PM (#23484753)
Only if Oracle is allowed to redefine the industry standard meaning of MCM. Read literally it does not imply per core pricing, in fact quite the opposite.

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.

Re:Performance of modern Java on data-heavy workloads by 0x0 on Tuesday June 09, 2020 @06:08PM (#23471504)
That's nice, but they also completely changed the license for java 8 in a minor security update late in the game, making it super easy to accidentally click through and putting yourself or your organization at risk of massive license violations. A trojan horse if I ever saw one.
Re:Performance of modern Java on data-heavy workloads by pron on Tuesday June 09, 2020 @06:13PM (#23471556)
That's not true. After ~5 years, and a notice given a year in advance, every JDK moves out of free public updates and into extended support, which is now cheaper, too.
Re:Performance of modern Java on data-heavy workloads by willvarfar on Tuesday June 09, 2020 @06:08PM (#23471508)
I remember wanting to connect to a jvm with a profiler and getting a license agreement as that is now an enterprise feature and costs. It’s a slippery slope.
Re:Performance of modern Java on data-heavy workloads by pron on Tuesday June 09, 2020 @06:12PM (#23471544)
There are no more paid features since JDK 11. That low-overhead profiler is now free and open. For the first time in Java's history, the JDK is 100% free.
Re:Performance of modern Java on data-heavy workloads by Tostino on Tuesday June 09, 2020 @09:23PM (#23472866)
And I love you guys for it, I've used it quite often and appreciate what Oracle have done... their bad reputation somewhat precedes the good that they have done in that team.
Re:Performance of modern Java on data-heavy workloads by fgonzag on Wednesday June 10, 2020 @01:38AM (#23474300)
I think he means the part where you have to pay to use JDKs older than 6 months, which means basically everyone has to pay.
Re:Performance of modern Java on data-heavy workloads by pron on Wednesday June 10, 2020 @04:35AM (#23475105)
Well, you need to pay for updates, but even that is inaccurate. Before JDK 9, Java used to have major releases, now it doesn't, and the version name is incremented every six months even though the changes are small. So instead of a major release, that's supported for some years, there's now a steady stream of small, gradual change with free perpetual support. There's also an alternative new, non-gradual upgrade model, and if companies want to use it, they need to pay.
Re:Performance of modern Java on data-heavy workloads by Spinfusor on Wednesday June 10, 2020 @04:30AM (#23475076)
Not true. You can use the OpenJDK for free until the end of time. If you want ongoing updates beyond six months, there are a bunch of free distributions: Azul Zulu Community (7/8/11/13/14), AdoptOpenJDK (8/11/14), etc.
Re:Performance of modern Java on data-heavy workloads by fgonzag on Wednesday June 10, 2020 @01:37PM (#23479818)
The whole subject is about Oracle's JDKs here, and that's a very recent development too.
Re:Performance of modern Java on data-heavy workloads by pron on Thursday June 11, 2020 @08:44AM (#23488190)
Oracle distributes two JDKs: one for support customers and one 100% free, forever: http://jdk.java.net/
Re:Performance of modern Java on data-heavy workloads by pulse7 on Wednesday June 10, 2020 @03:01AM (#23474675)
You don't "have to pay to use JDKs older than 6 months". You can "use JDKs older than 6 months", but you need to pay for updates for it!