Wednesday, August 27, 2008

Reflector

I suppose that about fifty million people will have received the mail from Lutz Roeder explaining that he has sold or given the code for Reflector to RedGate software.

Personally, I am "gobsmacked" as they say in the UK that Microsoft hasn't done the right thing and paid Lutz handsomely for this system so that it could be included in Visual Studio as a tool. This isn't the first time I've been similarly gobsmacked at the stupidity of Microsoft when dealing with community projects of this type. The previous grave error on their part was to not buy nDoc for a decent price instead of proposing that P.O.S. Sandcastle as a viable alternative.

It seems to me that when it comes to community, Microsoft seems to have lost touch with what community is about. As a long time advocate of community and peer-to-peer education and assistance I believe strongly that some things used by the community are just too good to let fall into the hands of third-party entities that would exploit them in the wrong way.

I imagine that when Reflector was first seen, there were those in Microsoft that were aghast at the idea that all the source code of the framework became open to anyone who wanted to view it. I also remember it as a wakeup call to companies that had no protection for their own code. Despite this initial reaction, Microsoft never made an effort to obfuscate the system DLL's and now, I don't believe that a single developer on the planet who programs for Windows can get through the day without using Reflector somewhere.

As community projects or run by small entrepreneurs, a self-starter tool of such enormous impact as Reflector, nDoc or even nDepend, present no competition to to Visual Studio and do nothing but enhance it. When taken over by a third party, these tools immediately become looming compettitors that may adversely affect the market and reduce resources when Microsoft suddenly realises that they have to build competing functionality into Visual Studio.

A couple of million bucks is a drop in the ocean for Microsoft. Imagine what they themselves would spend in order to try to create something as universally useful as nDoc, Reflector or nDepend. On the other hand, for them to purchase these tools and add them to the Visual Studio system would be an incredibly useful and sane thing to do. Instead, they allow such important work to fall into the hands of third parties that really are potential competition to them.

Microsoft, Wake up! Look at the communities that you say that you value, use the resources in them to enhance the product, don't allow something like this to happen again! It's just plain idiotic.