The World’s Leading Microsoft .NET Magazine
   
 
The .NET Addict's Blog

My Top Tags

                                                           

My RSS Feeds








I heart FeedBurner

Latest Diggs - Programming

Computers Blogs - Blog Top Sites

Site Hits

Total: 2,817,121
since: 19 Jan 2005

Microsoft is releasing the source code to the .NET Framework - my cynical reaction

posted Thu 04 Oct 07

Before I start my conspiracy-theory induced rant, I want to say this first:

The ability that I will have to debug code within Visual Studio 2008 will be unprecedented. Why? Because now instead of having to use third party tools to dissasemble Microsoft libraries so that I can get a deep stack trace and figure out exactly where something blew up so I can find out what information I passed incorrectly, or what edge case I didn't know about - now that source code will appear automatically within Visual Studio 2008, on-demand, when the error occurs. This is fantastic, and has long been one of my pet peeves of writing code on the .NET Framework.

Now for the rant:

Anybody who thinks that Microsoft is doing this out of the goodness of their heart is delusional. Microsoft may be responsible for some of the coolest development stuff to ever surface on this planet (.NET included, especially some of the new data stuff like Astoria/EDM), but that doesn't mean their motives are pure of heart. They don't have to be. The game is all about making money, and destroying the competition any way possible.

Let's take a look at some interesting facts that might tilt you toward my cynical way of thinking:

  • The mono project started up a while ago, promising a cross-platform version of the .NET Framework. Microsoft dismissed them, with good reason - only implementing small chunks of the BCL really posed no threat to MS ownership of .NET.
  • The mono project suddenly gets a crapload of momentum when Novell injects some funding and life into the project.
  • Miguel de Icaza becomes a Novell employee
  • Microsoft creates Silverlight, a fantastic new "killer app" technology that allows .NET developers to write Rich Internet Applications in .NET that will run on multiple platforms, including Mac OS X.
  • The mono project people create Moonlight, and they do it in a matter of weeks. Moonlight is the mono equivalent of Silverlight - it doesn't require the mono runtime, but it will run C#, will support LINQ, and will run cross-platform on OS X and Windows and Linux.
  • The biggest reason why people are not adopting Mono instead of the Microsoft-owned .NET Framework is because Mono lacks production-quality support for:
    • WPF
    • WinForms
    • ASP.NET
  • Microsoft now, out of the goodness of their hearts, agrees to publicly disclose the source code to the .NET Framework BCL, including WPF, Windows Forms, and ASP.NET. The publicly disclosed source code is licensed specifically such that it cannot be used commercially the same way you can't use code from the Shared-Source version of the CLR.

Now, if you are a die-hard cynic like myself, you're thinking that this is a brilliant strategic maneuver by Microsoft. At first, Microsoft is going to shut up a lot of whining Open Source people who claim that MS is just a big closed system. At First. If you ask me, the real reason for them releasing this source code is to make it more difficult for the mono project to create replicas of WPF, WinForms, and ASP.NET. With the source code available for all to see, it is far easier for Microsoft lawyers who might potentially engage in law suits in the future to claim that the people working on the Mono project stole their WPF code or their WinForms or ASP.NET code from the public BCL instead of building it on their own.

If you asked me what's the #1 reason why I insist on running all my back-end production code on Windows Server 2003, the answer is simple: .NET. I can run my ASP.NET code on it, I can run all my other .NET code on it. Period. What if, let's just say, Mono suddenly became as feature-complete as the regular .NET Framework. You think Microsoft wants to start losing server business (where it makes all of its real money...) because a bunch of .NET developers decided to run Linux .NET instead of Windows .NET?

You might be thinking I'm on crack, but I'm on crack like a fox. Trust me, this public BCL stuff is a strategic chess move by Microsoft and nothing more.

tags:        

links: digg this    del.icio.us    technorati    reddit




1. Kevin Hoffman left...
Thu 04 Oct 07 7:23 am

The microsoft reference license (the license under which the BCL is being released):

The Microsoft Reference License (Ms-RL) is the most restrictive of the Microsoft source code licenses. The license prohibits all use of source code other than the viewing of the code for reference purposes. The intent of this license is to enable licensors to release, for review purposes only, more sensitive intellectual property assets. --- How hard is it going to be for the mono project to prove that any contributions related to WPF, ASP.NET, and WinForms after this public release weren't influenced by source code under the reference license?


2. Tim Binkley-Jones left...
Thu 04 Oct 07 11:46 pm :: http://www.exotribe.com/appliedmagic

I'm happy, yet cynical as well. However I disagree that this is a challenge to the Mono project. A future implementation of WPF or the existing implementations of WinForms and ASP.NET are built on completely different technologies (i.e. GTK+ vs. the Win32 API) and the resulting code is necessarily different enough from Microsoft's implementation as to not be a problem.

This move is likely driven by the US and EU anti-competitive rulings. How could the blue monster be hiding anything from competitors when the source code is available?


3. Caleb left...
Fri 05 Oct 07 1:32 am :: http://www.cebla5.spaces.live.com

I was under the impression that Microsoft actually helped with the development of moon light in partnership with Novell


4. Damien Guard left...
Fri 05 Oct 07 3:32 am :: http://damieng.com/

Given that is so easy to see the psuedo-source using Reflector I can't imagine having the real source out there gives Microsoft any better legal defence for claims of plagiarism.

But it will certainly be useful with debugging.

[)amien


5. James Gregurich left...
Fri 05 Oct 07 11:10 am

This will allow the mono folks to more easily reverse-engineer .NET libraries. Having the source code will allow them to make Mono more compatible faster. It will greatly benefit MS developers as Darwin benefits mac developers and probably lead to greater adoption of .NET.

In terms of pushing .NET usuage, it is a great move. But, will it sell more copies of Windows in the long term? I doubt it. A well-running Mono project opens the door to companies replacing Windows servers with Linux or Unix machines. If MS is going to remove the barrier to dumping Windows, they better get on the ball and start innovating and fixing their problems or Linux will do to them what it did to Sun.

-James


6. Kevin Hoffman left...
Sun 07 Oct 07 5:18 pm

James..if a mono programmer accepts the license by looking at the code, Microsoft can claim that the mono project has been stealing IP. Folks on the mono project can reverse engineer the code quite easily now using Reflector. If anybody on the mono project signs the license (they must agree to it in order to see the source code to .NET) then Microsoft can attempt to claim that the mono project stole code from them and tangle them up in legal battles.


7. James Gregurich left...
Tue 09 Oct 07 12:04 am

surely there are ways for a saavy person to work around that.


8. Kevin Hoffman left...
Tue 09 Oct 07 9:12 am

No doubt there are ways for savvy programmers to work around it, and anyone with a decent knowledge of licensing schemes will be able to find ways around it as well. I don't think MS intends to actually sue anyone, I think MS intends to impede competition through the threat/fear of legal action.

If people are suddenly able to run the full-blown 100% full-featured .NET Framework 3.5 sitting on top of MONO on a LINUX box ... then MS may find their server business slipping some.


9. James Gregurich left...
Tue 09 Oct 07 6:58 pm

.NET was a dumb move by MS overall. MS depends heavily on customer lock-in. They should have never set the system up so that it would be relatively easy to clone it on other platforms.

Now that they have gone this route, they are going to have to compete by innovating and staying ahead of the OS competition. Political and legal games aren't a long term solution to their monopolies eroding.

I've had the same basic thought on Java. I've never understood the business model for Java...how does this tool benefit Sun? All I see is that is has allowed their customers to slip away to cheaper alternatives.

MS followed Sun into the same nonsensical business model for developer tools. Its only a matter of time before Linux and Mono are "good enough" and Windows starts losing server share to Linux as Sun did.


10. Andrew left...
Sat 10 Nov 07 12:23 am

Holy crap you come up with some doozies. There are many ways in which mono is a benefit to MS. Do you *really* think MS want stamp out mono? Seriously .. it makes no sense. The damage to their reputation amongst the community would not be small (developers, developers). They are pobably the most watched company in the world over anti-competitive practices, as a result in many cases they are now one of the most open IT companies. There's little to no blog cencorship and they've gone a long way standardising their technology and playing fair with third party software.


Tag Related Posts

Smart, Deep Property Notifications in CLINQ v2.0

Tue 07 Oct 08 1:15 P GMT-05
tags:          

Microsoft's Lofty Direction

Sun 05 Oct 08 2:30 P GMT-05

MobileMe vs. Live Mesh Throwdown - Round 1

Wed 16 Jul 08 10:33 A GMT-05

MobileMe vs. Live Mesh - Round 1

Wed 11 Jun 08 12:20 A GMT-05

One Framework to Rule them All

Mon 25 Feb 08 6:49 P GMT-05

Microsoft Codename Acropolis - Unwrapped

Wed 20 Jun 07 3:22 P GMT-05
tags:              

Installing Orcas Beta 1 - VMware Style

Mon 23 Apr 07 12:16 P GMT-05

Orcas Beta 1 Released

Fri 20 Apr 07 7:09 P GMT-05

My Little Pony .NET Unleashed 2007

Fri 30 Mar 07 1:59 P GMT-05

Authorness

Thu 15 Mar 07 1:44 P GMT-05

Localizing a WPF Application

Tue 22 Aug 06 11:39 A GMT-05
tags:            

Is Windows Workflow Foundation Too Complex?

Fri 18 Aug 06 12:15 P GMT-05

Tech-Ed 2006 Day 1 - Registration Day

Sun 11 Jun 06 7:17 P GMT-05

Dan Brown's got competition

Mon 05 Jun 06 3:51 P GMT-05

Lambda Lambda Lambda

Sun 21 May 06 1:01 A GMT-05

The Adventures of LINQ (Not Zelda)

Fri 19 May 06 11:21 P GMT-05
tags: