Live from Visual Studio Live!: Microsoft Opens Development of ASP.NET Projects

Microsoft's decision this week to welcome contributions from the open source community to its ASP.NET Web development framework wasn't really about open source, Scott Hanselman, senior program manager in Microsoft's Developer Division, told attendees at the Las Vegas edition of the Visual Studio Live! 2012 developer conference series today.

"This is about open development," Hanselman told attendees. "What it means is that you can fix a bug in your repository, and we'll set you up with a contributor agreement, and your code will be vetted the same way our product code is vetted."

The source code for ASP.NET MVC has, in fact, been available under an open source license since the first version was released, but development was restricted -- no third parties allowed. With this change, Microsoft has opened the door to third-party contributions of patches and code to ASP.NET MVC v4, and added the ASP.NET Web API and ASP.NET Web Pages v2 (code-named Razor), all under the Apache 2.0 license. The company says it will host code repositories for all three projects on its CodePlex Web site.

Microsoft's Scott Guthrie made the initial announcement in a blog post. For the first time, the company will "…allow developers outside of Microsoft to submit patches and code contributions that the Microsoft development team will review for potential inclusion in the products," he wrote. "We announced a similar open development approach with the Windows Azure SDK last December, and have found it to be a great way to build an even tighter feedback loop with developers -- and ultimately deliver even better products as a result."

Contributors submit what is called a "pull request" to offer a bug fix or patch. The first pull request for ASP.NET came on the heels of the announcement from Miguel de Icaza, CTO of Xamarin, a cross-platform mobile development company founded by the team that leads the Mono project (which de Icaza also founded). The newly released Microsoft source code will be incorporated into Xamarin's products and the open source Mono runtime, the company said in an e-mail. Xamarin also plans to integrate the Razor Engine into its mobile products.

Keep in mind that Microsoft isn't turning over control of the ASP.NET projects to the community. Also, some parts of ASP.NET (Web Forms, for example) will not be open sourced.

"ASP.NET MVC, Web API and Razor will continue to be fully supported Microsoft products that ship both standalone as well as part of Visual Studio (the same as they do today)," Guthrie noted. "They will also continue to be staffed by the same Microsoft developers that build them today (in fact, we have more Microsoft developers working on the ASP.NET team now than ever before). Our goal with today's announcement is to increase the feedback loop on the products even more, and allow us to deliver even better products..."

Although he tried to move passed the ASP.NET announcement quickly during his Visual Studio Live! presentation, Hanselman seemed especially delighted by the decision. "I think open source makes Microsoft seem friendlier," he said, "less like the Death Star."

About the Author

John K. Waters is the editor in chief of a number of sites, with a focus on high-end development, AI and future tech. He's been writing about cutting-edge technologies and culture of Silicon Valley for more than two decades, and he's written more than a dozen books. He also co-scripted the documentary film Silicon Valley: A 100 Year Renaissance, which aired on PBS.  He can be reached at

comments powered by Disqus


  • How to Create a Machine Learning Decision Tree Classifier Using C#

    After earlier explaining how to compute disorder and split data in his exploration of machine learning decision tree classifiers, resident data scientist Dr. James McCaffrey of Microsoft Research now shows how to use the splitting and disorder code to create a working decision tree classifier.

  • Microsoft: Move from Traditional ASP.NET to 'Core' Requires 'Heavy Lifting'

    There are plenty of reasons to move traditional ASP.NET web apps -- part of the old .NET Framework -- to the new cross-platform direction, ASP.NET Core, but beware it will require some "heavy lifting," Microsoft says.

  • Purple Blue Nebula Graphic

    How to Compute Disorder for Machine Learning Decision Trees Using C#

    Using a decision tree classifier from a machine learning library is often awkward because it usually must be customized and library decision trees have many complex supporting functions, says resident data scientist Dr. James McCaffrey, so when he needs a decision tree classifier, he always creates one from scratch. Here's how.

  • Blazor's Future: gRPC Is Key

    Blazor guru Steve Sanderson detailed what Microsoft is thinking about the future of the revolutionary project that enables .NET-based web development using C# instead of JavaScript, explaining how gRPC is key, along with a new way of testing and a scheme for installable desktop apps.

  • Don't Do It All Yourself: Exploiting gRPC Well Known Types in .NET Core

    If you're creating business services that send dates and decimal data then you may be concerned that gRPC services don't support the relevant data types. Don't Panic! There are solutions. Here's how to use them.

.NET Insight

Sign up for our newsletter.

Terms and Privacy Policy consent

I agree to this site's Privacy Policy.

Upcoming Events