Learning lessons from the PHP transition
If you're new here, you may want to subscribe to my RSS feed. Thanks for visiting!

My last article about Matt Mullenweg and his attack on the PHP development team raised a few further issues which I wanted to briefly discuss. Stuart (blog.stut.net) had some very interesting points to make that not quite supported Matt but certainly made me rethink more about the other side of the argument.
His key point was supporting the view that the uptake of PHP 5 should really have been much higher. I only dip into the general goings on within the PHP internals group and thus will not comment too much but the feeling I get is that perhaps some external ideas which are not taken onboard as easily as if they were from long term list members. This may be a slight generalization and every list of this sort suffers from certain kinds of favoritism.
The reason I mention this is the one idea perhaps that should not have been dropped (as it has been discussed) was to make a single installation of apache support PHP 4 and PHP 5. This is certainly not a very sexy idea especially as there is already ways of running multiple instances of apache that get around the problem. The issue is that these workarounds are not easy and do not fit within a lot of hosting providers standard setups.
And yes it is easy to be clever in hindsight but if the decision had been made to make PHP 4 & 5 run together I believe we would be seeing 75% (or higher) uptake rather than the current 25% we are seeing.
The question is can we learn from our mistakes? PHP 6 is on the horizon and approaching fast and while setting aside the whole backward compatibility issues that 6 is likely to introduce we certainly know that the ability to run 5 & 6 alongside each other without resorting to multiple web server instances would ease the pain considerably.
I know that this is no small undertaking but can we afford to make the same mistake twice?
php php 5 php 6
Comment by Solsys on 24 July 2007:
From what I have read, the ability for PHP 3 & 4 to operate side by side as apache modules was really just a happy accident. It would require a MASSIVE effort to convert the code to make this work again, if it is even possible.
Remember that this is from the people who decided to update all 3000+ functions & objects to make sure that they are Unicode compatible for PHP 6, so they aren’t squeamish about large projects.
The main problem at this point is that the PHP guys don’t seem to understand marketing. While they focused on the new object stuff, backward-compatibility & forced OO FUD took over to the point where people thought that their code would crash and burn if they even looked at PHP 5. This scared the hell out of Webhosts who didn’t want to tick off thousands of customers, and things just snow-balled from there.
Don’t get me wrong, talking about the new object stuff is important, but for a language that is targeted at being easy, advanced OO tends to scare off the target audience, particularly when it is the only thing that you talk about.
There are two things that I think can help here:
1) Create a code evaluation tool that scans PHP 4 code and spits out user-friendly errors and warnings, with details on how to fix them. This tool should be easy to use for even a amateur developer.
2) Create solid set of articles and screencasts demonstrating the features of PHP 5 & 6 and how they can help code that is otherwise straight PHP 4. All of this should linked to directly in the otherwise awesome PHP manual. Again these should be targeted towards the wide array of amateur developers and not the Computer-Science grads.
Comment by pcdinh on 25 July 2007:
@Solsys
You are right. It seems that PHP Engine Team is focusing too much on the technical side and does not pay much attention on how to find a good way to convey a right message to web hosting companies, popular PHP communities and junior programmers. There are too many people who think that PHP5 is objected-oriented PHP only and it will break their code. Or may be a Java-like PHP make them scared. The slow migration to PHP5 is about compatibility. Web hosting companies tend to think that PHP5 is totally a new PHP and it is not well-tested to ensure that it does not break something. PHP 5.0.x is buggy, right?
I love Java and OOP so the transition to PHP5 makes me extremely happy. But it may be not the case with some majority PHP developers out there. A huge load of articles about OO support in PHP5 makes lot of people think that PHP5 forces them to use OO techniques that is not what they expect.
The relation between PHP Core Team and popular web application community is not close too. Nobody in Mambo, Joomla, Wordpress, S9y, PHPBB, SimpleMachines, PubBB, InvisionBoard, VBulletin… give a nice word to PHP5. They are quiet. Why?
Comment by Nick Halstead on 25 July 2007:
pcdinh, The Go PHP 5 site does have a list of projects that are supporting PHP 5.
http://www.gophp5.org/projects
The list includes some big names, Drupal, PhpMyAdmin, PHPUnit. But I agree that there are still plenty of others that need to add their support to the project.
Solsys, I think you are right that there is a lack of information on how easy it is to start using PHP 5 without having to go full OO. But I am not sure this would solve the problem.
The fact is that not being able to run PHP 4 & 5 on the same server (easily) is a barrier and until that barrier is removed people will not upgrade. Joel Spolsky tells a great story in one of his books about how Microsoft killed off many of Lotus applications, how? by removing barriers, they made importers that meant you could easily move from any of their competitors to Microsoft.
PHP 4 & 5 not running together is a barrier that MUST be removed.
Comment by Paul Chandler on 25 July 2007:
I think the problem with adoption is that PHP incremented the MAJOR version number like Apache 2, which is also slow on adoption.
I honestly believe that if PHP 5 were called, PHP 1.5, developers would have seen the changes as an evolution rather than as some line in the sand.
Trackback by Anonymous on 3 April 2008:
Nude Sexy Arab Girls Pics…
Nude Sexy Arab Girls Pics…