Recently I've had Microsoft on my radar a lot, mostly because I'm wrapping up development of the
component for Zend Framework, but also because everyone has been talking about the recent release of the FastCGI support in IIS.
Wonderful, now I can also run PHP in a reasonable fashion on IIS -- that's good for everyone right?
I'm not so sure, to be honest. I mean let's face it there is competition out there for the web. A company like Microsoft would be simply neglectful if they didn't do everything in their power to sway, control, and if at all possible dominate this space right? Over the years when it came to public-facing web development PHP has been without a doubt been the leader, but why? I think it has a lot more to do with the fact that Microsoft didn't have a reasonable platform for their web development technologies then it had to do with PHP just being better..
OS: Obviously Microsoft Windows has a horrible track record for security on their Windows platform as a whole, making it a little unnerving of a choice for a business to decide to run their web business on. On the other hand, Linux was stable and secure and worked -- besides all the geeks liked it.
Web server: IIS 5 was just one screw up after the next for the most part as far as I can tell. The thing never seemed to work right, and when you compare that to something like Apache... well gosh, there just isn't much comparison. Apache was fast, stable, just worked and I think that lead to most of its dominance -- not the fact it was open source. Of course Apache probably wouldn't have gotten very far if Windows was the dominate OS.. but then again maybe Apache on Windows would have been more stable in that case..
Web Language: Well if IIS sucked, and Windows sucked, and Apache and Linux were good then of course a native Apache/Linux language like PHP is going to be the front runner. PHP itself might have beat out something like Perl, but that was probably because no one can read it more then it wasn't a viable technology..
... So here we are, 2007... PHP is still a major player in the web space and is starting to grow up. We have certifications, competition amongst ourselves, we even have the backing of companies like IBM.. In fact, a lot of people would attribute Microsoft's sudden interest in making PHP work well on IIS an acknowledgment that the PHP industry simply can't be ignored and I bet they're right.. There are even some who think PHP no longer needs to concern itself with other web technology competition (just look at the PHP community's reaction to Ruby on Rails) and that's dangerous.. Look at Netcraft:
Look at this graph from Feb 2006 on and you can clearly see that not only is Apache itself losing significant market share but it seems to be losing it almost entirely
to IIS. That concerns me as a PHP developer, because over the years Microsoft's MO has been pretty much predictable:
Step 1: Come in low on the technology stack and dominate
. For instance, control the OS (which they've managed to do a very good job of over the years.
Step 2: Push competition out of the market from the bottom up
. We saw this during the browser wars and it lead to over 90% of the Internet population using Microsoft Internet Explorer -- if you control the base then you can simply build functionality of your competitors into your base product making them completely obsolete. In the very least, you'll capture huge amounts of market share even with an inferior product simply because its most easily accessible.
This is why these Netcraft figures bother me, and why I'm not so sure that FastCGI support in IIS is as great as a thing as it might sound at first glance.. If Microsoft continues to capture more and more market share, eventually they will dominate the web server space and at that point why would Microsoft care at all about PHP? It's much more profitable for them to simply make it easier to use C#, VB.NET, ASP.NET, whatever to do web pages and shove PHP out of the space just like Netscape got shoved out of the browser space in the 90s.
So I ask, is FastCGI support in IIS from (at least from business perspective) part of a larger Microsoft Trojan horse?