Across Microsoft, we’ve seen a significant increase in our engagement with open source communities over the last few years – as consumers, producers and participants in open source software projects. This has been particularly notable in our developer tools, where we have been collaborating extensively with open source developer communities across the industry.
Along with this increase in engagement, we also continue to evaluate and evolve our own internal policies and practices to further streamline the way we work with open source communities. We are increasingly looking for ways to encourage and enable our engineers to consume, produce and participate in open source.
The open source ecosystem around our tools and platforms has played a critical role in their development, and I have been excited to see the growth of this ecosystem in recent years. To continue to foster and recognize the great work being done in this community, we are updating our Microsoft MVP program guidelines to recognize open source activities with the same weight as other forms of community engagement.
I’m happy to see the work we’ve done in collaboration with the community over the last few years, but also looking forward to the opportunities we have in front of us. In this post, I’d like to share an update on some of the ways we’ve been working with open source recently, and some thoughts on what’s coming next.
Open Source in Visual Studio 2013 and TFS 2013
Visual Studio 2013 builds upon a lot of great open source software. In fact, many developers are surprised to hear just how much OSS is part of Visual Studio and Team Foundation Server. Scott Hanselman has been sharing this slide in some of his talks, summarizing the open source projects used in various Visual Studio offerings.
Some of these are projects started by individuals or teams at Microsoft, and now developed as open source. Others are projects where we have become contributors to successful existing open source projects. And others are places where we have been able to build on top of the great work in the open source community to provide richer capabilities in Visual Studio.
We couldn’t ship Visual Studio without these projects, and I’d like to join Scott in thanking everyone who has contributed to these projects for the support they’ve provided to Visual Studio 2013 and TFS 2013.
To highlight some of the flavor of open source in Visual Studio, here’s a few examples:
Visual Studio and Team Foundation Server now support Git source control natively, and Visual Studio developers are using distributed version control via Git across a wide variety of development activities in Visual Studio.
Our support for Git builds upon the libgit2 project, also used by GitHub and others in the Git community. Several Microsoft employees in our version control team now actively contribute to this project, helping to support this cross-platform, linkable, Git library written in C, as well as providing first-class support for the library on Windows. We also actively contribute to the libgit2sharp project which provides a .NET wrapper around the libgit2 library. This makes it easy for any .NET developer to quickly build integration with Git.
Building upon these two libraries in our Visual Studio integration enabled us to deliver great support for Git in Visual Studio while contributing back to the community and providing additional testing and validation for the open source library.
Node.js Tools for Visual Studio
We recently released a preview of Visual Studio support for Node.js. This project supports editing, project management, profiling and debugging for the open source Node.js platform from within Visual Studio.
The Node.js Tools for Visual Studio project is developed on CodePlex and has had major contributions from industry partners, including NPM management UI and Edit and Continue support. The project also builds upon the open source Node.js platform generally, with support for debugging based on the open-source V8 engine’s debugger protocol.
Speaking of Node.js, we also have an open source Node.js SDK for Windows Azure. We have partnered with Microsoft Open Tech, our open source subsidiary, to make contributions to Node.js core to ensure it works great on Windows and Windows Azure.
ASP.NET Web Stack
Two years ago, we open sourced the ASP.NET web stack on CodePlex and transferred it to MS Open Tech. Since then, the project has benefited from significant contributions from many developers from the community. These ASP.NET technologies continue to be the foundations of one of the most heavily used project types in Visual Studio.
The ASP.NET developer ecosystem has also increasingly adopted open source technologies as core pieces of the modern ASP.NET web development platform. In Visual Studio, we now include many of these projects as part of the default templates, including JSON.NET, OWIN, jQuery, Modernizr and Bootstrap.
We decided early on that we wanted TypeScript to be an open source language and compiler. Developing TypeScript on CodePlex over the last 18 months has enabled us to evolve the language and tools rapidly toward the upcoming TypeScript 1.0.
These projects are just a sampling of the places we’re working with open source in our developer tools. The trend these examples highlight is one that I fully expect to accelerate both in our developer tools and across additional platforms and applications at Microsoft. I’m happy to see the benefits developers are seeing from our partnerships with open source over the last few years, but also looking forward to the opportunities we have ahead of us.