Open source isn't just about code. Or needn't be. The spirit of open source is collaboration and sharing, which Microsoft has recently kicked up a notch with a new series of blogs that show how company culture can change, and what it could mean for open source development.
SEE: Open source vs. proprietary software: A look at the pros and cons (Tech Pro Research)
Telling stories about open source
Microsoft is already the world's biggest contributor to open source, at least as measured by the number of employees contributing to open source projects. It doesn't need to tell tales, and yet that's exactly what the company is doing, to cool effect, with its new Microsoft Open Source Stories blog.
The blog aims to share the behind-the-scenes stories about how certain projects went open source. As Microsoft's Dmitry Lyalin related to Microsoft watcher Paul Thurrott, "We hope to tell over 20 stories through this process as we have had a lot of great stuff hidden behind the firewall." Three stories are available on the blog today, including the story of how Microsoft made its C# compiler open source.
10 years in the making
That story is particularly interesting because it reveals all of the in-the-trenches spade work that must happen before the big reveal on GitHub is even remotely possible. Codenamed Roslyn, conversations at Microsoft about rewriting C# in C# (they were coding in C++) started way back in 2005. The problem was that customers had been using the compiler for years, meaning, "Writing a new compiler for C# means trying to match the old compiler bug-for-bug. And I'm not just talking about known bugs, but those unknown and unintended behaviors that developers have found and come to rely on, often unknowingly."
This was a gargantuan task, and the scope of what was required, plus the unanswered question as to why customers would care, kept Microsoft's engineers from tackling the project for years.
SEE: How to build a successful developer career (free PDF) (TechRepublic)
As the Roslyn team noodled on this, it became apparent that the reason for embarking on the rewrite was so Microsoft could "[m]ake it so that there only needs to be one code base in the world that understands C#, shared by everyone who wants to build tools over code." Customers, in turn, would benefit from more and better tools. "Roslyn was thus born out of an openness mindset: sharing the inner workings of the C# language for the world to programmatically consume."
Over time, open source became the default behavior for Microsoft, leading the team to open up Roslyn. Though it took roughly 10 years to reach the light of open source day, the benefits to Microsoft (and the community) are huge, writes Microsoft's Mads Torgersen: "The value to C# is through the roof, not only through the scaling of effort via contribution of features and bug fixes, but also the insight and course correction we get through the instant, daily feedback loop that open source provides."
SEE: Why open source is so important to Microsoft (ZDNet)
Stories like this can provide hope to other engineering teams, getting a glimpse into just how hard it can be to rebuild and open up legacy code, but also just how rewarding. Other stories, like this one on Python, help teams grapple with a "not invented here" mentality ("Python was a language that belonged to other people, and so Microsoft was not interested").
It's cool. It's open. It's how Microsoft works now, and through these stories hopefully more companies will follow suit.
- What's the deal with Microsoft's open-source friendly patents? (ZDNet)
- Why Microsoft's Linux love affair was inevitable (TechRepublic)
- Will Microsoft love Linux to death? Shuttleworth and Stallman on whether Windows 10 is free software's friend (TechRepublic)
- Enterprises want more open source yet won't pay developers to work on it (TechRepublic)
- Top 10 programming languages employers actually need (TechRepublic)
- Microsoft's CEO on helping a faded legend find a 'sense of purpose' (CNET)
- Mozilla's radical open-source move helped rewrite rules of tech (CNET)
Matt is currently head of the developer ecosystem at Adobe. The views expressed are his own, not those of his employer.
Matt Asay is a veteran technology columnist who has written for CNET, ReadWrite, and other tech media. Asay has also held a variety of executive roles with leading mobile and big data software companies.