Microsoft Previews Its Open Source Java Distribution, Microsoft Build of OpenJDK (betanews.com) 145
Mark Wilson writes: Microsoft has launched a preview version of its own distribution of Java, making it available for Windows, macOS and Linux. The company has named the release Microsoft Build of OpenJDK, and describes it as its "new way to collaborate and contribute to the Java ecosystem". The company has made available Microsoft Build of OpenJDK binaries for Java 11, which are based on OpenJDK source code. Microsoft says it is looking to broaden and deepen its support for Java, "one of the most important programming languages used today".
Microsoft's Java always was troublesome... (Score:5, Insightful)
is it going to change? probably not
Re:Microsoft's Java always was troublesome... (Score:5, Interesting)
Re: (Score:2, Interesting)
Some say Microsoft's prior late 1990's foray into Java was troublesome intentionally ("embrace, extend, extinguish"), in order to destabilize the Java at the time.
Because they worried that Java would be an alternative platform and that developers would not write native applications. Turned out Java's promise of WORA was complete rubbish, even on Android their version of Java in non-portable in order to get decent performance and functionality. Java the language is not bad, Java the cross-platform runtime environment is awful.
Re: Microsoft's Java always was troublesome... (Score:2)
Can you do anything with Java without the JRE? Cause if you can't practically disentangle the language from the runtime, then the language still kind of sucks if the runtime sucks.
Re: (Score:2)
As the runtime does not suck: what is your point?
Re: Microsoft's Java always was troublesome... (Score:2)
Sucks enough that Android doesn't use it.
Re: (Score:2)
Pffft ... perhaps you might read up why (and how) Android is running Java different.
Re: (Score:2)
Because it uses less memory, starts up faster, and works better with parallelization?
Maybe YOU need to read up on why Android used Dalvik.
Re: (Score:2)
Thank you Oracle. :(
But, strangely, .NET Core (open-source, cross-platform) seems to be turning out to be a pretty decent one.
Something I'd never have predicted or even believed 10 years ago, back when Microsoft was still behaving more like an organized crime syndicate (or, worse, Oracle) rather than an actual software company.
Re: (Score:2)
What do you mean with "some say"?
It is a fact and not a "some say" rumour.
Re: (Score:2)
Ironically, Microsoft's J++ saved me when I was in CS classes. Everyone else's projects had issues due to JVM items, while the same java code I had worked perfectly when compiled to .NET. So, I wound up just using that instead of the JVM, and never had any issues.
J++ has/had its issues, but the fact that it worked so well on Windows especially when it was time to do class presentations, makes it not all bad.
Comment removed (Score:5, Informative)
Re: (Score:2)
I've had no issues with any of the OpenJDK versions ported to Windows. If it were a straight up recompile of OpenJDK then fine, but let's just say I'm not keen to entrust my Java infrastructure to Microsoft.
That being said, other than running Eclipse on top of OpenJDK on a company Windows machine because of the encumbrances Oracle has placed on the official Java JVM, most of my Java programs run on Linux.
Re: (Score:2)
Re:Microsoft's Java always was troublesome... (Score:5, Interesting)
Greedy Oracle (Score:2)
I used to deal with Oracle pre-2000. It's good to know they haven't changed ;-)
I thought everyone was on OpenJDK (Score:2)
I have yet to see an app that works on OpenJDK, but not Oracle or vice versa. I've heard the Oracle one has better garbage collection and maybe some better performance, but we don't care. We're on a cloud hosting provider, so any minor efficiency gains are easily offset by horizontal scalabi
Re: (Score:3)
There are non-Oracle builds that can be used, for instance AdoptOpenJDK, which do produce updates for the LTS branches. I assume the Microsoft version will be similar.
Re: (Score:2)
The main other build is Amazon's Corretto with LTS 8 and 11 builds.
I am not entirely sure what Microsofts offering is going to bring to the table.
Those are definitely extreme edge cases. (Score:2)
Re: (Score:2)
To get WORA you have to write code designed to achieve WORA. No hardcoded paths, path separators, etc. And no dependencies that have garbage like that, or depend on others with such rot, etc., etc. And crappy developers tend not to do that, hence the problem. There are many things wrong with the Java platform, but the problem of crap developers is hardly exclusive thereto.
The Java ecosystem is vast, and there probably are linters or tools to help detect non-portable code. I don't know specifically of a
Just wait for it. (Score:5, Insightful)
It shouldn't be long before Microsoft announced their DotNet extension for their version of Java.
Re: (Score:2)
Not entirely sure what you mean... at one point Microsoft shipped a CLI Compliant version of Java with Visual Studio. It was called J#. I haven't heard much about it in probably more than a decade, so they probably abandoned it.
In many ways though, .NET and Java already play nicely together.
With .NET core, I'm not sure what would really be gained by trying to meld with Java in some way might offer, except maybe migration tooling for people who want to move from Java to .NET?
There is IIS as an Application
Re: (Score:3)
With .NET core, I'm not sure what would really be gained by trying to meld with Java in some way might offer, except maybe migration tooling for people who want to move from Java to .NET?
Embrace. Extend. Extinguish.
I'm going to give you a second chance to figure out why they would extend Java. If you need a third chance then perhaps you are on the wrong planet.
Re: (Score:2)
I understand how Microsoft would have thought this would have benefited them 20+ years ago. I do not see how they'd think it could do so today. Any further fragmentation would erase much of the demand for Java, and, while C# might seem like the best alternative, which it is from a technical standpoint, any such behavior on Microsoft's part would make people nervous that they might not be the greatest stewards of C# or .NET Core or the significant part of the related ecosystem that they control.
My thought
Re: (Score:2)
My thought is that they want to move Java-based server workloads off of competing platforms and onto Azure.
And forcing people to use a windows server due to lock-in would achieve that goal or promote licensing windows servers. It's a win-win for Microsoft. There is no downside to extending and then killing Java.
Re: (Score:2)
I'd be lying if I said I were sure that would not happen, or that it might still not be part of Microsoft's underlying motivation.
But I still think that the marketplace has come to understand and therefore to value openness and portability, especially on the server side, and it will be a difficult sell for Microsoft, Oracle, Red Hat, AWS, or anyone else to try to convince anyone otherwise.
Re: Just wait for it. (Score:2)
Itâ(TM)s all about the crispy Azure tendies
... why? (Score:3)
I have trouble seeing the sense in this.
Their previous stab at Java was detrimental to both Java and MS. And when they couldn't take control of it, they used it as a starting point for modelling C#.
Now, unless they want to make some interesting changes or additions (which will probably not be a good thing for Java), all I can see is that they are taking on the work of maintaining yet another distro of OpenJDK.
Re:... why? (Score:5, Interesting)
Java is a large developer ecosystem that Microsoft would like to be the go-to for.
Oracle made an aggressively anti-user move with licensing in 2019, opening the door for Microsoft to have a low-effort way in to basically take over the role as 'java provider'.
Microsoft offering more normal licensing terms is a huge ray of hope for Java shops that don't want to abandon large codebases, but don't want to get stuck having to defend free usage in an Oracle audit.
Generally, Microsoft of now has demonstrated that it gets that things like base language enablement can't be a profit center anymore, and the money is in upsell to other software and development environments. Further they no longer care if their software enables Linux or OSX or any other development, so long as they have a crack at revenue from those developers.
Re: ... why? (Score:2)
Oracle made an aggressively anti-user move with licensing in 2019
The Java misinformation is getting annoying. How is directing people to the free, open source OpenJDK anti-user at all? Obviously their binary distribution was valuable if so many people are bitching about paying for it. You don't have to if you don't want the support it comes with.
Oracle provided a completely free open source alternative to what they started charging for. If OpenJDK sucks, contribute to it or build your own distro, this is what Microsoft is doing.
You're bitching about free, proprietary
Re: ... why? (Score:5, Informative)
So one company that my company has as a customer says they received a huge invoice for JRE they didn't even install.
Their claim was that because our software had a .jnlp available, Oracle's audit presumed that .jnlp being on internal network meant the desktops probably had Oracle JRE, and invoiced as such. The client either had to pay or go to court to challenge the invoice.
This is why Oracle is so reviled, they love complex licensing arrangements and aggressive audits and intimidating invoices to extract money beyond reasonable.
While there may be a legal avenue to get free software from Oracle, Oracle acts in bad faith and thus it is best to steer clear of anything of Oracle's.
I presume that there are solid guys at Oracle. From all outward appearances I particularly think highly of the Oracle Linux team. However, the wider business context is rotten as a supplier.
Re: (Score:2)
OpenJDK is open source, so what is it that MS is going to bring to the table here? If you're using Oracle's enterprise extensions, you're stuck with Oracle's licensing. So if we're talking about a port of OpenJDK to Windows, it already exists. If we're talking about Microsoft extensions to Java, yeah, I'm not going to touch that with a ten foot pole.
Re: (Score:2)
From a technical perspective? Not much. From a branding perspective? It's a way to elevate Microsoft's brand to a large enterprise developer community, on the cheap.
Bureaucratic companies love recognizable vendor names 'backing' their employee efforts, and bumping Oracle's name in favor of Microsoft's name is a marketing win. Those same companies have a high affinity for Java.
Other languages may be more technically appealing and even more popular in a lot of circles, but those micromanaged enterprises are m
Re: (Score:2)
I guess, but the enterprise firms using Java need Java EE, so OpenJDK, however branded, won't do the job. Now if MS is going to make a competitor to EE that's compatible with EE (and maybe with Google's recent win against Oracle that might happen), then that's interesting, but if it's just a branded version of OpenJDK, I can't see why I would switch, particularly since I'm using OpenJDK on a number of different platforms, and have no desire to risk interoperability of JVM binaries. Been down that road with
Re: (Score:2)
Re: (Score:2)
I'll say that at least the two enterprise java shops I dealt with, despite writing code *squarely* in the realm that J2EE is supposed to be 'needed' for (backend services), I haven't seen J2EE actually used.
I'm sure there are die-hard J2EE java shops, but I know that at least some enterprise java ships very much care about java, but avoid J2EE because the one thing they love more than java is a free language that is also 'enterprisey'.
Comment removed (Score:4, Insightful)
Re: (Score:3)
If you download OpenJDK, there is no license agreement regarding Oracle.
How do you come to that silly idea?
To get such an agreement pop up you have to download Oracle Java, not OpenJDK.
or you have to manually shove the files from a ZIP file in C:\Program Files\ and edit the environment variables so that it's in the path.
That is what everyone is doing, or how exactly do you have multiple Java SDKs on your machine?
Re: (Score:2)
Re: (Score:2)
As for your last comment, are you under the impression installers make it impossible to have multiple versions of something on your computer? Be prepared to be amazed at .NET if so...
Not impossible. But the last installer will overwrite the pathes for the previous ones.
And if they do not use different names for directories, then by default they overwrite old installations, so you have to chose manually a place where to put it.
Much more simple to just expand a zip where ever you want it.
Re: (Score:2)
Now, I haven't developed on Windows machines for quite a while - are you saying that OpenJDK distros are not allowed to distribute it with an installer?
As you say, on Linux it is usually nicely packaged. Homebrew makes it a non-issue on Mac. Aren't Windows developers using Chocolatey or somesuch? It seems to be available there.
Re: (Score:2)
Generally, Microsoft of now has demonstrated that it gets that things like base language enablement can't be a profit center anymore, and the money is in upsell to other software and development environments.
Ummmm, no. Microsoft hasn't demonstrated anything. If they think they can make a profit out of something, they will. Just because they currently don't appear to think they can make a profit from "base language enablement" does not imply that they won't see the potential for profit in it again at some point and pursue that profit.
The nature of Microsoft is to squeeze every penny they can from anything that they can. There is no "learning a lesson" because the next MBA will completely ignore that lesson even
Re: (Score:3)
1. Don't underestimate the value recognized by Microsoft of sticking it to Oracle. Anything that increases the adoption of OpenJDK over Oracle Java is good for Microsoft, and if building some CI pipelines and hosting a few installers on their download server accomplishes that, then this is a pretty damn cheap win.
2. Microsoft still makes a shitload of money selling development tools. Making it easier for developers to do their job, and easier for users of their products to get them installed and keep them
Re: (Score:2)
A different Microsoft (Score:2)
What version of Microsoft is this? If you told me 10 years ago that Microsoft would have a press release like the one we just saw I would have gotten my butt laughed out of the room....
Crazy how times have changed and Microsoft is embracing being platform agnostic. Crazy.
Re:A different Microsoft (Score:5, Funny)
Also if they didn't support other operating systems, that's clearly a case of vendor lock-in! M$ evil!!
EVIL
Re: (Score:2)
Re: (Score:2)
Soon... (Score:2)
Google sues Microsoft for copyright infringement!
Re: (Score:2)
History repeats itself. (Score:4, Interesting)
I'm old enough to remember the "Microsoft Java" [findlaw.com] and the lawsuit it created barring them from doing this. Embrace, Extend and Eradicate is still alive at MSFT.
Re: (Score:2)
I guess nothing can stop them from compiling the OpenJDK source. I just question why anyone would want it, since there are already compiles of OpenJDK for Windows, and if you need the enterprise extensions for Java, you're stuck paying Oracle's extortionate licensing fees anyways. What niche does this fill?
Re: (Score:2)
What do you mean with "enterprise extensions"?
Re: (Score:2)
J++ anyone?
...except when it doesn't...an alternative view (Score:2)
I'm old enough to remember the "Microsoft Java" [findlaw.com] and the lawsuit it created barring them from doing this. Embrace, Extend and Eradicate is still alive at MSFT.
J++ is what...25 years old now? It was discontinued 17 years ago. You know they've changed CEOs 2x since then and have overhauled their entire culture and business model. It turns out selling one time licenses and locking you into their server products is nowhere near as profitable as selling you Azure consulting and services with the technology of your choice. If you haven't noticed, they've largely deemphasized their own server OS.
So yeah...either this is J++ 2.0 as they did 25 years ago and fits
Re: History repeats itself. (Score:2)
Re: (Score:2)
I could be wrong, and I've been as critical of Microsoft in the past as anyone, but I believe there's been a genuine shift in its understanding of how it can participate and thrive in a software market that long ago shifted away from Win32 and other proprietary crap, and toward more open and cross-platform technologies, including but not limited to its own C#, .NET Core, and Visual Studio Code.
It now behaves as if it anticipates most of its near-future revenue as coming from sales of development tools and s
Follow the money (Score:2)
The rationale for this seems pretty easy to figure out...where does Microsoft make money now? Azure. And having a JDK they can optimize for cloud use makes perfect sense. The competitor they're targeting is Amazon.
Re: (Score:2)
"JDK they can optimize for cloud"? I am probably being a bit dense but precisely what does that mean? And if they are "optimizing" then shouldn't they be submitting those optimizations back to main line? And if not, then they are creating an alternative eco-system for Java.
It isn't that I don't trust MS, it is that I don't trust them further than I can spit a two-headed rat.
Re: (Score:2)
And if they are "optimizing" then shouldn't they be submitting those optimizations back to main line?
Well, what would it matter if they did or if they didn't? I don't know the licensing particularities. But Microsoft wants a version of the JDK that integrates well with Azure. Who else wants that, besides Microsoft and Microsoft customers?
Re: (Score:2)
What actually is there to integrate with Azure?
Azure is a name of a cloud.
Either Windows or Linux, perhaps you can even mix, no idea.
There is nothing to do to run Java application on Azure.
Re: Follow the money (Score:2)
Hello Zak. Don't forget your kazoo, golf club and Groucho Marx mask. ;)
Re: (Score:2)
How is this different to regular OpenJDK? (Score:2)
I can already get Windows downloads for OpenJDK, how is this Microsoft thing different exactly?
Perhaps efficiency boosts and aggressive releases? (Score:2)
I can already get Windows downloads for OpenJDK, how is this Microsoft thing different exactly?
2 things come to mind:
1. Any efficiency gains save them a LOT of money consider how many server-side Java apps they host.
2. They can push optimizations and fixes much faster to their own port than to the OpenJDK. If they wanted to be more aggressive and take more risks, they could. This is the best of both worlds for them....innovation at their pace, they don't have to worry about the OpenJDK folks slowing them down for any reason...and by contributing back to the community, they get global peer revi
Re: (Score:2)
Re: (Score:2)
No they won't. MS will "optimize" in such a way that those cannot be put back into the mainstream. Then they'll advertise no one else has their optimizations, and thus laying the groundwork for more lock in.
What is it you do not understand about MS?
Re: (Score:3)
Yep - M$ a little late to the party:
https://sourceforge.net/projec... [sourceforge.net]
A sourceforge download? Really? I have been leery of those for many years now.
Okay, one question ... (Score:2)
Microsoft Previews Its Open Source Java Distribution, Microsoft Build of OpenJDK
Why?
Does MS really need its *own* build/version/distribution of Java? As it's based on OpenJDK, why just not use that?
The company has named the release Microsoft Build of OpenJDK, and describes it as its "new way to collaborate and contribute to the Java ecosystem".
Why do they need a "new way to contribute"? Why not just contribute directly to OpenJDK.
Seriously Microsoft, stop with the "not invented here" stuff.
Re: (Score:2)
As this is also open source, there's not any reason why they can't also submit their changes upstream. We'll just have to see if they do.
Re: (Score:2)
Related question (Score:2)
I teach AP CS A which is essentially an introduction to object-oriented programming using Java. For a while now I have been looking for a version of OpenJDK that satisfies the following requirements:
1) It has Windows and macOS installers
2) Those installers do not require you to set up an account (like Oracle / RedHat)
3) The Windows installer automatically puts java and javac on the system path
If anyone knows of a good option here, I would greatly appreciate it. It's on my to-do list of things to check out
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Why do you need/want an installer?
Download the binaries and put them where you want them.
It is really that simple.
Typical MS naming. (Score:2)
So everybody will quickly think "OpenJDK" means Microsoft.
Nothing changed since "TransactSQL".
The EEE is too obvious to even require talking about it here.
WHY ? (Score:2)
Re: (Score:2)
Yes but you need to run the JVM over Wine!
Re: Will it (Score:2)
Only with Mono installed. ;)
Re: (Score:2)
In other words, avoid an MS JVM like the plague.
Re: Deja Vu... (Score:2)
Re: Deja Vu... (Score:2)
Yes, and the calling it "Microsoft build of the OpenJDK" so people keep calling it "OpenJDK" and think OpenJDK means Microsoft is the very very deliberate MS-typical sneaky EEE part.
Also, the illegal part, methinks.
Could've called it anything. MSJDK, for example. Or even better a completely new name. But make no mistake: That choice of name was key to even doing this at all.
Please share with the class! (Score:2)
Here they are with a JDK, that has custom features that are not going to part of the main openjdk platform.
Can you please tell us which custom features they're adding? I'd very much like to know.
I haven't read of any features. Also, the JVM and language are 2 very different things. If they have custom efficiency enhancements, it's not a huge deal. As long as the code runs the same in their JDK and all the others, who cares?
...I guess it would be nice if they shared any runtime enhancements, but I doubt they would try to touch the language again. It didn't work well last time. They have lots of economi
Re: Please share with the class! (Score:2)
Why would they make a fork if not to change things up? That would just be a rebranding.
Are you a bit slow today? ;)
Fork to add performance fixes faster. (Score:2)
Why would they make a fork if not to change things up? That would just be a rebranding.
Are you a bit slow today? ;)
Performance fixes come to mind. I would guess they have no interest in touching the APIs, but lots of incentive to improve performance for Azure users....with their own fork, they can add performance fixes as fast as they like and not have to wait for upstream maintainers....yet still get the many eyeballs benefit of open source....given how much they spend on electricity in a day, I'd imagine a less than 1 percent boost would add up to millions per week, given how many Java applications they host. Gettin
Re: (Score:3)
The difference is that this is open source, and presumably they will be offering their changes upstream. That makes this a completely different ball game than the shitty behavior of the 90s.
Now, the question is if they can be trusted or not, and that's something each person has to decide for themselves.
Re: (Score:2)
silly capitalized naming everywhere.
better than a ton of silly under_scores_everywhere. alsoBetterThanTinyHeadConventions
Re: Cool! (Score:2)
What does that even mean?
Keep your irrational hate at your therapist.
Re: (Score:2)
Re: (Score:2)
You heard wrong :) (Score:3)
There is plenty of java in the world, why not focus on something new or improving something instead of duplicating it? I hear python is pretty nice.
Python has been around forever. If it was so nice, it would have replaced Java long ago given what the Java community has been put through with Sun's stupid licensing making it so difficult to install on Linux (no apt-get support by default) and Oracle's horrible licensing strategy recently.
Python is good for short-lived programs. It's terrible for business apps you need to keep running for 10 years. There's a reason Java dominates that space...and it isn't because the folks making Java have been nic
Re: You heard wrong :) (Score:2)
Note the difference to "EARNS money".
Makes.
As in: "Makes up", or "steals".
Re: (Score:2)
The problem for any other ecosystem going up against Java is reproducing the libraries. Java as a language is kind of meh. I know it so I get by, but the things I can do with Java with the libraries that come with it out of the box means for certain applications, I'd either have to hunt down a library in another language that kinda sorta does what Java library classes do, or roll my own. And Java has basically been the language large enterprises have gone to as they move from legacy systems, so its class li
JavaFX? (Score:2)
Is JavaFX held back from the OpenJDK?
Should I care about that?
Yeah, yeah, Swing is awful, it is said, and JavaFX is supposed to be the Next Big Thing, but that it is not in OpenJDK, does that mean I don't have to worry about changing over to it?
Re: (Score:2)
JavaFX is in the OpenJDK. Seriously, check your distribution.
Re: (Score:2)
Python has nothing like Java's annotations yet, and hence no tools based on annotation processing and code morphing/code generation.
Re: (Score:2)
Re: (Score:2)
Clarence Thomas (Score:2)
He sure understands how Android put the hurt on Java.
But then again, Google is Good and Larry Ellison is Evil and an aging Supreme Court Justice is a lamer?