Ben Collins-Sussman wrote:

I see a lot of frustration going on. The thing is, httpd's development process is nearly identical to Subversion's process... we stole most of it from you folks! So why all the angst in httpd-land, but not in Subversion-land?

   It's really a lack of direction.

Apache already is the market leader in the web server space and has no potential for further growth -- Windows users aren't going to switch to Apache in significant numbers. (They never were, so developing a good NT port was a waste of resources that has helped paralyze the development of Apache for it's core users.) This in contrast to svn, which has a long way to go in growth.

There is very little going on in Apache to make it be a better web server -- the frontiers of development are trying to make it an ftp server, an smtp server, a ntp server, a snpd server, a bgp server... Efforts that 99.44% of httpd users are completely indifferent to (Ok, maybe a few of them will want to turn on an ftp server because they're not getting enough support calls from people who are behind NAT or firewalls.)

The module mechanism means that significant improvements in Apache can be made without making changes to the Apache distribution -- people are who are serious about improving Apache as a web server are taking this route and not adding things to the Apache distribution. (Any change which affects the core use of Apache is politically controversial and gets an automatic -1.)

Pluggable MPMs sound like a good idea in theory, but in practice they're a failure. It's hard enough writing code that runs in a single concurrent environment, but impossible if the concurrency environment is unknown and unknowable. It's hard enough keeping the modules that are part of the distribution working under all MPMs, even harder to support third-party modules (mod_php) and even harder to support all the libraries that link against third-party modules (kiss of death for mod_php and mod_perl in worker.)

-----------

People who want to wake Apache up would be best to try a fork. Throw things that are irrelevant to running httpd on Posix overboard. Pick ONE mpm that offers a significant advance in functionality (mod_event or mod_perchild that actually works) and qualify everything to run against it. Add mod_macro.

But why? Apache is good enough for most people, and you can fix any real problems for a particular project by adding modules or making little source code patches. There are 1,000 or so sites in the world that need an MPM faster than prefork, and they'd be better off going to a cluster strategy for availability anyway.

Apache 2 was a rough ride, but Apache 2.0.54 runs smooth on every installation I have... Why change anything?




Reply via email to