Microsoft is pushing open source

Before I begin, let me clarify a few points so you are aware of the context of this post:

  1. I currently work for a Microsoft Gold Partner, have been contracted to Microsoft (through my employer), and spoken at TechEd.
  2. Before that, I worked for a company that used almost solely open-source software and developed software for it. I also did work with the Shuttleworth Foundation at the Linux Days event.

So I have been on both sides of the fence.

Now, on to the content...

Go anywhere near Slashdot and mention Microsoft, and you will get at least a few zealots who complain about its attitude/actions toward FOSS (Free and Open Source Software). Well, I am not going into the free part, since until I can live without money, making everything free doesn’t help. And there are many people in the traditional OSS community who do make money (Red Hat, Novell, many Linux contributors, etc.), so I guess I’m not alone in this view.

But many people bring up the open-source side, which makes less sense to me. Microsoft does have this shared source—some special license for special people—but that doesn’t fit with true OSS, where anyone can access it. So I’m not including it.

Microsoft has Port25, their public front for their internal open-source lab, which has some interesting information, but it doesn’t really push OSS.

There are also a few "sponsored" projects on SourceForge and the now-defunct CodePlex. Neither of these pushes OSS as part of major projects. So while beneficial, they aren’t big enough.

So what doesn’t make sense to me? Simple: the .NET framework is completely open source. All of the .NET assemblies are in source code (IL) all the time, and thanks to reflection, they can be transformed into a convenient language of choice for the viewer. Since .NET is Microsoft’s big push, the new core of their systems will be open source.

This can be seen currently with their applications built on top of it—like Microsoft CRM, which has all their assemblies in .NET and can all be opened and viewed.

Microsoft CCF is even further advanced, including some applications in .NET (like the admin console), but the bulk is available in direct source code. BTW, neither are obfuscated in any way, so there is no attempt to close this source.

Agreed, the core money makers (Windows, Office, etc.) are still closed source, but how much of that is legacy versus how much is based on the choice of language tool (C++ Win32 vs. .NET), and how much of that is specific plans to close off the source? I can’t say—and no one outside the core executive at Microsoft could say, either.

But the argument that Microsoft doesn’t get it is just wrong. They do get it and, probably, more than most of the zealots mentioned earlier, since they have figured out how to use it strategically.