Microsoft’s former CEO Steve Ballmer may have described Linux as a “cancer” but in recent years the software giant has shown a willingness to experiment with open source.
While it might be hard to swallow the proclamation by new chief Satya Nadella that “Microsoft loves Linux”, the firm has open sourced large parts of its .NET development framework, launched the open source web programming language TypeScript, and even hinted it may one day lift the lid on the code that powers Windows, the firm’s longstanding proprietary cash cow.
These limited concessions towards openness are a strategic play, an attempt to boost the number of people using technologies tied to Microsoft’s paid for software and services.
Mark Russinovich, Microsoft technical fellow and Azure CTO, told the ChefConf event last week that opening up .NET helps to “get people started on other Microsoft solutions”, concluding “it lifts them up and makes them available for our other offerings, where otherwise they might not be.”
Microsoft is not alone in looking to wield open technologies as a weapon against rivals. Increasing numbers of companies are using this approach to stay ahead of competitors, according to a research paper, Beware of Geeks Bearing Gifts by CSC’s Leading Edge Forum.
Publicly Microsoft says it’s already reaping rewards from its forays into open source. Kasey Uhlenhuth, program manager with Microsoft’s managed languages team, wrote this week about the spurt in the number of developers contributing to the source code for Roslyn, a compiler for the .NET software framework, since Microsoft revealed the platform’s source code last year.
Roslyn provides a set of open source compilers and code analysis APIs for the C# and Visual Basic (VB) programming languages. The source code is available via GitHub under the Apache 2.0 license.
Ultimately, Roslyn is designed to make .NET a more attractive framework to build software around. Exposing Roslyn’s code analysis via APIs has “lowered the barrier” for third parties to create tools and applications that simplify coding using C# and VB, according to Microsoft. The better that Microsoft can make Roslyn, the more developers are likely to be tempted to create applications for the .NET framework, which is closely associated with Windows.
Since open-sourcing the code for Roslyn, the number of developers contributing code to the platform and reporting issues has grown markedly.
“Moving to a workflow that has our team working in the open as much as possible and using the same contribution model as the community has allowed us to almost double our community engagement in a third of the time,” Uhlenhuth said.
Microsoft attributes this growth to a shift towards running Roslyn as what it calls a ‘fully open source’ project.
“We have adopted a ‘fully open source’ model where we are developing and working entirely in the open,” Uhlenhuth said.
“We file bugs and design notes in GitHub’s issue tracking system and submit all of our code changes as pull-requests. We use GitHub’s code review system as our own and use Markdown to link issues or communicate about code. We also established a crisper idea of what we accept for pull-requests, what sign-offs we require for pull-requests to be merged, what style guide we recommend, and what an acceptable time frame for closing a pull-request is (roughly 10 days, if you were wondering).”
Uhlenhuth admits the open source system could still use refinement but says “based on the quantity and quality of projects in the community that use Roslyn, it is clear we made the right move by open sourcing our platform”.