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.

Win an Annual Membership to Learnable,

SitePoint's Learning Platform

  • mjc

    It’s very shortsighted of M$ to discourage open source contributions like this. I know they generically look on FOSS as “the enemy” to be destroyed at all costs but they’re expending effort reinventing the wheel when they could simply let the open source project do the heavy lifting & let their guys add the tight integration to visual studio.

  • skeeterbug

    if you Dance with the devil, the devil will win.

    open source guys who support windows only, imho, are rather foolish.

    the dead bodies littered behind microsoft are legion. how vain to think you will be different?

    ask the anti-virus guys who support msft’s crap all these years.

  • bonefry

    Free software can only flourish on top of an free platform … this was was the original ideea of Richard Stallman, and apparently he was right.

    I wouldn’t worry for NAnt though … it will survive because of Mono ;)

  • bonefry

    … sorry, I meant NDoc above :)

  • myrdhrin

    This sounds like dejà-vu… and Microsoft is good at this game.

    Let other build products and come with the ideas and then take over the idea (or product) and productize it as a Microsoft solution.

  • Joe Brinkman

    I think this analysis misses the point of most open source Projects. Many of these projects are started because someone had a need that was not being fulfilled by the available software in the market. So they write a program to meet their own needs. Then it gets extended and other people start using it and it takes off from there. The fact that a company comes along and builds a tool to do essentially the same thing as the Open Source tool should not be a bad thing, anymore than another Open Source competitor starting a project to compete is a bad thing. When NPersist was created, did the people working on NHibernate just quit because suddenly they had competition? The point of all this is not software for software’s sake, but software to fill a need in the marketplace. If Microsoft can produce the software that the marketplace needs, at a price that the marketplace will accept then good for Microsoft, or Oracle or Sun or IBM or any of a thousand other companies that produce products that compete head-to-head with open source projects. Imagine if Marc Fluery had taken the attitude that he couldn’t compete with BEA because BEA could put paying developers on their App Server.

    I have been working on DotNetNuke for more than 3 years now and we are stronger than ever even though Microsoft has added in several portal related features to ASP.Net 2.0 and is almost ready with MOSS 2007. While some people may shift to those other platforms, we still have a strong following that continues to grow every day. And if someone takes over NDoc development, I am sure it will remain the top documentation generation tool for a long time to come, no matter what Microsoft comes out with.

  • myrdhrin

    @Joe Brinkman

    I’m not saying its a bad thing (well almost)… I’m just saying it is not unheard from Microsoft to move like this, let other take the risk, put the idea, do the first effort and collect the results.

    In most cases its a good thing, especially with development tools. Over the years they’ve proven they can provide tools and suites that are integrated to very good levels.

  • laskasdf

    Free software can only flourish on top of an free platform … this was was the original ideea of Richard Stallman, and apparently he was right.

    You mean like closed source Java, right?

  • http://blog.heuristicdesign.co.uk Hal9k

    @laskasdf

    GCJ

  • wwb_99

    @Joe

    Interesting and valid points. I don’t think OSS is dead by any stretch of the measure. Still, ask yourself this:

    1) Given that DLINQ and such are coming down the pipe, would you build your next big, new project on NHibernate or DLINQ given the support and toolkit MS will be throwing into the mix? I know which way I would architect things.

    2) Personal works aside, would you build your next portal on DNN or MOSS 2007, given where the weight of Microsoft support will fall? And how deeply integrated MOSS 2007 appears to be with the rest of the webby 2007 MS products?

  • Pingback: Daniel Read's Software Development Blog

  • http://blog.davestechshop.net

    Great article. This issue ranks right up there with Net Neutrality, in my opinion. Once Microsoft exterminates, their formerly competing product stagnates.

    On the question of open source’s future on Windows, I responded in more detail on my blog at:
    http://blog.davestechshop.net/archive/2006/08/15/FutureOfOpenSourceOnWindows.aspx

  • http://blog.davestechshop.net

    Today I wrote another article that was initially inspired by this one.

    http://blog.davestechshop.net/archive/2006/09/19/MicrosoftHasGreaterResponsibility.aspx

    I certainly think Joe Brinkman has some good points – indeed, some great points. But I also think the concerns Wyatt raises in his post need to be addressed better by Microsoft. That’s why I wrote yet another follow up on this topic.