Open Source, Cross Platform .NET: Round One to Microsoft
So far, so good on the work Microsoft has done, but it still has lots of work to do to get more of its proprietary offerings into the open source development pipeline. The other challenge is being able to monetize it where it makes sense.
On November 12, at a Visual Studio event in New York City and online, Microsoft announced that it would be open sourcing the full server-side .NET Core stack and would be enabling it to run cross-platform. Microsoft also announced that a new Visual Studio Community edition (equivalent in most respects to Visual Studio Professional) was being made available as a free download to individual developers, students, open source contributors, and small development teams. With these announcements, Microsoft has transformed itself in no small measure. The .NET ecosystem will transform as well.
Open source .NET isn't new. The Mono Project created its own open source implementation of .NET for Linux, dating all the way back to when Microsoft launched .NET. Xamarin sponsors that project now, and its predecessor organization within Novell did so before. A decade ago, Microsoft was wary of the Mono Project. Now it is working with Xamarin to make an open source, server-side .NET Core stack that is first-party developed and supported, and will run on both Linux and Mac OS. Plus, virtually anyone who might now be drawn to .NET and was not before will be qualified to use the new free Visual Studio Community edition.
The reason these new releases and policies are important is because the developer landscape has changed, radically, since .NET first RTM'd in February of 2002. Back then, .NET was being pushed as an Enterprise development platform to compete with Java Enterprise Edition. Today, Java EE and .NET are more allied than opposed; contemporary alternatives include languages like Node.js, PHP, Python, Objective C, Ruby and Scala. Moreover, a lot of the code written in those languages is running on Linux and being developed on Macs.
If Microsoft wants to be relevant, it has to go where today's developers are. If Microsoft wants to be competitive, it needs to stop forcing Enterprise licensing on open source contributors and solo mobile developers. Yes, programs like BizSpark and DreamSpark provide Microsoft tools free for several years. But BizSpark has historically had barriers to entry. And a deadline for free use of software hangs over a developer's head much more than an open source license does.
The Spark programs offered deterrents and disincentives when the opposite was needed. Visual Studio Community, the open sourcing of .NET and the ability to run it on Linux and Mac OS beckons developers into the .NET tent. That wins hands-down over merely allowing developers entry to the tent and keeping them close to the exit.
The exciting thing about all of this is that Microsoft truly gets it. This wasn't a random decision with a coincidentally good outcome. Instead, the company, its developer division and its Corporate VP for Enterprise and Cloud saw how the developer landscape had changed, confronted that change honestly, and made bold policy changes in response.
Gone is the bubble, the tone deafness and, yes, the arrogance, that for so long has led Microsoft to make decisions that are out of touch and doomed to failure. Gone also, at least for now, is the low morale that pervaded much of Microsoft's rank and file.
There is a new optimism on the Redmond campus, and there are new successes to measure. Industry support for Azure is significantly on the rise, Surface Pro 3 is making waves and Microsoft Band was a stealthy hit; even sales of Xbox One appear to be up. People in the industry -- and by that I mean people outside the Microsoft orbit that I encounter in my work -- are suggesting out loud that Microsoft is "back."
Steady as She Goes
But Microsoft can't get cocky or oversimplify to itself what's going on. Yes, the change in CEO has contributed to this latest wave of momentum, but scapegoating the high-level execs who have left won't lead to improvement. Open sourcing .NET is a great step, but there are other pieces of the stack, including the client side and PowerShell, that are still proprietary and should likely be added to the open source manifest.
Reaching out to other development communities is smart, but Microsoft still needs to show more love and support to the core .NET community. That group's faith was shaken over the deprecation of Silverlight and the shift to WinRT; prioritizing new communities to the exclusion of supporting the base would be a huge mistake.
And then there's revenue. Open sourcing .NET and moving to the cloud is the right way forward, but if Microsoft can't monetize the new model, it will hardly have found Utopia. In general, Microsoft has -- even if belatedly -- taken bold steps, but shrewd execution has to follow. That's hard work. For it to be successful, Microsoft needs our encouragement and support. It also needs our continued honesty and constructive criticism, and it must be receptive to it.
Andrew Brust is Research Director for Big Data and Analytics at Gigaom Research. Andrew is co-author of "Programming Microsoft SQL Server 2012" (Microsoft Press); an advisor to NYTECH, the New York Technology Council; co-moderator of Big On Data - New York's Data Intelligence Meetup; serves as Microsoft Regional Director and MVP; and is conference co-chair of Visual Studio Live!