# Open Source: The .NET Framework

| by James Vastbinder 0 Followers on Oct 03, 2007. Estimated reading time: 2 minutes |

Back in 2000, rapper Eminem released a parody song titled, "The Real Slim Shady".  At the time it was meant to be a parody of manufactured pop songs that were prevalent in the pop music world.  The irony was that most listeners and fans missed the song's true intent and heralded its novelty.  Today, Scott Guthrie announced with the release of .NET 3.5 and Visual Studio 2008 Microsoft will release the .NET Framework source code under the Microsoft Reference License.

In Scott Guthrie's own words:

We'll 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).  We'll then be adding more packages next year.

Developers will be able to download the source libraries as a standalone install or can have Visual Studio 2008 download the libraries dynamically as needed.  An advantage to using the dynamic download will allow Visual Studio to match source files with the particular version of the .NET library a developer has installed on their machine.

On the reasoning behind this move Scott elaborates:

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.

In a recent eWeek article, Peter Galli postulates that Open Source is the largest disrupter the software industry has ever seen.  To base his opinion he begins by quoting large numbers from Gartner.

• Open Source software captured a 13 percent share of the $92.7 billion software market in 2006. • Open Source should account for 27 percent of the market in 2011 when revenue is expected to be$169.2 billion.

How will this happen?  He goes on to quote Gartner's Laurie Wurster:

Open-source software is going to erode proprietary sales revenue by offering less-expensive or free alternatives, expanding the total market potential by meeting the demands of SMBs for affordable solutions, and creating a new business model for established and emerging service providers to provide selection, customization and management services for open-source solutions

How will the .NET and Open Source communities respond to Microsoft's announcement?  Is this an evolutionary step or a revolutionary act within the Software Industry?

Style

## Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

## Get the most out of the InfoQ experience.

### Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

good move

I'm very glad to see Microsoft providing the source code .. I found .NET (i.e. C# development) to be very painful without having the sources for the platform.

This won't pacify "free software" supporters, but it will definitely help developers working on .NET.

Kudos.

Peace,

Cameron Purdy
Oracle Coherence: Data Grid for Java and .NET

Having the source code really does help with debugging. Not having them is a pain. glad to see MS move in a positive direction.

interesting....

MM... Evolutionary I think, but good news nonetheless. As far as I can see, the reference license is not really "giving" anything away -- the libraries are now simply a white box instead of a black box. Nobody is going to be surprised at how an InputStream or List is implemented I think. The real value is in their VM implementation (which is not open I think).

<tinfoil_hat>This could actually help them control their IP because now they can say 'look! person x copied our code which is not allowed under the reference license!'</tinfoil_hat> Not that that is their intention, but don't they actually gain a certain amount of protection by making the code publicly visible but not copyable?

Will it help in keeping bugs out?

From the open source community in Java, we have come to know the openess of the sources to also make it possible for users to discover and fix bugs ourselves. I am wondering:

1) Will we be able to build the libraries from the released sources (with own fixes/workarounds)?
2) Will M\$ be accepting input in a structured manner and fix bugs, the users discover and fix?

Is .NET open source now? I don't think so.

Well, open source means you can easily access a .tar or .zip of the code. Microsoft's effort is a bit more cumbersome. Is .NET open source now? I wouldn't call it that quite yet. This is the first step on a much longer journey. I posted a detailed opinion here for any one interested:

www.whurley.com/blog/2007/10/opennet-microso.html

-whurley
whurley.com

Re: Is .NET open source now? I don't think so.

No, of course it's not really "open source". The reference license makes that clear. It's "white box" instead of "black box" - but it's still in a box.

You can only view the code, not change it. If you can't change it, why would you need a way to build it? :) (Rhetorical question)

Is being able to see the code behind glass better than not being able to see it at all?

Re: Is .NET open source now? I don't think so.

Is being able to see the code behind glass better than not being able to see it at all?

Yes. :-)

Peace,

Cameron Purdy
Oracle Coherence: Data Grid for Java and .NET

Beginning of the end for Reflector?

There goes Reflector....

Peace (indeed!)

Brian

Re: Is .NET open source now? I don't think so.

Is being able to see the code behind glass better than not being able to see it at all?

Yes. :-)

Peace,

Cameron Purdy

Yes, yes!

I remember loving Delphi having full source code and finding it essential to understand how to extend components (GUI mainly) and lament the limitations of the data controls, etc.

Firstly, the white box will be especially useful for vendors of third party controls and libraries. (There is a danger that you might end up relying on implementation artifacts you discover by inspecting the code, but which change in the future.)

Secondly, the white box will help developers learning class libraries and picking up coding ideas too.

Curious about what the reference license fully entails regarding seeing how some code works and then adapting it (if only partially) for your own use...

Re: Beginning of the end for Reflector?

No way! Its browsing and xref-capabilities are way beyond Visual Studio. Plus, there will always be stuff without source. What we really need is a version of Reflector that can access the source codes where they are available, and integrate them with its superior metadata browser.

Re: Beginning of the end for Reflector?

I agree about the Reflector comment. .NET libraries never have really been black box for those who searched a bit. Reflector is showing implementations since .NET 1.0.

What is great with this anouncement is that we won't have to guess what is the use of variable named number1. Also, having comments may surely help to get new ideas!

Providing Source DOES NOT mean Open Source by Hao Shen

HA... May be one day, MS would, BUT not this time .Claiming Source DOES NOT mean Open Source. If MS OPEN his source, you still call him "MicroSoft"? NO, MS stands for commercial software!

Re: Providing Source DOES NOT mean Open Source

HA... May be one day, MS would, BUT not this time .Claiming Source DOES NOT mean Open Source. If MS OPEN his source, you still call him "MicroSoft"? NO, MS stands for commercial software!

What are you talking about? They really did open source. .Net source was open since Reflector, now it's just officially open for curious people.
You can see whole source code of .Net, nothing is hided from you. You can actually observe how .Net source code talks to winAPI !! It's not deep enought for you? What else do you want?

Ofcause you can't just take and recompile .Net framework, but what would you need it for? It wouldn't be reusable after that, since you would need to distribute it to any computer you are going to use it on.
No doubt Microsoft does want to keep their products under full control, but so what??? They do it not just for money, it's more for monopoly, you know :). .Net starts being world standard, if already isn't. Don't you think it's nice to know that .Net will not just disappear or nether will slightly changed after few years, and you will not waste your time learning it?
Close

#### by

on

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

13 Discuss