Well… Build 2016 certainly started out with a bang… For some reason Microsoft is having a complete love affair with Linux. Between buying Xamarin, SQL Server for Linux, and today’s announcement that bash will be native in Windows 10. Oh, let’s not forget that .NET for Linux/Mac and ASP.NET for Linux/Mac are real things, too, and fairly close to shipping.
“Wow, this is great!”, you say. On the initial announcement, yeah, this seems like a great idea, something developers have been clamoring for for YEARS. No more Cygwin, no more crazy emulators, native everything Linux on a Windows box!
But, as Charles Dickens wrote in the tale of two cities, ‘It was the best of times, it was the worst of times.”
After getting over my initial giddiness of these VERY cool announcements, the question that came to mind is ‘WHY!?!?’ Why is Microsoft doing this? This isn’t just a ‘hey, lets do some cool experiments to get developers back’. These are very serious investments that are not being done on a lark.
First off, the Linux love affair seems to have started with Satya Nadella. I think under Steve Balmer, the words Linux, Unix, and OS X (and iOS) were banned. Microsoft had not successfully done cross platform software since the early days of Excel for the Mac, and porting it to Windows. Windows for Alpha, and Windows for Itanium never took off. Office for Mac was a red-headed step child. Heck, even getting Windows Mobile to run on the phones proved to be a huge challenge.
Since Mr. Nadella took charge, Linux has not only been unbanned, but it has completely been embraced. It started with the Mac and either Silverlight or Office. Since OS X is based upon BSD Unix, Microsoft had to come up with tools to allow them to develop for the Mac. Microsoft started out slow, but lately, they have been able to bring a pretty good parity to Office for the Mac. In doing so, they have build up some better understanding of developing for Unix, and are now applying that to Linux.
The one thing that worries me is that Microsoft seems to be developing somewhat of an inferiority complex. Microsoft under Bill Gates and Steve Balmer would have always been ‘we think ours is better, deal with it’. They would be almost as arrogant as Steve Jobs. The new Microsoft is almost apologetic. ‘Hey, we want to be where the cool stuff is, and we realize our stuff isn’t cool’. Which is sad, considering that the latest Visual Studio is awesome, Powershell is cool, and Windows 10 is probably the best OS they’ve ever done.
Am I excited by what Microsoft is producing? Sure! I love the fact that my skill set will start to be more cross-platform. I just want to know ‘why’. Yes, I understand this will help Azure, and that is where the future of Microsoft probably is. But, this seems like a LOT of resources are being poured into this Linux initiative, and there doesn’t seem like a way that Microsoft will make money. Microsoft is not Google, where they only play with cool.