Last updated: Monday, 28 March 2005 14:08 -0500
| Version 2.0 of the Apache Web server has been in development
for at least a couple of years now. How is it coming?
Note that this topic is bound extremely tightly to the time at which it was written, when development version 2.0.32-dev was current. If you're reading this at any time much removed from then, it probably no longer applies -- so don't let my alarmist remarks worry you. I'm sure the issues have been resolved by the time you, my future reader, are perusing this. |
I have some concerns about Apache 2.0's stability.
People have been working on the software for many months now, and users are awaiting its release (some patiently and some less so :-). Why is it taking so long?
The usual answer, and still the best one, is that it takes a while to produce quality software, and it won't be released until it's ready.
Another answer, however, is that the quality is taking so long to achieve because the codebase keeps getting destabilised. It seems as though basic underlying subsystems keep getting modified, frequently in a significant way, on a monthly if not weekly basis. Perturbations from these changes ripple through the rest of the server, and it often takes weeks for the last temblors to subside.
And rather than each developer working on its own pet area without affecting others, a great deal of many people's time seems to be getting spent on cleaning up after each other. Why? I'm not sure. This has always been a problem in the project, but it's currently at least an order of magnitude worse than it was a couple of years ago.
Some people will probably point to the possibility of personality conflicts and the effect of acrimonious debates on the development process. Yes, there are some antagonisms amongst the developers, but I personally don't think they're interfering with progress very much.
So what does it all mean? To me, it means that the foundation of Apache 2.0 hasn't settled to bedrock yet. It's going to include a lot of bells and whistles, and enhancements to features, performance, and scalability -- but IMHO there's still 'way too much churn at the most basic level for the package to be stable any time soon. And that worries me: the pressure to 'get a release out' may overpower the desire to 'do it right', and the result will be less than it could be -- and definitely less than it should be.
All IMHO, of course.