Since Wednesday's announcement by Microsoft that it will publish the source code for major parts of the .NET Framework, there has been a lot of press and commentary. Much of the press was positive and much of the commentary negative.
My own quotes were part of the positive press. Specifically, I corresponded at length with Darryl Taft of eWeek, resulting in quotes in the article “Microsoft Reveals .Net Source Code” and with Mary Jo Foley, which resulted in a quote in her blog post on the subject.
Much of the negative commentary focused on how by publishing of the Framework source under their Reference License, Microsoft has prevented the Framework code from being truly Open Source. Other commentators went further, and surmised that Microsoft has published the source for reasons of entrapment: essentially, by allowing people to see the source, Microsoft could then pursue developers involved in Open Source projects, including Novell’s Mono, who might be “influenced” into writing similar code and introducing it into these Open Source products.
With my own opinion and bias well-known and documented, I still feel compelled to respond. I do this because I fear that while some of these criticisms may be, technically, true, they are quite beside the point. So here goes…
First, to the point that Microsoft is not releasing .NET Framework source code into a true Open Source vehicle: you are 100% correct. There is nothing new here. Except for the relatively small set of code that Microsoft releases under its “permissive” license, it is not an Open Source company, does not especially believe in the Open Source model, and does not view non-adherence to Open Source conventions as a failing, a compromise, or a cop-out. Rather, it views what we might call “exposed source” as a learning tool, and a development aid. Specifically, in the case of the .NET Framework source and Visual Studio 2008, the main scenario for using the source will be to aid and ease debugging of .NET applications. Think Microsoft is being a tease? Nope. You’re just just mis-reading her signals. Go proposition another girl.
Second, to the point that Microsoft may be luring Open Source developers into copyright infringement: (a) you’re ignoring history, and (b) you’re confusing Microsoft with a monolithic organization. Allow me to elaborate on both points. (A) Microsoft has been releasing source code since the early 90s, including that for its C/C++ compiler and its MFC and ATL frameworks for Win32 (Joel Spolsky speaks to this quite authoritatively in another Mary Jo quote here). (B) There really are people at Microsoft who are hostile to Open Source and even somewhat vindictive toward its proponents. Thing is, Scott Guthrie, the person who pushed for and announced the release of the .NET Framework source code, isn’t one of them. Scott is a no-nonsense guy whose main concerns are developer satisfaction and technical excellence. It was also Scott who worked with Novell and Miguel de Icaza, to make “Moonlight” (a Linux/Mono version of Silverlight) a reality, and to endorse it rather than relegate it to renegade status. Scott was also a driving force behind ASP.NET which of course requires Windows on the server, but works with most any browser and OS on the client.
Let’s be real clear: worst case, things became no worse after Wednesday’s announcement than they were before it. Best case, they became a lot better. And I would encourage even the most ardent Microsoft critic to consider the latter opinion. It’s a fairly safe bet that Scott Guthrie overcame internal resistance at Microsoft in order to release the Framework source. He likely needed to convince people who felt strongly that exposing the source would be putting intellectual property at undue risk. Scott probably needed to present a business case that showed how the developer gains and their positive impact on Microsoft's business far outweighed the risks of IP theft. So if you want Microsoft to be more Open and less “evil,” you’ll want people with Scott Guthrie’s mind set to be successful, and you’ll want to support his initiatives. If you want Microsoft to stumble, that’s fine too. But if so, it becomes difficult to argue issues like this on the merits, since that viewpoint can lead to predetermined conclusions.