Microsoft is making source code for the .Net Framework available to interested developers under its Shared Source license, the company announced on October 3.
Microsoft will be rolling out the .Net code piecemeal, after scrubbing comments. It plans to start with the .Net Base Class Libraries, ASP.Net, Windows Forms, ADO.Net, XML (System.XML) and the Windows Presentation Foundation, blogged Microsoft Developer Division General Manager Scott Guthrie. Over time, the company also plans to make available the source code for Windows Communication Foundation, Windows Workflow Foundation and Language Integrated Query (LINQ), Guthrie said.
Microsoft is releasing the code under the Microsoft Reference License (MS-RL), one of several different Shared Source licenses the company offers. Interestingly, MS-RL is one of the licenses that Microsoft decided against submitting to the Open Standards Initiative (OSI) for consideration as a bona fide open-source license. (Microsoft submitted its Microsoft Permissive License, MS-PL, and the Microsoft Community License, MS-CL, for OSI approval in August.)
Microsoft intentionally decided on a license that doesn't allow changes to or redistribution of the source code because it doesn't want the .Net Framework to be a moving target, explained Dino Chiesa, Director of the .NET Platform.
"There's still a value in having a reliable, dependable platform," Chiesa said. "We don't want developers making mods to it."
Microsoft is positioning its move as a way to help .Net developers who need to understand the inner workings of the framework to write better apps.
"Releasing source code can be a help in debugging," agreed Greg DeMichillie, an analyst with Directions on Microsoft. "Sometimes a developer can't figure out why their app isn't but if they can step from their application into the library it becomes clear.
However, DeMichillie said, Microsoft "should have done this a long time ago. In fact, Microsoft debated this very question back in 2000, before the initial release of .NET but they thought that publishing the code, even as read-only, was too risky, presumably because of IP (intellectual property) issues. So it's nice they are getting around to this, but what would have been pretty bold seven years ago is pretty ho-hum now."
But Andrew Brust, Chief of New Technology at twentysix New York (and a Microsoft-appointed Regional Director) said Microsoft also gets another benefit from publishing the .Net source code.
"Even more significant is the apparent regime of transparency and general liberalism that is taking root in the dev div (Moonlight on Linux is another example). I think they are realizing that such an approach is a hearts/minds winner and the downside is very low. If you love people (developers, in this case), set them free. I think that's good advice, and good business."
Microsoft will allow developers to download the .NET Framework source libraries via a standalone install," allowing you to use any text editor to browse it locally," Microsoft's Guthrie explained. "We will also provide integrated debugging support of it within VS 2008," which is slated to go to manufacuring by the end of 2007.
While Microsoft isn't requiring developers to sign any non-disclosure agreements to view the .Net source code, I'm sure anyone working on an open-source project would need to think twice about looking at Microsoft's code in order to avoid potential IP conflicts.
Any developers out there interested in looking at the .Net Framework code? Why or why not?