Last Thursday evening the Belfast .NET Developer Guild met in Queen's University's newly renovated Computer Science Building to hear Martin Woodward give a first-hand account of Microsoft's journey into Open Source Software (OSS).
The evening kicked off with organiser Gareth Burns welcoming everyone and giving an update on what's been happening in .NET land since the last meetup, the highlights being the release of .NET Core Tools 1.0, and Visual Studio 2017. Grafton Recruitment, who brought the pizza and drinks, then gave a few words before the stage was set for Martin.
The speaker
From a field in Randalstown, Vice President of the .NET Foundation, Martin Woodward works with Microsoft teams from Redmond to Cambridge. He's been involved in Microsoft's efforts to open source the .NET Framework, compilers and too many other tools and libraries to list here. Although Martin readily acknowledges that Microsoft has taken this path to, ultimately, make money, his own genuine passion for OSS is obvious (and infectious!). It's therefore obvious, too, that he relishes his role at the .NET Foundation.
The .NET foundation
The .NET Foundation is an organisation independent of Microsoft that supports OSS associated with .NET. They provide help in relation to IP, legal, marketing and communications, as well as practical technical help. They support key .NET projects that came from within Microsoft (e.g. the .NET Framework, compilers, ASP.NET), as well as some that originated outside (e.g. Mono, Nancy, Cake).
Microsoft and Open Source
When Microsoft first started open sourcing .NET in 2014 it was big news in the software development community. It was unexpected from the Microsoft we knew back when Steve Balmer was at the helm. However, inside the organisation, Martin and others had realised that going open source was not only possible, it was in fact necessary to compete for developers who valued a tech stack and tool chain that wasn't owned and controlled by a single organisation, and who wanted the freedom to access the code they were building on.
In a world where Google now sits on the .NET Foundation Technical Steering Group and Microsoft's Scott Hanseleman shared keynote duties at RedHat's DevNation 2016, they've been proven right. In 2016, Microsoft were the organisation with the most open source contributors on GitHub. and today Martin's proud to list the benefits that open sourcing has brought to Microsoft, including:
- Collaborating makes better software through pull requests and feedback
- Existing OSS infrastructure allows them to distribute their software to developers though familiar and trusted channels
- Integration with existing OSS markets (like Linux & Docker) helps the MS stack reach places it couldn't otherwise get to
What's clear from listening to Martin's talk, is that Microsoft are serious about doing OSS and they aren't just ticking a box.
- They accept pull requests - towards the end of last year 62% of contributions to the key repos corefx and coreclr came from outside of Microsoft.
- They've given merge privileges to contributors who aren't employees, and in some cases (e.g. Reactive Extensions) the majority of control lies outside Microsoft
- Microsoft employees go through the same process as everyone else when contributing to their OSS projects, i.e. pull-request & review
- They engage with the community, and their roadmaps have been changed based on feedback (e.g. re-think of .csproj)
- There are hundreds within Microsoft whose day-to-day job is contributing to non-MS OSS projects
It hasn't all been plain sailing, and Martin relayed stories of the difficulties they (and many OSS projects) have faced, and how they're continually iterating their processes to make things easier. However, they're in no doubt that they've taken the right road and they'll continue to embrace OSS wherever possible in the future.
Next Meetup
Many thanks to Gareth for organising the event and making the evening's slide deck available. The feedback was great and interest continues to grow in the Belfast .NET Developer Guild. Join up and follow @dotnetbelfast for details on upcoming events. The next meetup is slated for June and interest is sure to be high.