Something happened at php|tek 2009. Okay, lots of stuff happened. I mean something big happened at php|tek 2009. A group representing a number of different frameworks got together and agreed to… well, they agreed to talk. What came out was the PHP Standards Group.
First, it is led by some amazingly smart people. I've met just about everyone in the group and they're people who genuinely want to do things better.
Second, it's dealing with a problem we've all fought with… Coding Standards. Everyone hates appreciates loves coding standards. Sure, they make lots of sense until you actually have to do them and then everyone gets just a little annoyed.
Finally, there's how they're dealing with membership into the core group. Here's a snippet from Cal Evan's notes of the first meeting:
If you want to get involved, petition for membership. I'll have to warn you though that I think all of us are in agreement that too many cooks spoil the broth. I hope that the wisdom of the first meeting prevails and the bar for membership is set high. Just disagreeing with the standards we set isn't enough to warrant membership. (again, IMO)
I considered applying. I know many of the guys – I got half of them on video at php|tek 2009 – and I could probably make a strong case for inclusion in the group. I've been a strong advocate of CodeSniffer in the Subversion process for years, a regular and vocal organizer in the PHP community, and often get credit for asking good questions and warming people up to good ideas. All of that said, I considered their goals and asked myself four questions:
Would it be a good addition to my resume? Of course. There are few things that would better demonstrate a deep understanding of coding practices and a dedication to solid principles. But all of that said, what value could I provide?
Do I have a unique point of view to share? Probably not. The group has four major frameworks represented along with PEAR and the general community. There are numerous points of views and perspectives that I think everyone will be argued over enough to make my hair bleed.
Do I have unique experience or clout to bring to the group? Nope. I tend to use the tools and build custom things on top of them. I'm a consumer of these projects, not a contributor.
Is there a mechanism to voice concerns and ask questions? Yes, all of these guys are regular conference go'ers – I've seen most of them at 2+ in the last year – and they have a publicly available mailing list.
And after those four and a bit of flaming on the list, another question became relevant:
And the biggest question… Are they being elitist?
Yes, out of necessity.
No matter how chaotic or crazy the Open Source community appears, at the core of any project, you see something a little bit different. In almost every single case, you have a small group of people who helped create or currently drive the project making the final decisions on things. We even have a phrase to describe it: “Benevolent Dictator for Life.” Even more interesting, the people observing and studying us have a phrase to describe it: “the onion model”.
Either way, you end up with a core group of people who absorb information from the other layers and community and at some point – as leaders – have to make a decision. It doesn't mean they're not part of the community or dislike or anything of the sort… it simply means that you can't please all of the people all of the time.
Regardless, I'm going to watch what they're doing… not only to have an idea what things are being considered, but also to learn from a great group of people. I look forward to seeing what they'll come up with in the coming months and even years.
Personally, I trust this group and know they have and will continue to apply some serious thought to the development concerns and differences and come up with ideas that mostly work for the most people. And even if no one else follows the standards, the fact that all these groups do is powerful.
Good luck, gentlemen.
* Comic copyright David Farley, used without permission but permission was sought.