Our Blog

where we write about the things we love

06

Oct

Microsoft and Open Source

Microsoft’s open source approach increases developer engagement.

One of the most interesting things in the Microsoft world at the moment, along with Azure, is Microsoft's embrace of open source in recent times. From "Roslyn", the .NET compiler platform to ASP.NET web stack, from first class support for git to the inclusion of Json.NET in the ASP.NET MVC solution template, Microsoft has made great strides in developer engagement. At the Build Conference 2014, Microsoft announced the .NET foundation as the "steward of a growing collection of open source technologies for.NET, Microsoft’s comprehensive development framework".

Roslyn

Roslyn is perhaps the most significant open source .NET project, underpinning much of the .NET technology stack. Apart from the compilers for C# and Visual Basic, the project includes work on new language features planned for the next version of C# and IDE features for Visual Studio. More importantly, developers are free to download, inspect, fork, experiment in any way they please. Microsoft encourages active discussion as well as contribution, so the intent for active community engagement couldn't be any clearer.

A quick peek at the discussion threads on CodePlex show healthy debates on various issues developers feel strongly about. For instance, discussions about ‘Null propagating operator? ’ show over 190 contributions. There are over 160 contributions to the thread ‘private protected is an abomination’.

The evolution of C# language features as an open source project is certainly an interesting area. Ivan Towlson (Principal SDE with Microsoft) presented a very good introductory session at TechEd New Zealand 2014 about The Future of C#. The Language Feature Status page lists features which are in various states of implementation.

Of the many new planned features for C# 6.0, primary constructors looks particularly interesting. This feature will ‘allow constructor parameters to be declared directly on the class or struct, without an explicit constructor declaration in the body of the type declaration’. When combined with new ‘auto-property initialisers,’ it saves developers from typing a lot of ‘boilerplate’ code.

Other planned features include ‘binary literals and digit separators’, ‘event initializers’ and ‘expression-bodied members’. Read more about them on the roadmaps page here.

Whilst Roslyn and efforts around C# may seem centre stage, other projects such as the Entity Framework and ASP.NET web stack including ASP.NET MVC, Web API, Web Pages with Razor are also significant contributions.

At the very least, Microsoft's effort's to open source some of the key assets of the .NET framework means it can leave the future direction and growth of the framework to the community. This gives Microsoft the freedom to focus more on its key revenue generating business of delivering services and tools. It's a winning formula as I see it.

Posted by: Sarnil Prasad, Senior Developer, Enterprise Applications | 06 October 2014

Tags: Open Source, Developers


Blog archive

Stay up to date with all insights from the Intergen blog