The long life of Apache httpd 2.4

May 19, 2023

Here's something that hadn't struck me until I looked it up for this entry: Apache 2.4 is now more than ten years old. The first 2.4 release was made in early 2012 (per Wikipedia), and despite being that old, 2.4 remains the current version of the Apache web server (with 2.4.57 released in early April of this year, 2023). There is a '2.5' in development which will be released as 2.6, someday, but the current trunk 2.5/2.6 changes are somewhat underwhelming.

This isn't entirely new in the Apache (httpd) project, since the initial releases of 2.2 and 2.4 were almost seven years apart, but it still feels like we've been using Apache 2.4 forever and are going to keep on using it for the foreseeable future. This isn't particularly a bad thing; for example, I've certainly got a lot of use over the years out of Apache 2.4 expertise. But it does feel a little bit peculiar that such a core part of the web has stayed so stable for so long (I know that Apache is no longer the trendy web server, but we love it and I think it's still reasonably commonly used).

That Apache 2.4 is having a long life hasn't prevented the Apache project from advancing 2.4's capabilities over time, certainly in Apache modules and I believe in the core as well. One example of an addition to 2.4 is WebSocket support, which Wikipedia says was added in 2.4.5 (and actually released in 2.4.6). Another case is HTTP/2, with mod_http2 added in 2.4.17. If Apache can keep evolving this way to support future web changes like HTTP/3 (assuming there's enough demand for them in Apache in the first place), it may be a long time before we see an Apache 2.6.

I don't think this is a bad thing, but it does seem like an unusual one. In a world where software versions churn on a regular basis, Apache 2.4 stands out as an unusually long-lived thing.

(Of course, version numbers and their meanings are somewhat arbitrary. Apache 2.4.0 from 2012 is not really the same piece of software as Apache 2.4.57 from 2023. Consider the changes in Multi-Processing Modules (MPM)s over 2.4's lifetime so far.)

Written on 19 May 2023.
« What a desktop environment is on modern Linux
Some notes on the cost of Go finalizers (in Go 1.20) »

Page tools: View Source, Add Comment.
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Fri May 19 22:14:11 2023
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.