Microsoft is releasing its .Net Framework libraries under the Microsoft Reference License, which allows viewing of source code but not modification or redistribution.
The release lets developers better understand the inner workings of the framework's source code, Redmond said. Microsoft's efforts fall under the company's Shared Source initiative, which allows for sharing of source code; Shared Source has been viewed as Microsoft's answer to open source.
Also, Microsoft will allow .Net Framework developers to debug .Net Framework source code in the upcoming Visual Studio 2008 developer tool set.
"One of the things my team has been working to enable has been the ability for .Net developers to download and browse the source code of the .Net Framework libraries and to easily enable debugging support in them," said Microsoft's Scott Guthrie, general manager in the Microsoft Developer Division, in his blog.
"Today I'm excited to announce that we'll be providing this with the .Net 3.5 and Visual Studio 2008 release later this year," he said.
The initiative begins with offering source code with source file components for the following technologies:
- Net Base Class Libraries (including System, System.IO, System.Collections, System.Configuration, System.Threading, System.Net, System.Security, System.Runtime, and System.Text).
- ASP.Net (System.Web).
- Windows Forms (System.Windows.Forms).
- ADO.NET (System.Data).
- XML (System.Xml).
- Windows Presentation Foundation (System.Windows).
"We'll then be adding more libraries in the months ahead, including Windows Communication Foundation, Windows Workflow, and LINQ (Language Integrated Query)," Guthrie said.
"Having source code access and debugger integration of the .Net Framework libraries is going to be really valuable for .Net developers," Guthrie said. "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."
"You'll be able to download the .Net Framework source libraries via a standalone install (allowing you to use any text editor to browse it locally). We will also provide integrated debugging support of it within Visual Studio 2008," said Guthrie.
Microsoft's efforts were mostly applauded on Guthrie's blog.
"This is one of the coolest things I've ever seen Microsoft do," one commenter said. "Very, very awesome."
"I think this is a really positive step forward," said another commenter.
"I hope to see a fully open-source .Net Framework in [the] future. Today we have moved closer to that," one respondent said.
But an industry analyst said the move was a bit late.
"Just on the surface, it doesn't hurt anything," said Greg DeMichillie, analyst at Directions on Microsoft.
"What would have been a ground-breaking move seven or eight years ago now in the world of open source is not all that earth-shattering," DeMichillie said.
The final release of Visual Studio 2008, which is due later this year, will support the ability to configure the debugger to dynamically download the .Net Framework debugger symbols and corresponding source code from a web server hosted by Microsoft, said Guthrie. Symbols will be downloadable in one swoop or manually retrieved on demand.
Visual Studio 2008 also will include support to automatically retrieve .Net Framework source files on demand from Microsoft. This means source code for the ASP.Net GridView and BaseDataBoundControl classes cited by Microsoft do not have to be already installed on the machine before the debugger is started.