Drupal is Part of the Problem

Should Drupal move to PHP 5?

In one word: absolutely.

In one sentence: if we don't, the drupal project will die along with PHP.

My friends, PHP is dying. Every day, the best programmers are moving to, faster, better constructed, more powerful languages such as python and ruby. The developers of PHP have been aware of this for some time. That's why they released PHP 5*. 

PHP 5 was a significant counter attack on PHP's biggest weaknesses.  Among other things, it allows PHP to be a true object oriented langauge. However, the real meat of PHP5 isn't the flung OOP buzzword, but the fine details. For example, being able to pass a variable by reference in a foreach loop... however, this post isn't about PHP 5.

So if the PHP developers aren't to blame for PHP's impending death, who is? Well, that would be us. Or more specifically, those who champion sticking with PHP 4 on "practical" grounds. If you ask me, I see nothing practical about  making our technology obsolete on the grounds of "playing it safe" .

The entire situation with php 4 vs 5 is much as George Orwell described the decay of the English lanuage:

But an effect can become a cause, reinforcing the original cause and producing the same effect in an intensified form, and so on indefinitely. A man may take to drink because he feels himself to be a failure, and then fail all the more completely because he drinks.

If I may be so bold, its the proponents of PHP 4 support who are keeping this cycle from being broken. All it takes is for someone, somewhere, to stop drinking the php4 support koolaid. I, along with many others, would be proud if it were the drupal community that draws the line, and stops drinking the koolaid of our demise. It would be a real chance for us to show leadership to the open source community. My guess is that others will follow our lead, which will result in hosting companies finally getting off their lazy, fat, grotesquely slothful asses and upgrading their freaking PHP version (its not that hard! for gods sake!).

What would have happened if 80 percent of drupal users and developers had never upgraded to 4.7 on the grounds that "4.6 worked", and "migrating is such a pain", and "most modules aren't compatible with 4.7". 

Sooner or later we'd find that module developers weren't interested in developing for 4.7 because "most of the user base is still using 4.6". Its not difficult to imagine what kind of effect this would have had on drupal development.

I imagine this is exactly how the PHP development community feels. They put a lot of hard work into making our lives easier (believe me, after getting used to PHP 5, you will refuse to develop against PHP 4 -- and if clients servers don't support php 5, all you have to say is "i can develop 30% faster..."[+], and trust me only an idiot of a client won't upgrade).

Not only have we forgotten to say thank you; we've largely sent their gift back with a "return to sender".

***

If drupal is to truly evolve, its going to need to evolve beyond an obsolete version PHP. I swear this point should be obvious to everyone, but it seems it isn't.

We can never future proof drupal, but we can at least make drupal more future resistant by beginning to take small steps toward dropping support for php 4.

My recommendation would be to announce Drupal 8 is dropping support of PHP 4. The optimist would say that this gives users a good 1 year warning. Drupal developers know this translates to at least 1 year and 3 quarters.

The point is we give users sufficent warning to upgrade their hosting to something more suitable for an application like ours, which has far outgrown the awkward lanky adolescent that was PHP 4.  Those who refuse to upgrade hosting (in all reality, site5 offers more for less than most every hosting company AND supports php5... so actually, smart consumers can save money by moving to php5 supporting hosts...)  can find another CMS.

Meanwhile, just imagine what we could do to the drupal codebase with PHP 5. My inkling is that Chx is already thinking about this. :-)

Note:

* There's a six too!

+ hopefully you are charging enough that 30% increase in productivity is a greater than the 100 dollars it costs to host this and 3 other sites at site5. If you aren't, you really need to raise your rates.