Six takeaways from Microsoft's open sourcing of .NET

Microsoft announces its .NET framework will be an open-source offering. This may be good news for Platform as a Service advocates.
Written by Joe McKendrick, Contributing Writer

Last week, Microsoft announced it was open sourcing the full server-side .NET stack, and expanding .NET to run on the Linux and Mac OS platforms.

The move was warmly received across the IT community, which often has been skeptical of Microsoft's intentions. (Well, with the possible exception of my good friend Adrian Bridgwater, who suggests the company's open source move was only to solidify its world domination.)

The move to open source .NET is only the latest in a series of actions that began in April 2014, as documented by ZDNet colleague Mary Jo Foley. At that time, she relates, Microsoft announced plans to open source a number of its developer technologies, including ASP.NET, the Roslyn .NET compiler platform, the .NET Micro Framework, .NET Rx and the VB and C# programming languages. These technologies were to be made available via a newly created .Net Foundation. In this latest move, Mary Jo notes, Microsoft "is adding more pieces of .NET to its open-source list under the MIT open-source license, including the .NET Common Language Runtime (CLR), the just-in-time compiler, garbage collector and Base Class libraries."

There is even an effort underway to incorporate technology from Mono, the open source alternative to .NET. It will be interesting to see if Microsoft assumes a bigger role in the Mono Project.

But does the open sourcing of .NET mean anything to the world at large? Here are five takeaways from the .NET open source announcement:

Windows is no longer the de facto operating system of the world. Since its inception back in 2002, .NET was the framework of choice for web services, then service-oriented and cloud deployments. It was the prime competitor to the Java frameworks, with the constraint that it only ran on Windows machines. That all worked well in an era when just about the entire world ran on Windows, at least at the office level.

Microsoft's announcement is probably just as big of a statement about Apple Mac OSX as it is about .NET. It's an acknowledgement that Mac OSX has become a part of enterprise computing environments. A few years back, Mac OS tended to be relegated to graphic arts departments. 

It means more choices for developers. Sinclair Schuller, for one, believes the open source .NET announcement is a big deal for developers. In a post following the announcement, he suggests a cross-platform version of .NET means more choices for developers: ".NET developers can build more apps to run in more places. It means more competition between runtimes, languages, and stacks, leading to improvements in how developers work. It means, ultimately, that developers can unlock and produce even more quality of life for the world by merging one of the world’s best app-execution environments—.NET—with one of the world’s best server operating systems—Linux."

.NET is now only one of many options. Microsoft's move may also be an acknowledgement that .NET no longer occupies the top perch it once did. As Jonathan Vanian points out at GigaOm, today's generation of developers has been moving away from .NET.  "There’s no guarantee that by open sourcing .NET Microsoft will gain an influx of coders. In a way, the company is playing with fire by exposing its own loyal .NET developers to new platforms that may have something they feel .NET or other other Microsoft technologies lack."

It moves Platform as a Service forward. As PaaS makes inroads into enterprises, it will be easier to build on multi-platform foundations. "Given that full .NET support will mean supporting Windows, Linux, and Mac, I expect PaaS architecture complexity to increase if a PaaS claims full-fidelity to .NET support," Schuller says. "Application services available on Linux may also become easier to consume from .NET apps running on Linux."

It will help spur independent innovation. Lest we forget, open source is called such because underlying source code is open for revision and rewrites. It will be interesting to see how .NET implementations get modified for new types of functionality.  We may start to see .NET in places we never could have imagined before.

Editorial standards