Microsoft Reveals .Net Source Code

Microsoft will give developers a view into the source code but won't let them touch it.

Microsoft is willing to show its code but doesnt want anyone touching it.

Scott Guthrie, general manager of the Microsoft .Net Framework in Microsofts Developer Division, said that based on customer and developer feedback, Microsoft is releasing the reference source code availability for the .Net Framework under the Microsoft Reference License to give developers the chance to understand more about the inner workings of the frameworks source code.

Guthrie said the Microsoft Reference License allows viewing of source code, but not modification or redistribution. The source code will be downloadable and viewable by anyone who accepts the license agreement. Meanwhile, Microsoft, of Redmond, Wash., on Oct. 3 will also introduce a capability in Visual Studio 2008 to allow .Net developers who are debugging applications to debug not only into their own source code, but also .Net Framework source code using Visual Studio 2008.

The release of the .Net Framework reference source code falls under Microsofts Shared Source Initiative, which encompasses a spectrum of source-code offerings, complementing the companys other activities around sharing source code.

"A developer writing C# or VB [Visual Basic] can set a breakpoint in their code and then step into the library function and see our code," Guthrie told eWEEK. "The access to the source is nice, but the debugger integration is really nice. You dont have to manually configure anything."

He said the move to release the source code is part of Microsofts push toward more transparency.


Click here to read more about Visual Studio 2008.

"This is something weve been working on for a while, like what weve done with ASP.Net, AJAX [Asynchronous Javascript and XML] and our Dynamic Runtime Library framework, where weve exposed the source in different ways. Eventually, our goal is to open up all the libraries."

Andrew Brust, chief of new technology at Twenty-Six New York, a New York consulting and services firm, called Microsofts move "very bold and very smart."

"This will help developers and make them feel more secure," Brust said. "When developers can see what the underlying framework code is doing, they can debug more effectively. When developers know what the underlying code is doing, they feel better. All developers like to know whats going on under the hood...Its an agnostic mindset. Seeing is believing, and allowing developers to see is a great gesture of respect."

In addition, he said this move "will help Microsoft blunt at least some of the critique from the Open Source and LAMP [Linux, Apache, MySQL and Perl/Python/PHP] communities and their arguments of peer review strengthening the code base. Microsofts Reference License wont let people change the code, but they can easily verify its quality. They can also catch any gaps in quality, and that deterrence effect will add credibility to .Net."

Microsoft will provide developers with the ability to download and browse the source code with the .Net 3.5 and Visual Studio 2008 release later this year, Guthrie said.

In a blog post, Guthrie wrote that Microsoft will "begin by offering the source code (with source file comments included) for the .Net Base Class Libraries (System, System.IO, System.Collections, System.Configuration, System.Threading, System.Net, System.Security, System.Runtime, System.Text, etc.), ADO.Net (System.Data), ASP.Net (System.Web), Windows Forms (System.Windows.Forms), and WPF (System.Windows). Well then be adding more packages next year."

In addition, he said, "We will enable the .Net Framework Library source libraries to be downloaded via a standalone install (allowing you to use any text editor to browse it locally). We will also provide integrated debugging support for the .Net Framework libraries within VS 2008."

In summary, Guthrie said that "having source-code access and debugger integration of the .Net Framework libraries is going to be really valuable for .Net developers. 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."

Brust said the source-code access will be "a very good learning tool for developers. Seeing how Microsoft wrote the Framework code will help other developers write their code in a more congruent fashion and learn Microsofts techniques."


Check out eWEEK.coms for the latest news, reviews and analysis in programming environments and developer tools.