Why PHP?

Today on twitter there was a conversation going on about the responsiveness of the core PHP developers to PHP users.  The conversation went as follows (I believe that all the tweets here were in response to the overall question, though I may be wrong on a few).

@jwage: Soo, who thinks PHP should be on github as well and not just use git? It seems so obvious it is the right choice it’s painful for me 🙂

@jwage: Any con anyone has does not offset the benefit of the raw exposure php would get to good developers watching and reading commits.

@rdohms: even turning a good page… dev’s are still agressive. why all the defensivenes?

@rdohms: Pretty soon we will be using the Open Bash model … “Contribute or we will bash your head”

@jwage: #php you want ppl to be involved and contribute. Open ur eyes and ears and listen to your users for a change.

@skoop: +1 RT @jwage: #php you want ppl to be involved and contribute. Open ur eyes and ears and listen to your users for a change.

@jwage: You think it’s a coincidence that php is a day late and a dollar short for everything? No! It’s bc they don’t listen to outside world!

@jimbojsb to @jwage: I would consider it an injustice to the community not to go to github. I think github has /php reserved already

@CalEvans to @jwage: Maybe the PHP Core moves slow because changes they make affect a heck of a lot of people, so they think it through.

@jwage to @CalEvans: that’s an excuse 🙂 all the reasons ppl hate PHP wouldn’t exist if the community was listened to.

@jwage to @CalEvans: php core has personal interests first and not the community/language. Which funnels down to all these little problem.

@lsmith to @jwage: not quite so simple/obvious to move #PHP code onto a 3rd party maintained proprietary platform. even self hosted github isnt simple

@CalEvans to @jwage: I disagree. It’s easy to slam PHP and the core. The system isn’t perfect but it has produced a language that has changed everything.

@jwage to @lsmith: it’s only complicated if you make it complicated 🙂 we are making it complicated

@CalEvans: I haven’t said this lately. To EVERYONE who contributed to PHP, THANK YOU. I can do what I do because you gave a little or a lot. 🙂

@jwage to @CalEvans: I still think that’s an excuse. Just bc of past success doesn’t mean things don’t need to change and be improved.

@jwage to @CalEvans: I just don’t accept it. I expect more and want more.

@CalEvans to @jwage: then submit patches, write extensions or fork it and make it better. #loveMeSomeOpenSource

@ElizabethN: To the PHP community, regardless of differing opinions, you are all passionate about PHP’s future & that’s a good thing. Remember that. 🙂

@jwage to @CalEvans: Im a user w a community of users pleading for them to hear the feedback I’m hearing. That’s it 🙂 we haven’t been heard in a while

@weierophinney to @jwage: I think that’s a naive statement. Small language changes can affect millions of users. /cc @CalEvans

@weierophinney to @jwage: I’d like to see the dev pace pick up, but not at the expense of existing apps. /cc @CalEvans

This post isn’t necessarily to correct perceived errors, to stand behind correct statements, or to state what I believe the problem is.  Rather, it is to add something to the conversation that I don’t think I’ve seen much of.  The Twitter conversation was, for me, more of a contemplation kickoff and so the purpose of this post is to propose some thoughts for consideration.  I don’t have sufficient karma to propose changes directly, but I have bet my career on PHP and I want to see it beat the crap out of every language out there.  🙂

Everything successful has a purpose.  That purpose can change over time but a purpose is required.  The purpose of Java is to provide a cross-platform… platform.  The purpose of Perl was to fill a void in report generation.  The purpose of Python was to allow Linux sysadmins to claim to be programmers.  The purpose of Ruby on Rails is to reduce Viagra dependence among developers.  A guiding principle(s) helps to steer a community more automatically.

What is PHP’s purpose?  Originally, it was to build so that you could quickly and easily create websites.  Any PHP developer will know that PHP is so much more than that now.  So what is it’s purpose?

I wanted to see what php.net said its purpose was and the closest I came to was this:

PHP is a widely-used general-purpose scripting language that is especially suited for Web development and can be embedded into HTML.

The problem is that this is a descriptive, not a prescriptive, statement.  In other words, it says WHAT PHP is, not WHY it is.

The reason I bring this up is because there are a lot of statements around what the core developers should be working on, who they are and aren’t listening to, etc. etc.  These are good things to discuss.  But I think that they are a symptom of the problem, not the problem itself.  If the purpose of PHP is explicit then the question of what should be worked on can be easily resolved.  In other words, what is the problem that PHP is supposed to solve and how does the feature in question fit with that?  The strength of the answer would then naturally determine its priority in the task list.

In other words, for the past several years it has seemed that the overarching view is that “PHP is”.  “Why PHP is?” (to quote one of my foster boys who is undergoing speech therapy) is something that should be explicitly stated.  It might be known by the core devs and other people “in the know”, but for a LOT of people the answer would be “because that’s what Drupal/Wordpress/Magento/Joomla is written in”.  If that is up front and center then it can make for an effective filter for new things going into the language.

Feel free to disagree, agree, provide additional thoughts, etc.  I am willing to admit that I’m off-base.  But I’ve been actively involved (meaning that I’m a professional lurker) for several years and in my estimation this would seem to be accurate.

(note – these are my observations and my employer will deny (as they should) any direct involvement other than the fact that I wrote this during my work day)

Leave a Reply

Your email address will not be published.