In the process of writing my presentation for the OReilly Open Source
convention - Migrating from Apache 1.3 to 2.0 - I am learning so much about 2.0
it is a little alarming.
I'm reminded of when I wrote my first book - Apache Server Unleashed -
and learned so much about Apache while writing the book. It was clear to
me then that I was probably not the right person to be writing the book.
However, during the process, I had to do a lot of work with the
documentation, found a number of problems with the documentation, and
ended up doing all I could to improve the docs through that process.
Although this won't turn into a book - I hope - I see some of the same
thing happening in this process. In reading the 2.0 docs more
thoroughally than I had done before, I am finding places that are either
inaccurate or are incomplete and/or misleading, and more than a few
typos and gramatical problems.
At the moment, I am working to arrive at a better understanding of the
MPMs, and, in particular, the Perchild MPM, which promised wonderful
things, but is still just a little incomplete. In particular, I'm trying
to understand the whole thing of assigning a particular child process to
a particular virtual host, which sounds pretty cool when you first hear
about it, but seems to have a number of problems, even at the conceptual
stage.
If a connection segfaults, it takes out the entire virtual host?
And in the case of the ChildPerUserId directive, if it really means that
you are just assigning a user ID to a particular child process, what is
to guarantee that all connections to that child will be for the desired
virtual host. There's clearly a lot missing from this particular doc,
and this is where the investigative documentation comes in - hassling
the developers until I can get enough information to clarify the docs
for normal people.
It's a special type of person that can develop these programs, but often
they are unable to clearly articulate their ideas to mere mortals.