While I’m still surprised at the move, it’s not unprecedented – I think they’ve been letting the open source folks dabble for years now, and they’ve proven that it works.
- 2007/2008 – MS starts building ASP.NET MVC While this wasn’t a move to open source anything, it did finally start to seem as though Microsoft wanted to have a web framework that mattered. ASP.NET WebForms had been terrible for years and wasn’t getting any better. StackOverflow becomes an early success story for ASP.NET MVC.
- September 2008 – MS starts shipping JQuery alongside ASP.NET AJAX – While not surprising given the meteoric rise of JQuery, it was still not a foregone conclusion that MS would start shipping JQuery in Visual Studio.
- March 2012 – MS open sources ASP.NET MVC: This one didn’t really surprise me, it seemed like a natural fit given MVC’s direction at the time. Scott Gu announced that ASP.NET MVC, WebAPI and Razor would all be open sourced. My feeling at the time was that Scott Gu, Phil Haack Scott Hanselman (and likely others) were supporting this behind the scenes. I always imagined that Microsoft was trying to win back devs that had left ASP.NET in droves for rails, though I’m not sure what the official line was.
- July 2012 – MS open sources Entity Framework: MS ran in to trouble with EntityFramework – for a long time it was less popular than Linq2Sql and nHibernate. While much of the open source .net community would have preferred that they adopt nHibernate, they did eventually open source EntityFramework and are even proudly accepting community contributions. EntityFramework is now a lot less terrible and much more widely used as a result.