Busy times, as we head to the Windows Server / Visual Studio launch – who knows what else we are going to announce… (smile) What is today’s story? Well we are announcing that later this year, with the RTM of Visual Studio 2008, we will make available the source to much of the .NET Framework Libraries under the Microsoft Reference License for browsing.
What does this mean. Well pretty much that that “anyone” who accepts the license will be able to browse and view source code. The set of libraries initially includes the Base Class Libraries (System namespace, IO, Text, Collections, CodeDom, Regular Expressions, etc), ASP.NET, WinForms, and WPF . Microsoft will add to this list as time goes on.
Why are we doing this? Well the intention by releasing these libraries is to provide transparency and allow developers to more deeply understand the inner workings of the source code. Developers who better understand the source code will be more effective in writing software. We may release additional libraries along the way, who knows…. maybe some unmanaged code too.
People will access the code in two ways
1) They will download a package with all the source, and then they will be able to install and browse locally
2) VS 2008 integration will enable developers to debug from their own source code into the .NET Framework source code. We’ll provide symbols for our source on our web source-server to provide an amazing experience for developers.
So how are we releasing this? We are releasing the source code for .NET Framework base class libraries under the Microsoft Reference License, which is available here: http://www.microsoft.com/resources/sharedsource/licensingbasics/referencelicense.mspx . This license allows viewing of source code, but importantly, not copying or re-compiling.
A lot more information at Scott Guthrie’s blog together with more screen shots.
But as an example of the integration with Visual Studio, here is the binding of the symbols in the designer and the screen shot below shows the browsing of one of the web controls ( which is part of the framework ).
Looking forward to use in day by day development life this new stuff, quite big step for MS to help the .NET community, to build more reliable code and more efficiency in development lifecycle.