httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject Re: Apache 2.0 rant
Date Fri, 19 May 2000 11:32:41 GMT

> Ryan, don't take this personally.  I think that it's important for you
> to get things off your chest whenever you feel like it, but we are
> talking about the Apache project right now and not Ryan's code.  It isn't
> reasonable to expect that the code is correct just because it has been
> in the repository for some time.  The 1.3.x code isn't correct and we've
> been working on that for 5 years now.

I take almost nothing personally on this list, but I take it all very
seriously.  I do not want 2.0 to be "my code", I want it to be
Apache.  All I really wanted to say is:  "Apache 2.0 is not perfrect
currently, we all know that.  Please instead of just saying this thing
sucks, explain why it sucks or provide a patch."  Obviously I didn't do
that well.

> >"The code is too complex" -- That's right, this code is more complex than
> >Apache 1.3.  It is more complex because we aren't trying to support just
> >Unix anymore.  If we were trying to support just the platforms that 1.3
> >started with, 2.0 would look very much like 1.3, and in a year we would
> >have the same unmaintainable code base, because new platforms are being
> >added with #ifdefs.  Sorry, this is the price we pay for trying to be
> >everything to everybody.
> No, it isn't.  The code is too complex because the design does not help
> in reducing its complexity.  We are using incomplete types to force
> developers to treat the portable data types as abstract, but there is
> NO DOCUMENTATION that describes the data types, and the abstraction is
> spread over many different header files instead of being constructed as
> an ADT.  Don't tell me it is in the API file -- that document only
> describes the plan for implementation, not what was actually implemented,
> and why, and how it is the programmer is supposed to use APR.  And, no,
> it isn't in the .h files either -- the pod documentation only contains
> the briefest summary of what each function does, not any of the other
> information that is needed in order to treat it as an ADT, let alone
> describing the data itself.
> These are the same comments that I made when the 2.0 cvs repository was
> rebuilt.  The story then was that you and Manoj would get to it when the
> code had stabilized to the point where it was worth spending your time on
> documentation instead of hacking.  Well, the time has come, either in the
> form of writing documentation yourself or simply responding to stupid
> questions and the response ending up in the documentation somewhere.

Yep, you are correct here.  Because I said I would write docs, I
will.  This weekend, I will try to document all of the why's about APR,
and then I will possibly move into the server, depending on how quickly
the first part gets done.  This will at least provide a starting point
from which other developers can ask questions and add to the docs.  I am
perfectly willing to answer questions.

> So far, every time I have pointed out an area where the code needs some
> serious improvement, you have told me to hold off on any changes while
> you go do some major rewrite.  That's fine -- I really do appreciate it --
> but please realize that I could have done those changes myself, albeit
> a lot slower and probably with a few more broken iterations.  If you want
> more people to make major contributions, you have to give them a chance
> to get dirty as well.

Roy, I value your time, and I know you are busy.  I have a lot of time and
a lot understanding about this tree.  When you say, "there is too much
duplication for me to contribute easily, and it will be a year before I
have the time to fix it", it is worth three or four days of my time to
clean it up so that you can contribute more easily.  I would rather have
you contributing useful patches more often than slowly cleaning up
duplicate code.

Please understand I needed to say some stuff, or go crazy.  Those were my
options, I chose to speak.  :-)  I just want to emphasize one more note
from the top of the message, I don't WANT Apache 2.0 to be my
project.  The thing is huge now.  I just want it to be the best _Apache_


Ryan Bloom               
406 29th St.
San Francisco, CA 94131

View raw message