Thursday, July 03, 2008

Does Microsoft bashing become fashionable?

Usually I refrain from discussing general software topics (since tastes do differ, in software even more so than in real life), but I was really rankled by recent Jeff Atwood’s post.

I believe Jeff handles the matter in very naive and simplified manner. “Why Microsoft has to rewrite NUnit instead of re-using it”? Why indeed? Even if we discard copyright and other legal issue (which Microsoft generally does not do, and for the good reason, with all litigation going against the company), how about the support? You take something open source and who is going to support it – MS or original community? And what happens if there is a bug in the open source software integrated into commercial product – who is responsible for that? MS or the community? And ultimately, who gets blamed in the end? I am willing to bet whatever that same people pushing MS to re-use existing open source will jump and wave their hands saying that MS again released buggy software if bug occurs in open source project integrated with MS solutions.

And how about comparing Team System to assembled stack of open source tools? When you are the biggest software company in the world, and a commercial one at that, you want to take bunch of products from other vendors, with different licenses, using different technologies and use them in your flagship product. Or you want to use your own product stack and technology to create your solution, aligned with your customers expectations? Sounds like no-brainer to me.

So should MS provide better extensibility into its products? Absolutely. Should it use open source in its commercial offerings? May be, but I do not think many people reading my or Jeff’s post have good notion of what is really involves (including Jeff and myself).

And it seems to me that it really does not become to Jeff to come out with that kind of simplistic attitude. With 100K blog readers I find that simplicity somewhat embarassing. Or may be I have just missed the point altogether (since I do not drink soda and soda analogies were lost on me)?

P.S. And read the comments to Jeff's post too. It appears that everybody and his dog knows more than MS folks. Pretty educating, that

2 comments:

Jim T said...

I'm not necessarily convinced by the legal and support arguments. It may be as you fear, it may not, but lets leave that for a moment.

What I'm more interested in, is why can't Microsoft build in 1st class support for these other tools which are already developed, supported, tested, used and above all *known*. We've always had 1st class support for source-safe, why not subversion as well, how about git? Support for a technology does not require bundling the product - no legal issues.

When developing the unit test framework, why wasn't this written with an eye to "and how can we just switch in NUnit as well?". Why can't you right click "create NUnit test project", it's not such a different task from creating the ms unit-test version ...

eugenez said...

Jim,

I completely agree. The extensibility story on some fronts seriously suck - sometimes through sheer complexity, sometimes through the lack of time, and I guess sometimes for no reason.

I hope MS is going in that direction.