It seems appropriate to use the title of Bob Dylan's anthem when discussing rampant changes occurring in the .NET ecosystem. Before rambling on with my monthly allotment of words, I would like to present you with a picture:

Figure 1: .NET Framework CoreFX library in GitHub
Figure 1: .NET Framework CoreFX library in GitHub

As they say, pictures are worth a thousand words and this picture is no exception. This simple image represents one of the biggest changes to happen in the Microsoft developer ecosystem in the current millennium. In this and future issues, I promise you that the things this picture represents will receive many thousands of words (and some code examples too).

Looking closely at this image, you'll notice a number of things that might cause you to do a double-take. The first is the name of the repository “dotnet/corefx”. What does this mean? This means that core features of the .NET Framework have been open sourced. This repository, in particular, contains a number of “core” classes uses as the underpinning of the overall .NET Framework. This is just the start. Microsoft has promised to release .NET Runtime and other framework classes in the coming months.

Let's return to that picture now. The next item to consider is the domain name where this particular repository is hosted. Yes, that IS the URL for GitHub. Microsoft put the source code for their open source projects into the largest site for open source projects on the 'net. They're in good company. GitHub hosts some of the largest open source projects around including: jQuery, Ruby on Rails, and Node. This is a major sea change where it was common for .NET-based projects to be hosted primarily on CodePlex.

Now for the coup de grace; take a look at the number of commits to this project. From its inception, there have been 285 commits to this project! While 285 commits might not be that big a deal, there is one item of note. A number of these commits came from non-Microsoft employees. Microsoft seems to now “get it” when it comes to open source projects. Microsoft is developing this code in the open where we can all see what's going on with the framework as it progresses.

The beautiful thing about this picture is the fact there are many more like it.

Along with the .NET Framework, Microsoft has released a number of other “crown jewels” in the .NET development stack. Here's a list of some of the projects you might be interested in:

  • ASP.NET 5
  • Entity Framework (sub-project of ASP.NET 5)
  • ASP MVC (sub-project of ASP.NET 5)
  • Razor View Engine (sub-project of ASP.MVC)
  • Signal R
  • Azure SDK
  • The Rosyln Compiler

And more to come.

What Does Open Sourcing Mean for You?

The open sourcing of Microsoft tech presents a number of opportunities for developers. The first item (as endorsed by Microsoft) is the ability to run .NET code natively on non-Microsoft platforms, including OSX and Linux. We're no longer saddled with the expense of purchasing Windows Servers to host our Web applications. Another opportunity is the ability to extend the .NET platform to include features that you need built into the core. Want a new mechanism for doing validations in Entity Framework? Go ahead and code it up and contribute it. The world will benefit from your work. These are just a few brief examples of what comes to mind.

We have been covering open source here at www.codemag.com for some time and with the sea change at Microsoft, I can see us covering this topic more in coming issues. FWIW, one of my proudest moments was our May/June 2009 issue. Check out the trippy cover we created for that issue:

Figure 2: Cover image from the May/June 2009 Open Source issue of CODE Magazine
Figure 2: Cover image from the May/June 2009 Open Source issue of CODE Magazine