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 rolls out real-time search, Near Me Now, extended personalization

Over time, searches from PCs and mobile phones will grow even "more personalized." But what about user privacy and search results that give you "the truth"?

Intel's marriage of CPU and GPU not ready for prime time

Although there will be an Intel component this month that can compute and plot in parallel, Betanews was told today, it won't be based on Project "Larrabee."

An alternative to Research in Motion's enterprise e-mail? There's an app for that

Good Technology today released an iPhone app compatible with its enterprise e-mail solution.

Playing catch-up in 2010: Windows Mobile, BlackBerry, and Symbian

Microsoft, RIM, and Nokia are each working on improved mobile operating systems. But could these efforts add up to too little, too late?

Google Goggles: Hands on with the Shazam of the Real World

Google today unveiled Goggles, its visual search lab for Android devices that identifies objects by sight.

Microsoft: Windows 7 Family Pack wasn't 'pulled,' it just sold out

If you hurry, you may still be able to find the last Family Pack upgrade editions hanging around retail store shelves, but probably not so much online.

Clever iPhone game returns after being bumped over a name dispute

The game's simple concept and multitude of platforms and puzzles manage to pull off a retro, 8-bit style that's reminiscent of an old Atari game given a modern makeover.

Report: Microsoft to randomize Europe's browser screen choices

The fact that "A" is for "Apple" was apparently at the heart of browser vendor objections to Microsoft's alternative to listing IE first.

Will Nokia's plans further alienate American consumers?

A look at Nokia's plans for the coming years does little to shine up the company's increasingly dull image.

Bing bonked by service outage Thursday, Microsoft configured the wrong server

It's always nice to have a backup, but it's even nicer to remember which one is the backup. That's the lesson Bing's admins learned yesterday evening.

Survey reveals there are more women than men, including on social networks

If you think you can market your products and services online as though you're selling car batteries in the middle of halftime, think again. And again.