Programming - - By Wyatt Barnett

Will Microsoft Subsume Open Source?

So I was planning on making a nice, short, Microsoft Fanboy-style post about how it is pretty much official that the production version of ASP.NET Atlas will be released in 2006.

But, unfortunately, today became a very sad day in the .NET world. Kevin Downs, the brains and the brawn behind the very useful NDoc project, is giving up on the project and retiring from the community. I could enumerate his reasons, but Kevin’s own announcement is a far more eloquent document than I could produce.

This raises a few very interesting issues. First, I like many developers, used NDoc, and a number of other open source projects without giving back a dime or a minute of my time. This practice really needs to stop as we will see more and more sad announcements as developers and maintainers tire of giving thanklessly. Regarding this issue, Paul Haacked, Benevolent Dictator of the SubText team, has an especially poignant idea: make July 26, 2006 the first Contribute to Open Source Day. Developers of the world pick a project and donate code, docs or at least cash.

The second issue is the chilling effect the new, community orientated Microsoft is apparently having on .NET open source projects. A major part of the reason for Kevin’s retirement is the announcement of the Sandcastle project—a yet-to-be-released .NET 2.0 only documentation compiler eerily similar to NDoc. Well, with the major difference that the writers of Sandcastle are receiving Microsoft paychecks and the project has the full support of the Microsoft machine. It is a rather unfair competition.

Another very good example of this issue is MSBuild, a tool in some ways aimed squarely at NAnt. Both are Xml-driven build tools allowing for neat tricks like controlled build environments, multiple build configurations and continuous integration. But one is officially supported by the controllers of the Framework and has Visual Studio integration. Which one would you bet on for your project’s long-term use? Farther down the road, are you going to bet on LINQ or NHibernate for your ORM?

Unfortunately, I suspect this announcement is but the tip of the iceberg. Expect a lot more free tools and extensions from Microsoft. Tools which will likely be of irrefutably high quality. But these tools might well put a dagger into the heart of your local .NET open source project. Atlas is a great example of this—it has effectively killed any ASP.NET 2.0 Ajax framework before they could be created. The remaining option’s main selling point is ASP.NET 1.1 compatibility. While Microsoft has changed quite a bit over the years, there still seems to be a lot of the embrace, extend and exterminate mentality alive.