Finally PHP 4 is approaching its end of life. With the upcoming PHP 4.4.8 release, development on PHP 4 will be officially stopped. No more release will be shipped to end user. This is not very fresh news since this has been announced on php.net since July 2007.
Conquering Reluctancy To Upgrade
As open source project, PHP has enjoyed its growth through the support of its enthusiasts, name them web hosts and application developers, not to mention the wide use from end-users. Referring to Google Trends, PHP scores the second lagging behind java as the most queried programming languages. This comparison is taken as simple as possible, neglecting the most appropriate functional environment of each language.
Although the trend can’t lead us into final conclusion on the future of PHP, it’s interesting that just like other programming languages, PHP trend is negative. This may lead to additional question whether PHP still keeps or expands its audience or starts losing its grip.
Starting in 2004, PHP 5 was introduced. Since then, lots of rattles and debates over migration from PHP 4 to PHP 5 appeared to the surface. Main complaints came from application developers and shared web hosts who considered this upgrade as more homework as switches in the application and server environment should be made in order to support both PHP 4 and PHP 5. Although PHP team has written guidance about upgrading to PHP 5, in reality it’s not as easy to force webhosts and developers to upgrade because of several reasons.
For webhosts, ensuring clients are happy with their web and application stability is what makes them stay in the business. Some clients use off-the-shelf solutions written in PHP 4 which have been running for the years. Some only care about how they can still do business and get profit without messing up with technical aspect like PHP version hassle. As webhosts’ longevity really depends on their client base, the only way to keep the clients happy and loyal is by continuing support for PHP 4 while giving alternative choice for PHP 5 user.
The similar situation might apply to PHP developers. I notice several factors which may lead to total switch to PHP 5:
- Team size
- Skill or competency level
- Application user base
One-man project is unlikely to undergo total rewrite in PHP 5. Given the situation that one-man project is usually just for hobby or sparing time, developer may have issue with time as migrating to PHP 5 is not just as simple as flipping a palm. Even developers in bigger team may face issue with upgrading since their bigger user base will complain if the new version of their apps can’t be installed in the usual environment. Enabling version checks or switches among PHP version within the application is feasible but not effective in the long run as it tends to be quick-and-dirty solution.
With this enforcement, how is PHP 5 acceptance in the future?
Big Wall to Leap
Let’s see more statistics, this time is search trend for both PHP 4 and PHP 5:
Since 2004, PHP 5 has outperformed PHP 4 for search queries in Google. This may bring optimism to PHP 5 advocates about the bright future of PHP 5. However, it’s still obvious that PHP 4 still occupies constant rate with small negative slope during the three recent years. If naive conclusion can be drawn, PHP 4 still and will always have die-hard supporter who will never upgrade unless they find a reason too (or they can simply use another alternave).
Nexen provides monthly PHP version stats available on the internet. Let’s dig their PHP version distribution statistics for November 2007:
It will be nice if we compare the report from a year before (November 2006) to get more information about PHP 4 adoption trend taken from the same site:
If we combine both graphics and draw a line for PHP 4 from 2005 to 2007, we’ll see that delta is only about 21%. This means, after two years, PHP 5 can’t still achieve significant increase for its adoption although there is more news and advocation on PHP 5 (please refer to PHP 4 – PHP 5 trend comparison). And now, since upgrade to PHP 5 is enforced at end user, a big wall is waiting to be leaped, which brings me to the main question about the future of PHP 5. For 2 years, PHP 5 has failed to convinced users to upgrade, will this kind of policy take effect?
Awaiting Big Guns to Surrender
One primary factor why PHP is so popular for end-users is availability of free solutions. Ranging from blog to CMS, ecommerce to CRM, the applications act as evangelists and contribute big to PHP fame. Most of the applications were made in PHP 4, during the hype of “everybody can code PHP”. However, with development of PHP 5, PHP is alleged to shift its focus from ordinary users to serious developers.
Nobody to blame on this case. As for me myself, it will be nice to see PHP running at enterprise level, just like what some companies achieve like Facebook or Yahoo. However, considering a lot of effort comes from open source enthusiasts, the mileage may vary as decision is made on community basis instead of sole project leader’s decision.
Let’s name some big guns to consider: WordPress, Joomla, PHPBB, and PHPMyAdmin. All of them are known to run well under PHP 5 environment. However, backward compatibility is still kept and user running PHP4 can still use the application. This may not be healthy for PHP 5 penetration. Unless the big guns surrender and decide to only use functions and structures supported only by PHP 5, there is small chance PHP 5 will score the same success with is predecessor PHP 4.
My Personal Forecast
I am inclined to a forecast made by Dries Buytaert, the lead of Drupal project. He envisioned PHP 5 will only take about 70% of the share in April 2009. My prediction, however, is a bit different. With current work on PHP 6 and discontinuation of PHP 4, I envisioned PHP 5 adoption will increase like a step function (by 10%) in the beginning of 2008, with exponential trend like Buytaert’s function (y=ax^2, x > February 2008). However, I believe that the penetration of PHP 5 won’t go over 80% because at the time PHP 6 will be released and some people will decide to directly move to PHP 6.
Your comment is highly appreciated.