httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Greg Stein <>
Subject Re: Branch Philosophy
Date Sun, 13 Oct 2002 11:23:39 GMT
On Sat, Oct 12, 2002 at 11:41:01PM -0400, Tim Wilde wrote:
> I don't understand all this fighting about branching and development.  I
> don't understand why Apache 2.0 has been released, and recommended for
> production use, if, as many seem to be saying, it isn't
> "feature-complete".

Apache 2.0 has all the features that most people need to run their web site.
Thus, it is quite ready for production use. The fact that some people want
to add features doesn't detract from the fact that it is useful *today*.

Your car gets you from point A to point B. It is useful, and it works quite
well in the role, so you begin to use it. But the people that make the car
want to add a rear-window wiper. That doesn't detract from its original
utility, but it now has an extra feature that you can use.

> Every other project I've ever seen doesn't do active
> development on a released branch.  That's just NOT how to do things.  Yet
> Apache 2.0's API is changing, it seems on a daily basis.  If this is
> release software, why are you changing the API?

To make it better. And no, the API is not changing on a daily basis. Here
are the latest set of entries from ap_mmn.h:

 * 20020602 (2.0.37-dev) Bucket API change (metadata buckets)
 * 20020612 (2.0.38-dev) Changed server_rec->[keep_alive_]timeout to apr time
 * 20020625 (2.0.40-dev) Changed conn_rec->keepalive to an enumeration
 * 20020628 (2.0.40-dev) Added filter_init to filter registration functions
 * 20020903 (2.0.41-dev) APR's error constants changed

I think there were more changes between 20020628 and 20020903, but they
simply didn't get recorded like they should. But nobody has bumped that
value for over a month, and it hasn't needed to be bumped. In other words,
the API has been stable for about six weeks now.

> Examples:
> mySQL - 3.23.xx is released.  Bug-fixes only.  4.0 is now in beta -
> FreeBSD - 4.7 is the current release.  Minor development occurs on the
> Perl - Releases are made on even numbers (5.6, 5.8) with development

All of these projects have a central core of people who are defining the
feature set for each release, and have the right/ability to enforce that.
The Apache community, and httpd in particular, is not set up that way. We
do not have a central authority who defines releases, schedules, or limits
on the committers' activities. Call it good or bad, but that is our way.

> I don't see what's so hard here.  Maybe 2.0 isn't "feature-complete" yet.
> But I think it's time to give up on 2.0 and start doing things right.

Right in your mind. That simply isn't how this project is organized, and I
don't see it changing any time soon.

I'm not saying you're wrong. Most of the other projects that I work on/with
have a central authority. Apache/httpd does not, so your ideas just don't

> even have functional helper applications as if it's release quality.  I'm
> sorry, but a broken htpasswd binary is NOT acceptable in a GA release.  If

Gee, and nobody has ever made a mistake before. Wow. We were the first? Boy,
that totally sucks.

[ /me points out Linus' "brown paper bag" release ]

> nor do I think anyone could.  I just think it can be done better than the
> way it's being done here.

Projects *can* be run better, yes. But this project is not set up that way.

Seriously, I have no problem with suggestions on how to improve stability.
But they have to match the community. I think you also needed a bit more
research on the actual rate of change in the API, and bit of simple human
forgiveness for error with the htpasswd thing. It happens.


Greg Stein,

View raw message