Marco Tabini, of php|architect magazine fame among other things, has been openly disappointed at the death of PHP 4. Not because he likes PHP 4, but because of the "OMG you're discontinuing something that everyone's still using!" argument.
I like your magazine, Marco, but I have to disagree with you on this one. :-)
The problem is the source for that "everyone" claim. The most widely referenced stats are the Nexen stats, and according to them 70%+ of the world still uses PHP 4. Horrors! That means, as Marco claims:
that nearly three quarters of the developer population is essentially being hung out to dry.
Except that is not what the Nexen stats say at all. Let's have a look at the collection methodology (French, English). The data is based on HTTP headers only. Not on number of servers that are actually in use rather than just happen to have PHP installed, not on number of domains showing .php files, not on the number of pages returning headers indicating they were actually build with PHP of some version; just on the number of servers whose Apache header happens to say PHP in it.
Of course, the methodology listed doesn't say if it checks IIS headers, too. Or what severs were even polled, other than 11 million were used out of 28 million polled. Does it count virtual hosts separately or not?
Even if we assume that the Nexen stats are completely valid, however, they are valid for what they are testing, which is the number of servers returning a given PHP version in their header. That is not the same thing as the number of PHP developers in the world. At absolute best, one could argue that 3/4 of the Apache servers in the world are "being hung out to dry". That, of course, is assuming that they're all actually using PHP rather than just have it installed.
That also assumes that there's a single PHP developer market, which is also not true. I'd group PHP developers into a few categories, market-wise:
So uh, where's that 70%? The only people "hung out to dry" are those with legacy code that they never tested on PHP 5 whose sysadmins are going to now, suddenly, upgrade to PHP 5.2.5 and break everything. Of course, the PHP project has no legal relationship with those users. Red Hat may, in which case it's up to Red Hat either way. And the there's that "break everything" claim, which is FUD. Yes there are some issues, but if you were writing decent code in the first place then cleaning it up to make it PHP 5-friendly (as opposed to PHP 5-dependent, which no one is requiring you to do) should take maybe a day or two. All of the potential pitfalls are documented.
As an aside, that's yet another reason to leverage existing open source projects and communities rather than rolling your own proprietary code: Long before you need to upgrade someone else probably will, and so much of the work will be done for you. And if you help out, much of the work will be done for them, too, with a huge number of testers just waiting to find bugs. Drupal, Joomla, Typo3, WordPress, Squirrelmail, Gallery, Zend Framework, Qcodo, Cake, Symfony, and the many other open source PHP projects of note have long since either gotten PHP 5 compatibility or been abandoned (by definition, remember)? And when PHP 6 comes out, I'm quite confident that they will all be PHP 6 compatible long before most custom apps are.
So then, even if we assume that 70% of PHP developers are using 70% of random servers running PHP, and that they're all using proprietary, one-off applications on a server with a sysadmin who refuses to upgrade at a company that has no support contract with any distribution vendor... Where are they?
*cricket* *cricket* *cricket*
Comments
PHP 4.x developers
This is interesting indeed. Whenever I stand in a room full of developers, at a conference, a local PHP user group or at customers, I always ask "how many are still developing in PHP 4.x?". There's always less than 10% of people raising their hands.
We've also seen this at Zend a long time ago (see http://andigutmans.blogspot.com/2006/07/php-5-adoption-has-tipped.html) - most of our customers are "using" PHP 5.x for some time now. That doesn't mean they have servers running PHP 4.x - but new stuff they work on is almost always PHP 5.x.
These numbers and the fact that nobody's shouting makes me think that one or more of the following is true:
Well, in any case that's why the goPHP5 initiative is a good idea - it creates awareness mostly in developers and shared hosting providers which can then push indifferent users into upgrading.
Interesting
Shahar, I don't think the audience of conferences is representative. People attending conferences and user groups are more 'into php' than those that don't, so it's logical that the adoption rate amongst that group is higher. There is however a large amount of developers that don't go to conferences, that don't read a lot of blogs, and that just 'do their thing' in their companies. Adoption rate there is much lower. If I look at customers I visit, I'd say it's about 70% that is on PHP now, but even that is not really representative, our customer base largely consists of companies that want to improve their PHP efforts, so they are again more likely to adopt php5 earlier than the average php developer.
But so far I like the end of life. At least most of the people still using php4 are now aware that they should finally move to php5, and it's become easier to convince them to do so.
Freud?
So PHP == PHP4 for you? ;-)
Resigned to What Was Coming ???
On the concession that there might truly be a "silent majority" of PHP4'ers out there, perhaps they're not screaming and kicking now because they knew the deadline was coming... maybe intuitively they'd been half-anxiously awaiting an end-of-life announcement about PHP4 ever since PHP5 turned 1 year old... perhaps they've even felt all along like that extra time between PHP5's first birthday and the finally-arrived PHP4 end-of-life announcement in 2007 was all borrowed time.
Just a possibility to consider... I've certainly felt this way in my PHP4 shop.
Legacy support
Someone should fork PHP4 and setup a PHP4-legacy project and charge people an arm and a leg for updates to it. :-) That would be enterpricey.
Then whoever doesn't want to run PHP5 still gets PHP4, and maybe even some support. ;-)
(Just kidding)
PHP 4 is just still here
Don't think about PHP 4 users are only converting. Where are the new users for PHP 5? Are they as numerous as they were before?
Back in 2000, anyone wanting to set up a photo galery or a web site would have to rely on a PHP hosting and the installation of an application (may it be home made or a package). PHP hosting was cheap, easy to set up, and popular. Everyone jumped on the train, and turned to PHP (4 in that case).
As for PHP 5, for the same people trying to publish picutres, the situation is a lot different : to set up a galery, there are free solutions, monitored by someone else, free of charge and installation, and also popular. We can mention Ruby on Rail as the fashionable alternative, not counting Python and else. All in all, there are two missing crowds of users for PHP 5 : the lazy sod and the fashion victims.
Anyone setting up a galerie in 2002, and still using it (or not) will appear in the 70 %. The photo amateurs on flicker won't (or will just count as one) and won't be counting for PHP 5. Same for facebook versus wordpress installs.
More alternatives means that newer versions of PHP will be used by less people, and this will keep the percentage of PHP 4 high for yet another long era. The good news is that PHP 4 is definitely on the exit slope.
Now, if you have a way to tweak the numbers and make them more interesting, feel free to mail me. 28 millions servers are standing by to get polled :)
Thanks for those excellent posts to Marco and Larry.
Separate existing projects from new ones
There are a lot developers (including myself) who manage multiple existing sites written in PHP4 and are developing new sites in PHP5 at the same time. I think the stats about the usage of both versions are a little biased and need to separated in two containers, if possible: existing code and new projects.