I’ve been noticing a pattern with most of my peers (yes I said most), they expect their users to be running the latest and greatest version of their favorite “modern” browser and all the while their server stack is collecting dust. Ubuntu doesn’t help matters with their Long Term Service (LTS) releases that provide 5 years of stability and security updates on the packages. Those packages are considered stable but are generally quite old, especially with more the aggressive release cycles that are being adopted. I get it, you want a stable system. I do too, but I want my stability at the OS level (kernel, C libraries, et cetera) and can’t fathom using forward facing software that’s actually years old if there’s newer alternatives available.
Now up until recently I was one of those people stuck living in the past on an Ubuntu 12.04 LTS box running nginx 1.1 and PHP 5.3. Did you even realize that the 1.1.0 of nginx was released in August of 2011 and the last 1.1.x revision was released in April of 2012? More shocking is that PHP 5.3 was initially relased June of 2009 and will only be supported until July of 2014. On top of that, nginx has seen 3 point releases and while PHP has had 2 pretty important point releases and a ton of revisions since the initial releases. For whatever reason Canonical has opted to not offer more recent versions of these packages in their most recent LTS release. In fact, the PHP version currently being deployed is 5.3.10 even though the most recent revision is 5.3.28 which represents 18 months of PHP releases.
I recently said enough was enough and made the major jump to both nginx 1.4 (which is actually still a bit dated as 1.5.x is out) and PHP 5.5.7 (as of the other day 5.5.8 came out, so I’m pretty close to bleeding edge) thanks to some PPA maintainers that felt it best to be living in the future. The upgrade of nginx was of minor impact and the PHP jump was not without a little headache but for the most part the jump has been in my favor. Upgrading the web server has the obvious benefit of being able to server pages faster in the case of performance optimizations that may have been implemented since the last release. Why would you want to deny your users better performance? Stop being so selfish with your need for your “stability” safety blanket and come join me in the future!
Even with the hiccups from the PHP upgrade, the same logic can be applied, newer versions generally perform better. Don’t believe me? Check this shit out: PHP Roadmap & Performance from the Homegrown Hosting Blog. Even if you’re too much of a pansy to make the 2 minor version jump I made, even a single minor version jump to 5.4 makes all the sense in the world. There are other posts and studies out there that reflect the same general tone: PHP 5.3 is an old crusty turd and you’re a turd for using it (maybe not that second part).
There I went and said it, people relying on older software are not only living in the past but slowly being left further and further behind with every new release. To that fact, one of my aforementioned peers replied to an inquiry I made about whether or not anyone I knew made the jump to PHP 5.4+ and he said: “I haven’t needed to do anything cutting edge in PHP for quite a while now.”. WUT?! Did you really just say that? So you just don’t care for array shorthand (quite possibly one of the most important changes to PHP in my lifetime) or the finally
clause (which I love in Python and missed in PHP) and you could give two shits about performance for your users??!?
Actually (reads: sadly) this makes sense. Most people aren’t building stuff that people are using and performance is rarely an issue. If it were, there wouldn’t be so many shitty dollar hosting companies out there. The bigger picture is what I mentioned before, you’re letting yourself slip by not adopting the newer technologies and could be missing out on stuff you didn’t even know you needed because of it. I’m admittedly late to the PHP 5.5 train, but I’ll be one of the first on the 5.6 bus even if I have to compile it from source and maintain a PPA myself. It just makes sense to hold ourselves to the same standards that we hold our users to in regard to “modern” technology.
Keep in mind for a moment that this isn’t a rant against PHP users (even though they are still the worst ;). The fact remains that a lot of languages are affected by this including the beloved Ruby (how many are still running 1.9.x?) and Python (same dilemma with Python 3 adoption). I’m sick of it and won’t be doing it any longer, compiling from source isn’t that scary and I know my users deserve the best. This is especially true when I demand they are using some bleeding edge version of whatever their browser of choice is.
In closing, I am part of the 1% (at the time of this writing at least 😉