Microsoft Moves from Cathederal to Bazaar in IIS 6

Microsoft Moves from Cathederal to Bazaar in IIS 6. Eric Raymond contrasted closed-source and open-source development in his famous essay The Cathederal and Bazaar. Developing good closed-source software requires very good programmers who build Cathederals. Open-source by its nature is a free-for-all Bazaar; the software design has to be layered so that it is accessible to polyglot developers of varying skill and be more forgiving of mistakes.

The classic example is Apache, in which multiple child processes are created to handle HTTP requests. Each child process is independent of each other, and if one child crashes, everything else continues working. Furthermore child processes can be configured to terminate and restart afresh after a certain number of requests, so Apache would even work with leaky unreliable modules.

In contrast, previous versions of IIS, though very well-written, assumed that all other components that it was interacting with were of equally high standard. VBScript and JScript (the core of ASP) are great languages, and I have found them to be very reliable. This is also a reflection of the elite programmer Cathederal mentality within Microsoft. However once you start using 3rd party COM objects, or some DLL's which are not thread-safe (did you say PHP?), you can kiss goodbye to robustness.

It is revealing to see Microsoft, after clinging so long to this design for 5 versions of IIS, shifting gears from a Cathederal mentality to one more suited to the Bazaar.

This IIS 6 overview shows that IIS is now copying the Apache architecture to boost reliability. Modern web-servers are no longer simple network apps that pump static files to clients. They have to interoperate with multiple 3rd party modules (PHP, Perl, Java, databases) in a safe and secure manner, something that the software designed for the Bazaar is very good at.

For more detailed info, see Microsoft's Technical Overview of Internet Information Services (IIS) 6.0 (Word Document).

In many ways, IIS 6 is similar to the Red Hat Tux-Apache combination.  [PHP Everywhere]

Leave a comment