As if this would come as a surprise to anyone with two brain cells to rub together, the NY Times has this quote from Tim O'Reilly: "Microsoft is totally off the radar of the cool, hip, cutting-edge software developers."
Not only that, but Bob Muglia, the president of Microsoft's business software group had this to say some time ago: "…when people, particularly younger people, wanted to build a start-up, and they were generally under-capitalized, the idea of buying Microsoft software was a really problematic idea for them."
Yeah, no kidding. In other words, Microsoft software costs way too much to build a business on. The majority of the largest sites in the world run on Apache, PHP, and mySQL. To pay the licensing fees for a "Microsoft solution" would put them out of business overnight. And I mean sites like Google, Amazon, Facebook, Myspace…maybe you've heard of them?
The fact is that Microsoft just isn't cutting it anymore. Every single product they've come up with since 2000, from Xbox to the Kin, has been an attempt catch-up with someone else, rather than to blaze new trails.
For example, take the Zune. It was an attempt to unseat the iPod, and to do that it had to be a fantastic player. But Apple wouldn't stand still- they kept moving the hardware/spec goal while Microsoft kept aiming for last year's functionality.
Here's what one developer said, which I think sums it up perfectly:
"In the early days it looked like .net might evolve to take on Java in that it was solving all those little coding nuggets that you have to otherwise grind out such as getting files from web servers. But then it turned into marketing for all their other products and the surface area of the whole .net thing grew out of control. But horribly enough I was still having to turn to ActiveX era programming to accomplish anything really cool."
"Then I discovered QT and a whole new world was opened to me. After a year I realized that the only Microsoft product I was still using was Windows and that was seriously getting in my way. That was years ago and MS has not offered me a single geeky reason to go back:
PHP is better than any .net crap.
Apache is better than IIS
Linux is better than MS Server
MySQL is better than SQL Server
C++ QT is better than .Net
Eclipse is better than Visual Studio for multiple languages
Git is better than VSS
Mac OS X is better than Windows for programming
Anything is better than IE
"So I have been able to nearly completely leave MS behind yet am able to release my desktop software with little effort for both Mac and Windows because of QT. I don't see an easy way for MS to get me back."
And there you have it. Microsoft is being overtaken and made obsolete by free or low-cost products that work. This site, for example, runs on Linux, PHP, and mySQL. The costs of doing it under .Net and SQL Server (or Oracle, for that matter) is just too high to make it feasible.
The future of development is in the tools people use. Cost is an issue, and the free tools are evolving rapidly to the point where there's just no valid reason to pay hundreds of thousands of dollars for your development and operations software.
Right now Windows admins are fairly common and comparatively inexpensive. But in just a few years it'll cost less to get LAMP (Linux, Apache, mySQL, & PHP) administrator than it will to get a IIS/MSSQL administrator. And what will Microsoft do then?