I like Martin Fowler. As a veritable lighthouse of the patterns and agile communities, he's both a resource and a calm steady voice for change in an industry that cannot succeed without change.
So, when he posted his recent entry on "Ruby and Microsoft" I was eager to take a look. He cites a general willingness of the Ruby community to work with Microsoft and I'm glad of that. He also points out, and rightly so, that Microsoft has some pretty strict rules designed to prevent open source code from creeping into the product code base, rules that get in the way of open source collaboration. That's what happens when the company is sued repeatedly for two decades by our competitors and government agencies.
Just as IBM suffered under long running, financially and politically motivated, anti-trust suits, which knocked them down a step and opened up the computer hardware market, Microsoft has been similarly affected. Hopefully, we are making the turn quicker than our friends in big blue did, largely by observing their example. They did turn the corner, and IBM makes money. We will turn the corner, and we make money too. I'm sure of that. But the lawsuits matter. They really do.
That said, I have to say that I disagree with Martin about many of the aspects he hit upon. I refer readers to this excellent post from Peter Laudati.
In this response to Martin, Peter argues eloquently for including tools in the toolset that support ALL developers, not just Martin's "alpha geeks." I agree with Peter. The MS Platform should encourage all developers to succeed. I also resent the term "alpha geek." Truly awful.
I would add that Microsoft should NOT deliver open source tools built in to the Visual Studio platform, because we cannot possibly support those tools. If the community develops a tool, they should support it. I have no problem linking to the alt.net stuff and encouraging folks to use it.
I think it would be great if a group of Open Source developers would create an all-up "add-on" install that contains all their favorite tools like NAnt, NHibernate, NUnit, Spring.Net, etc in a single package, complete with documentation and samples, that allows folks to easily add the alt.net tools to their setup in one jump.
Mr Fowler's being unfair to suggest that MS treats open source differently than "technology companies" like IBM, Sun and Apple. We aren't wildly supporting open source. We don't oppose open source either. (not anymore). The vast majority of software companies are "friendly but not too friendly" with open source. (There are tens of thousands of software companies. Martin doesn't name a single serious software company on the open source side.)
It's not the entire industry on one side with Microsoft on the other. It's an industry segment who support open source and make their money on hardware and/or services vs. the segment of companies who make their money selling software licenses. That latter group pretty much ignores open source (or releases bits into open source when we don't want to support it ourselves). Microsoft happens to be in the latter camp, and we are a big player... but we are far from unusual. (Note: I include OSS vendors like Redhat as services companies because, face it, you aren't paying for the operating system... you are paying for the support, and support is a service).
Oh, and I remember when the uber-geeks of yesterday went to Powerbuilder (and declared the death of VB) and then to Delphi (and again declared the death of VB) and then to EJB (and declared the death of everything). Nothing happened. Those platforms are not serious threats. The uber-geeks don't have a great track record for picking winners. I'm not worried.