Microsoft Makes .NET Framework Source Code Visible Under License

By Scott M. Fulton, III | Published October 3, 2007, 4:14 PM

As part of an effort to make debugging code at the granular level more feasible with its new Visual Studio 2008, Microsoft today said it will be making the source code for its .NET Framework available under its royalty-free, "read-only" Reference License.

Why would Microsoft want to reveal the inner workings of .NET without allowing others to contribute to it? The answer may be self-evident to developers who work on a daily basis with the problem of examining program behavior, especially using Visual Studio's common tools like breakpoints and watches (alerts which pop up under certain specified conditions).

In a fully illustrated demonstration for his Microsoft blog, .NET programmer Scott Guthrie shows how the debugging process is enhanced once Visual Studio has access to the .NET Framework's source code. As the demo shows, the debugger of a .NET program frequently encounters situations where a thread passes execution to a method handled internally by the .NET runtime. Historically, whatever took place there was "behind the curtain," out of sight of the programmer until execution re-emerged and re-entered local code.

With VS 2008, debuggers will be able to follow execution behind that curtain, with the IDE dynamically downloading just the symbols it needs from the .NET source code directly from Microsoft's servers, at the time it needs those symbols.

So for example, after you've set a breakpoint with the F9 key, you can use F11 to step program execution into the public methods of the .NET Framework at the symbolic level. There, you can see what's happening using C# instructions, and keep track of changes it makes to data under watch, on a line-by-line basis.

Of course, there's an alternate theory being floated which deals less with practicality and more with conspiracy. By making source code open for "examination" but not "use," this theory goes, Microsoft is attempting to befuddle the issue of what "open source" should rightly mean.

As eWeek's Steven J. Vaughan-Nichols suggests, with knowledge of .NET's intricacies out in the open, Microsoft could eventually claim that programmers of Mono - a .NET work-alike project for multiple platforms - stole ideas from .NET directly instead of innovating on their own, for what he calls "doing an SCO."

But as Guthrie claims, Microsoft's motivation here is not nearly so sinister. "Having source code access and debugger integration of the .NET Framework libraries is going to be really valuable for .NET developers," he wrote this morning. "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."

Comments

View comments by with a score of at least

I am a developer and I VERY welcome this effort from Microsoft.
This is going to help everyone IMHO.
Developers will get a better grip on the code that was previously hidden in a "black box". And, they should be able to improve themselves by studying of the code written by highly skilled Microsoft developers.
Microsoft is going to benefit from it by receiving comments, ideas for improvement and bug fixes from the development community. However, the number of responses may become overwhelming and good ideas may not get noticed...

Score: 0

|

This isn't really much different from what is done for other platforms, why haven't the symbols been available all along?

Score: 0

|

Oh btw, why exactly do you need to get the symbols over the Internet on demand, rather than downloading them all once?

Don't tell me that they're going to end up using this as a way to monetize .net through MSDN subscriptions, e.g. making the service only available to subscribers at some point...

Score: 0

|

Did you bother to click your mouse one time and read the actual Microsoft announcement which is linked from this BetaNews article? It states that there will also be a full download available.

Score: 0

|

I'm kinda thinking MS is going to work it where you push a button when you find a bug and it sends your code to them and where it's breaking in .NET

Also, making their development world available on other platforms could maybe be their way of getting what they can in terms of leverage on the OSS/Linux world. Their big money is on the Office suite and the various server products that sit on Windows Server OS, not the OS itself.

Score: 0

|

Microsoft could eventually claim that programmers of Mono - a .NET work-alike project for multiple platforms - stole ideas from .NET directly instead of innovating on their own, for what he calls "doing an SCO."
----------------------------------

Ok, this part is going a bit crazy in assumption. MS has been recently working with the Mono team to help get .NET working on OSS. Not only for Silverlight, but so other MS .NET frameworks are cross platform.

Why on earth would anyone expect MS to pull an SCO, when they are already helping these people?

Score: 0

|

Microsoft could allready make this claim. Its been possible to read the .NET core source code with the Reflector program for years. (The assemblies are not scrambled so they can be coverted right back to thier original source code state.) So thats not really new. THe new part is that is can be done in the VS debugger and that you can also see code comments, which is nice.

But to say that MS is doing this to be able to sue Mono or the like is stupid beyonfd anything i have heard in a long time.

Score: 0

|

Is this different then the Library SDK we get in the version of Visual Studio .NET academic?

For some reason I think we could always do that. maybe they are just allowing us to do it easier now... I know I used to step into the DLLs from .net framework on function calls and being able to see how MS coded some things...

However.. hummm I am not sure if I saw everything now or just the calls now that I am rereading that paragraph... Interesting...

Still I think MS is TRYING to make an effort to open up a little... But like some say its certainly not the Open standards we come to expect in a linux environment...

Score: 0

|

I've read the announcement. I've read the license text. At no point does Microsoft ever claim that this is "open source" or even meant to resemble an "open source" model. Only Steven J. Vaughan-Nichols, with a chip on his shoulder, wants to pick a fight. This is clearly an improvement which will benefit people. Arguing otherwise is simply stupid.

Score: 0

|

Yes, it's an improvement. But you can't really blame people for being extra careful when it comes to Microsoft, which established a clear pattern of far from honorable behavior over the history.

Score: 0

|

Google Chrome 4: Yes, it's fast, but is it usable?

As Betanews readers have responded to our stories about Chrome's JavaScript superiority...Does that mean we'd actually use this browser? Well...

Video: Netflix on PlayStation 3

Netflix has come to the PlayStation 3 via Blu-ray and BD-Live.

Verizon Wireless launches new Android, Chocolate, and ruggedized phones

The lower-priced Eris joins the Droid, while the Chocolate gets a touchscreen and more music playback.

Early sales figures for Windows 7 nicely high, but do we know why?

Fans of triple-digit surges in figures quoted by Betanews will love this one, as it appears Microsoft rediscovered how to pull off a software launch.

Myka announces its latest Linux-based 'net top box'

Myka's ION brings Boxee, XMBC, and much more to HDTVs.

What hath Mac wrought? A remembrance after a quarter-century

The reason there's a Macintosh today is not because of some brilliant flash of engineering genius, but because Apple had the audacity to learn from its mistakes.

Early build of Moblin 2.1 improves connectivity, but not device support

The Linux Foundation's Atom-centric OS yesterday received a major overhaul with the project release of Moblin 2.1 for netbooks and nettops.

The iPhone's China syndrome: Sales of 5,000 and climbing

There's actually a country where Apple's device is not a godsend, where sales can be measured in the dozens.

New European counterpart to FCC will ensure 'a more neutral net'

Late Thursday night, the ruling telecom administrators of the EU's member nations signed away their final authority to a new entity overseen by the EC.

Sophos study suggests Windows 7 UAC's default setting is self-defeating

Without any anti-virus installed, a Sophos test showed, User Account Control was only capable of thwarting just one malware package out of ten samples chosen.

Indiscreet tweet trips awareness of Web SSL vulnerability

A group of high-level security engineers had been making progress on thwarting a low-level threat to the Web, until somebody blurted it all out on Twitter.