Microsoft's Visual Studio .NET has always been an industry
leader in providing a programming and debugging environment for numerous
languages including Visual C++, C++/#, J/J#, Visual Basic, and many more.
However, despite the general good sentiment about the product, Microsoft was
oft criticized for not revealing the source code to its libraries.
Now Microsoft is taking steps towards open sourcing its code and finally is
letting developers peek under the hood as it releases the source code to the
various .NET component libraries. The move is detailed
on the blog of Scott Gu, a Microsoft employee.
Scott Gu and his team have been hard at work to provide coders with access to
.NET Framework Libraries source code and allow them to debug this source code
in Microsoft's upcoming .NET 3.5 and VS 2008 releases.
The initial release will contain source code for the .NET Base Class Libraries
(System, System.IO, System.Collections, System.Configuration, System.Threading,
System.Net, System.Security, System.Runtime, System.Text, etc), ASP.NET
(System.Web), Windows Forms (System.Windows.Forms), ADO.NET (System.Data), XML
(System.Xml), and WPF (System.Windows).
In later months the source code for other remaining libraries will be released
as well, including WCF, Workflow, and LINQ.
The .NET libraries will be available to be free downloaded and browsed, and if
you own a copy of VS 2008 it will provide special debugging for them.
Owners of VS 2008 will be able to download .NET source code debugger symbols
from a Microsoft server.
When you debug a .NET application and hit a breakpoint in your code,
you'll now be able to see a debugger call stack. This stack will contain
detailed file and line number information for the .NET Framework classes and
methods in your application.
Before, developers were unable to go deeper on system calls such as
.DataBind(). Now they will be able to use F11 to step into these methods
and explore them. Better yet, you don't need to have the source files
downloaded for the particular library. With an internet connection, when
you hit one of these debug points and step into it, if you don't have the file
already, VS 2008 will go and get it for you from Microsoft's servers.
From the debugger you will be able to jump between source code calls at will
simply by clicking through the call stack.
This development is significant for those in the software industry, as it
represents a major admission on Microsoft's part of the benefits of open
source. It should have a twofold effect of both helping developers better
understand the code they are working with and also allow developers to help
Microsoft in spotting bugs or shortcomings of their current
implementation. This certainly seems like a move in the right direction