On November 12, 2014, Microsoft (MS) announced that it's open-sourcing its full server-side .NET stack, which thereby, at least in theory, expands the .NET stack to Linux and Mac OS X (which is really Unix) platforms. Here are six take-aways from that announcement:
Forget the Linux/Windows desktop wars. Microsoft's announcement isn't the first step in Microsoft porting Windows to 'nix or OSX to ensure its win in the desktop wars. For all intents and purposes, that war was won by Microsoft several years ago. Alas, it's a borderline meaningless victory because by the time we've all noted that Microsoft has won the desktop, we don't care all that much. With the advent of mobile computing and the rise of responsive browser/smart mobile device browser-based applications, far fewer are targeting Windows desktop and fat clients.
Server-side salvo fired. While the desktop war is either over or a non-issue, the war for the server-side rages on. Microsoft wants to be your host, regardless of your platform. Azure has, for a long time, been a good host for development stacks not traditionally associated with Microsoft. Azure works great with PHP, Ruby, and Node.js. A part of the November 12th announcement is a doubling down of the Azure cross-platform bet. But don’t get all misty-eyed and twist all this Microsoft openness into something wholly altruistic. Let's be very clear: application hosting and related services are very big business. Microsoft's previous and recent open source announcements are efforts by Microsoft to embrace (and swallow?) the competition. Consider this: IBM's BlueMix competes with Azure, yet all BlueMix can offer Microsoft users is a "limited preview" of .NET interoperability. Technically, at least, Azure is the more open of the two cloud offerings and Microsoft wants to keep it that way.
Damned if you do. Damned if you don't. David Heinemeier Hansson (aka DHH), open source champion and creator of Ruby on Rails, did an interview a couple of years ago ranting about Microsoft's irrelevance in the open source world. It's not hard to imagine that Steve Ballmer, previous MS CEO, ran around the office tearing his shirt off screaming about what an idiot DHH is when he saw this video. It's also not hard to imagine that Satya Nadella, current MS CEO, didn't scream or tear his shirt off but carefully considered this video, or at least the sentiment that drives it, and knew something had to be done. Were the announcements the other day enough to make the open source community embrace Microsoft and its technologies? I doubt it. I'm pretty sure that we're in for more from the DHH's of the world who will say that despite MS's open source initiatives, it is still the evil empire and needs to get out of the OSS sandbox. Thirteen years ago, Steve Ballmer said OSS is a "cancer" and Windows NT architect Jim Allchin all but said OSS is un-American. It's going to take a long time, and showing a real commitment to the OSS, before any Penguin head stops thinking of MS as the Darth Vader of application development. Having said that, MS's fortunes are on the uptick so it can afford to play out the long tail of its OSS efforts.
MS's motives are pure. While it can be argued many ways, Microsoft's motivation for open sourcing its software seems very pure to me. Not only did MS announce its new OSS initiatives, it also provided a "patent promise" promising to not ever impose any of its patents against users of its OSS code. For many years now, Miguel de Icaza has lead the charge to port .NET to Linux ('nix environments in general) with the Mono project. While MS has been somewhat helpful to Mono in the past, it's often seemed that there was a bit of political posturing tied to that help. Deep in the 12 November announcements was MS promise to "work closely" with the Mono project. MS's announcements are big and very positive for the Mono project. You know how you stress to your kid that the promise of her cleaning up her room isn't important, what's import is that she really clean up her room? The recent announcements are a little like that to me. MS is going beyond promise and putting action on the table.
Windows on the IBM i? Do you remember the IBM Magic Box campaign from the 90s? Back then. Dr. Frank teased us with the idea that what was then called the "mach kernel" would one day provide an IBM box that ran OS/400 (ne IBM i), Linux, and Windows natively that answered all of our computing problems. While the Magic Box campaign didn't completely deliver on its promise, with the Linux interoperability that PASE provides, it at least delivered on a big part of its promise. Microsoft's announcement the other day may be the missing piece that delivers that ultimate magic box we dreamed about all those years ago. It's unlikely that we'll ever see Windows running natively on the IBM i, but the potential to run .NET server side components, with the help of PASE, on IBM i are quite compelling. I know that there are deep pockets of angst against MS in some IBM i shops, but I also know, first hand, that many shops embrace MS technologies.
What does it mean for ASNA? It's too early to understand the full impact of Microsoft's announcements on what we do here at ASNA. As you know, our products have a substantial dependence on Microsoft's products. There are many IBM i shops who embrace Windows and have very strategic enterprise dependencies on it--and ASNA is very fortunate to count many of these shops as loyal customers. But there are still deep pockets of IBM i shops that think Microsoft still represents the evil empire and would rather have you pry the IBM i out of their cold, dead hands than plug in a Windows server. We at ASNA think the MS announcements are very exciting and with the IBM i's ever-growing affinity with Linux, we're anxious to explore the future!
From where we sit, Microsoft has promised to clean up its room, and is charging rapidly upstairs to do so!