Preview of Microsoft Build of OpenJDK
devblogs.microsoft.com
devblogs.microsoft.com
> Microsoft Build of OpenJDK 11 binaries may contain backported fixes and enhancements we deem important to our customers and our internal users. Some of these may have not yet been formally backported upstream and are clearly signposted in our release notes. This allows us to expedite improvements and fixes much faster while we proceed to upstream those changes in parallel. Updates will be free and available to every Java developer to deploy anywhere.
Microsoft deploys over 500,000 Java Virtual Machines (JVMs) internally – excluding all Azure services and customer workloads – with needs that go from back-end microservices to Big Data systems, message brokers, event streaming services, and gaming servers. More than 140,000 of these JVMs are already based on the Microsoft Build of OpenJDK.
Meanwhile most Microsoft shops view any non-MS technology as if it were a plague.
But that is just interop/language translation beyond stone age C ABI like most languages do.
Sun, Oracle, BEA, IBM, Excelsior, PTC, Aonix, Aicas, Fujitsu, HP, Nokia, Sony, Azul and to certain extent Apple (for a while it was the Swift of OS X), Microsoft (until J++ venture turned into C#)
ARM chips offer customers lots of cost savings in cloud environments than the more common workload of Windows on 64-bit Intel chips.
Their OpenJDK 11 builds are x64 for Windows, Linux, and macOS: https://www.microsoft.com/openjdk
I'm fine with the general attitude of harmony and oh yay, a bigger tent for everyone, it doesn't bother me, and platform flexibility has it's upsides. But there really is a downside to this all too, and it goes unremarked. I want to at least put down some words, somewhere, to remark that Windows support is constraining & limiting. OpenJDK of course is cross platform & already supports Windows, but the sign that this is a proper & well supported thing in Windows will quite likely amplify Windows user's expectations that all the libraries & tools they run across are going to be catered to them & their experience. It increases a library maintainer's burden, supporting this new class of usually-not-that-expert users. I encourage us to reflect on this as a mini Eternal September event, of Microsoft extending the reach of their community into something that used to be a little more deliberate; that's maybe putting it a little strongly, but I think we can recognize the parallel.
To summarize, are more prevalent technical constraints, and re-emphasized demands upon open-source Java authors, in this shift to further allow & encourage Windows based Java development.
The OpenJDK binaries 9+ available at jdk.java.net are built by Oracle and some versions are not really "pure" because Oracle deliberately chose to exclude Shenandoah GC (Red Hat) from their binaries hosted on this site. [1]
Meanwhile, the binaries available on the Linux systems listed in this page (versions 8 and older) are all built by the Linux distributions teams, and not by Oracle.
Pure OpenJDK builds are those that are created from the source code and with all the features enabled (including all the GCs available), and ideally built from a single vendor/entity.
If you want "pure OpenJDK builds", your best bet is AdoptOpenJDK (now known as Eclipse Adoptium). [2]
[1] https://developers.redhat.com/blog/2019/04/19/not-all-openjd...
The link is 404
The link works correctly only after logging in to GitHub.
EDIT: after logging out I can now see the link so it seems like it was indeed a permissions issue.
There's never been any question about the JDK/JVM license. There are tons of different ones that are all compiled from OpenJDK sources and offered for free (Amazon Correto, Azul Zulu) or licensed out with commercial support (Azul Zing).
The precedent matters.
I'm again willing to accept coincidence here, but doubt will be eternal.
I wonder how badly Oracle's attempt to monetize Java is going.
They're selling support for the JDK to companies that value that service.
I'm guessing they're doing OK on that front, since the sorts of enterprises that typically buy support are their bread and butter.
I do not know why microsoft dupplicates this effort.
Why do you say they are duplicating efforts?
The builds on the RedHat page are for: x86 (32-bit), x64 (64-bit x86) but any mention of aarch64, which is what Microsoft has been working on with Azul Systems, is conspicuously missing.
(aarch64 or ARM64 is the 64-bit extension of the ARM architecture.)
sdk install java 11.0.10.9-ms
Hence I wonder if there is a vendor that has found the optimal configuration e.g -03 + x86-v3 (AVX) + LTO + PGO (e.g autofdo) + BOLT
Most vendors use pretty similar build toolchains in order to maintain platform support baselines. Typically any improvements get made at OpenJDK and then filter back down to downstream distributions.
One of the things we're looking to do is to add Metadata to the release to make the exact toolchain transparent going forward.