.NET Goes Open Source

Some big news in the .NET/Microsoft world today: the .NET runtime (roughly equivalent to the JVM in the Java world) will now be fully open source (MIT License) and cross-platform. This means .NET will be fully supported on the Mac and Linux. It looks like the aims of Mono, the current community-driven cross-platform open source implementation of .NET, will now be fully realized as part of the core .NET platform. Mono is primarily leveraged for cross-platform mobile app development with the Xamarin ecosystem. Microsoft’s further partnership with Xamarin means that .NET is one of the most compelling mechanisms for cross-platform development today.

I’m excited to see Microsoft embrace open source. The effective patterns and practices that we’ve seen emerge and evolve in the open source ecosystem, regardless of platform, can be lost on individual enterprises or proprietary vendors. It’s great to see Microsoft seeing the value and effectiveness of these patterns and aligning their efforts with how developers work, not the other way round.

I’m also happy to see a desire on Microsoft to deliver the best solutions on any platform, not just the BYO-platform attitude that we started to see a year or two ago (which was still revolutionary for Microsoft).

News round-up:

Recent Azure Highlights – November 2013

Earlier this week Scott Guthrie had a another round of announcements (just two weeks since the last round) of Azure awesomeness . Highlights included:

  • Web Sites now support remote debugging
  • WebSocket support for Azure Web Sites
  • Continuous delivery support for Git in TFS

Some takeaways for me are that Azure Web Sites are receiving the same TLC as traditional Azure Cloud Services (web and worker roles). Also, Git is becoming a first class citizen in the TFS/Microsoft world. Git provides key capabilities that allows enterprises to be more collaborative than traditional TFS version control and aligns with open source development practices that foster multiple contributors across projects.

In other Azure news, Microsoft has released the Windows Azure Scheduler. It provides the often needed capability of invoking services or messages on simple or complex recurring schedule. This eliminates the need to rely on third party services or bootstrapping a service to use a task scheduler library. Sandrino Di Mattia has an excellent overview of the service here: http://fabriccontroller.net/blog/posts/a-complete-overview-to-get-started-with-the-windows-azure-scheduler/