The company Wednesday announced it would later this year be making the source code of the .Net Framework available for viewing, though not for editing.
"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."
The debugging system won't require an installer; one feature of Visual Studio 2008 when it ships next year will be the ability to download a la carte .Net Framework source code from a Microsoft-hosted server on the Internet that will download code as needed to check for points where an application breaks.
The code, which should be released around the same time as Visual Studio 2008, will initially include the .Net Framework Base Class Libraries, ASP.Net, Windows Forms, ADO.Net, XML, and Windows Presentation Foundation. Eventually, according to Guthrie, Microsoft will make the whole of the .Net Framework available to skim. It's uncertain whether that means Microsoft also intends to eventually open source parts of the company's cross-platform browser plug-in, Silverlight, which contains a trimmed down version of the .Net Framework, or of the .Net Micro Framework for mobile devices.
Microsoft will release the .Net Framework under the limited use Microsoft Reference License, one of a number of "shared source" licenses from Microsoft. The Microsoft Reference License will let people look at the .Net Framework's code as a read-only reference in order to maintain and debug software they've written "and specifically excludes the right to distribute the software outside of your company," according to Microsoft.
That's rather restrictive use, and could raise eyebrows in the open source community, especially if Microsoft tries to pass it off as some form of open source. Microsoft has submitted a few of its shared source licenses to the Open Source Initiative for approval, thought the OSI has reportedly expressed concerns over the terms of those licenses. Meanwhile, the license could be seen as a measure against efforts like the Novell-led Mono project, which is working on open source implementations of parts of the .Net Framework. Others, like DotGNU's Portable.Net, are also available.
Still, it is a sign that some sort of transparency might be taking root in Redmond: the .Net Framework has been entirely closed source until now, with little more than a peak at specs for parts of it. Microsoft has already released other developer code to the public, including the Shared Source Common Language Infrastructure, an open specification describing part of the core code of the .Net Framework, as part of its CodePlex initiative.
"We're building essentially a platform for this," Shawn Burke, a Microsoft director of .Net, said in a conversation between Burke and Microsoft senior program manager Scott Hanselman posted on Hanselman's Web page. "Groups across Microsoft now have the option if it makes sense for their business to release source in a reference model for developers."
That may not happen for a while. However, if nothing else, the release of this code should help developers debug applications and better understand how to develop code against the .Net Framework because they'll be able to sift through and compare their code with the underlying source of the .Net Framework itself.
Achieving Successful Coexistence Between Notes and Microsoft Platforms
Learn about the key migration and coexistence challenges youżll face when considering migration from IBM Lotus Notes to Microsoft Exchange and Microsoft SharePoint Server. Get best practices for planning and executing a successful coexistence strategy, and discover how you can ensure seamless coexistence between the Lotus and Microsoft environments.
NOTE: Offer valid for U.S., U.S. possessions, & Canada only.