In a surprise move, Microsoft said today it is releasing the reference source code for the .NET Framework libraries, a key step toward opening up the proprietary development platform.
Developers will be able to review and debug .NET source code with Visual Studio 2008 and .NET Framework 3.5. Released under the Microsoft Reference License, developers are able to view, but not modify or distribute, the reference source code.
The goal is to give .NET developers an opportunity to better understand "the inner workings of the framework's source code," Scott Guthrie, general manager of Microsoft's developer division, said in a blog posting.
"Having source code access and debugger integration of the .NET Framework libraries is going to be really valuable for .NET developers," Guthrie wrote. "Being able to step through and review the source should provide much better insight into how the .NET Framework libraries are implemented, and in turn enable developers to build better applications and make even better use of them."
While Forrester analyst Jeffrey Hammond said that Microsoft has resisted opening the .NET Framework, it's not the first time the software giant has taken such a step, noting a similar move with the Windows source code several years back.
Developers are likely to welcome the move but see it as an incremental step, given the fact that they will not be able to modify or distribute the code. "I would view it as a testing the waters move, the next step would be going to the source submitter process that would allow other folks to innovate with the .NET Framework," Hammond said.
"It would be interesting to see Microsoft adopt a process by which they can tap into the innovation of the community at large, that's one of the things they are really struggling with right now," he added.
Hammond pointed out that Microsoft needed to make such an initial move, given what developers are becoming accustomed to in the open source world with tools such as Eclipse and Apache, among others.
"One of the things that makes Eclipse so powerful is there are so many external committers that a tremendous amount of defects get fixed in a very rapid time frame," Hammond said.
Still developers are ultimately going to want to be able to modify the .NET code and Hammond believes .NET developers are going to expect that over time. Yet the move should at least ease the bug fixing process, he said.
"When you have a bug and that bug gets traced to commercial software product, you can report the bug to the vendor but then you are pretty much out of luck until the vendor comes back with a solution," he said. "With this you can debug into that source, you can figure out why your having a problem, and a) maybe you work around it yourself, or b) be very specific when you give Microsoft feedback in terms of a defect that's impacting your ability to work."