IIS and Apache are equivalent in functionality
IIS performs better than Apache (I’ve done the testing myself on the same machine) for straight HTML pages. IIS also has a better security model than Apache by far (based on NTFS as it is). IIS is also a heck of a lot easier to use than Apache, although you can certainly purchase GUI’s for apache which make it usable for the average person. And the first major problems (including security) with Apache 2.0 have started appearing, and they are just as nasty as anything found in IIS.
To my way of thinking the main reason to prefer Apache over IIS is (a) initial cost, and (b) knowledge of your people. If you and your group already know apache, then that is the best choice for you. If you already know IIS, then that is probably the best choice.
Browsers? IE won the browser wars for a good reason (besides ruthlessness) – it’s far superior to Netscape 6 and before. Now that Mozilla and Opera have had a couple of years, it looks like they might give IE a run for it’s money. Even now, though, I’ve found IE is superior to the competition and I’m sure there is a new version in the works.
But all of this is not as relevant as the cost of modifications. I’ve found the initial cost of the software, regardless of what it is, is puny compared to the cost of modifications. I would never even consider hiring programmers, for example, to modify the OS, the browser, or the web server, so the availability of sources is not relevant. As far as an application system is concerned, I am interested in modifying the business rules, not the application itself. In fact, if my accounting system requires me to modify it’s primary code just to change a business rule, I’ll find something else.
There are many companies which provide good application systems, including SAP, Ultipro and hundreds of others. To date, not one open-source version of these (the really important things) has even made it to the initial RFP.
I find the “religious wars” about this subject fascinating. Ask Apache admins and they will tell you Apache is best and death to all unbelievers. Ask IIS admins and you will get the same story. same with Windows, Linux and OpenVMS and any other similar thing. I personally believe we all like what we like and are used to. What I personally like to do is ignore the hype and rumors and so forth and do my own analysis. And yes, I ignore Microsoft hype as well … they have more PR skills than any hundred other organizations. But PR does not make for a good product.
The decision to use or not use a product should depend upon rational facts, not opinions and noise. Apache is in many ways better than IIS, and IIS is in many ways better than Apache. Which is better? Depends upon what you are using it for, the goals of your organization and many other things. Same with Windows Vs Linux, or any other argument.
Our experience, and keep in mind this is for corporate intranet web servers, is that the cost of Windows and IIS over a long term (5+ years) is far, far less than the cost of Linux and Apache. We performed our own internal study and factored in the cost of the software, maintenance costs, upgrades, time to support, training and so on. Windows 2000 server came out far ahead of Linux (even with all of the patching) and IIS came out ahead of Apache. I have only just installed Apache 2.0 on a windows platform and so have not formed any opinions on this product yet. In a few months, perhaps, I will have some solid data about what appears to be a great new release of Apache.
Cost, however, should never be the primary criteria of this kind of decision. Cost is the least important of many different factors which go into a decision. I have found over my career that when I chose something based upon cost as a primary factor I wound up with that sore behind feeling. Yet when I chose something based upon features and requirements and a good analysis, then picked the product which fit the best, then and only then was it comfortable sitting down.