Given the recent discussion, I'll ask the inverse and naïve-sounding question:
Why would anyone today sink money into a Microsoft solution for developing a web-based service or application?
I mean, if you're already up to your eyeballs in Microsoft contracts, I could see momentum being on their side. But, assume you're just starting today fresh from a good idea. What would Microsoft give you today?
The only thing I can really think of is support. As in, someone to call and bug for answers or blame for problems. Because—and maybe this is just a demonstration of my own ignorance—I can't really think of an area where Microsoft's offerings really blow any Open Source platforms out of the water, especially not once you've considered cost and the loss of flexibility.
Hiya, I wanted to write a post about this myself with a trackback, but despite this being WordPress I can't seem to find a trackback URL.
Anyway, I agree. And yet, people will still tie their own strait jackets on with Microsoft or whoever else. It used to be because it was easier or better-made, but I don't think that's necessarily the case any more. Do you have any speculation?
I certainly can't see it for a public-facing system, but if you're building internal-enterprise apps, maybe it gives you integration into other stuff (e.g. Exchange for authentication, easy Office-doc publishing, etc.).
I suspect that really only applies to a tiny slice of microsoft customers, though they're big shops (e.g. finance houses).
For most MS customers I think it's mostly a conservative "nobody ever got fired for buying IBM" mentality.
Yea why anyone would choose Microsoft platform over opensource would not make much sense today.
As Jamie Zawinski said a few years ago (loosely) "Open source is only free if you don't value your time."
Oh, please. For a developer? It's different with making things on an end-user system work, but for a developer, big-vendor systems are about the biggest timesink I can imagine.
Support isn't a good reason. Report a bug with an MS product and see how long it takes them to react; whether you get any means of tracking what's being done about it; if at all; and when you'll get a fix. You think they're going to compare favourably to open source projects?
As for having someone to blame---not much consolation. Most software comes with no warranty whatsoever. The software vendor's liability extends about as far as guaranteeing that you can read the bits on the media you received with your purchase, and that's it. They certainly make not the least promise that the software works as advertised. Blame them all you want, they still won't owe you anything.
As I understand it from friends of mine who are smarter than me and choose the all-encompassing Microsoft universe, the #1 answer is the quality of the developer tools. I've never been one for IDEs, but lots of developers swear by them, so they must be doing something right.
Also, developer documentation, specifically MSDN. The aforementioned friends swear by MSDN-on-DVD and its tight integration into the aforementioned developer tools.
This is all hearsay; YMMV.