21 December 2006

Open Source vs. Microsoft

The success of the .Net platform has coincided with the rise of open source development, and spawned quite the variety of open source .Net tools. Microsoft, however, has decided not just to not embrace this (Codeplex aside), but to contribute to the death of these tools. And hey -- this post is not about Linux!

We have NUnit, and now Visual Studio Team System includes Team System Test, in many ways inferior. Integration of NUnit into the VSTS development environment via Test Driven .Net, along with NCover made a powerful unit testing toolkit.

We have NAnt and Cruise Control and Draco for build management and continuous integration. VSTS now has MS Build which is, again, not quite there.

We had NDoc, which has now been abandoned by the original developer because of the upcoming Sandcastle.

I'm not sure where the advantage is for Microsoft. The open source .Net community is thriving and has created a rabid group of developers that loves .Net. That's a group that is going to support Microsoft and not run away to use Linux, Apache, Java, LAMP, Ruby or other very capable and competing platforms. Had Microsoft included the full capabilities of these open source projects in its own tool set early on, everyone would have been happy. But now, the appearance is that the company wants to kill these things. There are so many options they could have pursued to integrate these tools by being inclusive and fostering goodwill toward the community... damn, I sound like a pansy... and to top it off, they haven't even done the analogous tools as well as the open source versions. Not only is the message clear ("we'll do it and you'll like it") but this creates a chilling effect on future open source projects.

It seems that many big companies sometimes just have their proverbial heads up their butts. When I see what Microsoft now offers (which is fantastic, no doubt) and consider the alternatives (Ubuntu, Java, Ruby on Rails, MySQL, on and on...), I'm not feeling so insecure about not choosing Microsoft for every project. The argument can no longer be confidently made about Microsoft, that "you know their tools are going to be the standard." That Microsoft has been in the cross hairs of many a competitor and come out on top nearly every time is, like the investment mavens say, "no guarantee of future performance."

No comments: