httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paul A Houle <p...@cornell.edu>
Subject httpd has no reason to improve...
Date Mon, 22 Aug 2005 17:07:09 GMT
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?





Mime
View raw message