How PHP became such a huge success

Rasmus Lerdorf
Rasmus believes that a healthy open source project has a shared power base, not a single leader

Rasmus Lerdorf is undoubtedly the most famous Greenlandic geek alive. Having created PHP as a bunch of hackish scripts to support his website in 1995, he turned it into a powerful, fully fledged language that's now used by millions around the world.

Linux Format magazine caught up with him to find out more about his position in the PHP camp today and the decisions he made early on that made the project a whopping success.

Linux Format: How much involvement do you have with PHP development today?

Rasmus Lerdorf: A lot less now than 10 or 15 years ago, that's for sure. But I still read the mailing lists every day, discuss features and fix bugs occasionally. Personally, I tend to be more interested in security and performance-related issues than other things. I'm as involved as I have been in years.

LXF: What's the structure of the PHP team? It doesn't seem clear...

RL: There is no structure!

LXF: Who makes the final decisions?

RL: We do. We have a mailing list called Internals that's completely open – anyone can subscribe to it, read it, post to it and I've always been insistent on keeping the process transparent. Anybody can go back and read the mailing list archives to figure out how we got to any one position.

It tends to be that code wins. If two groups are arguing, but one group has an implementation and the other doesn't, well, the implementation wins. It almost doesn't matter how braindead it is; if we should have the feature, but we can't agree on the implementation, we'll go with whoever builds it.

LXF: Is there pressure to be the final arbiter of decisions?

RL: Sure, there is. I've always tried to downplay that role, because I don't want to have the final say in a lot of these things. I want the project to be self-sufficient and I want it to be self-propelling. If I'm in the loop as the decision-maker, I make every decision – that doesn't scale at all.

Honestly, there's a bunch of things I don't know enough about. I mean, take Sybase. I've never used Sybase in my life. How would I make an intelligent decision about this versus that with a Sybase extension? For a lot of PHP, that's the way it is. There are groups of people that are much better off making these decisions.

LXF: Has that slowed down development of PHP 6? It's been in progress for two and a half years...

RL: What's slowing down development on 6 isn't decision making: it's finding people interested in and capable of doing unicode-oriented programming. It's difficult – unicode isn't easy. There's a lot of complexity, and there's also plenty of people who don't care that much.

From a big-business point of view, everyone wants unicode in there, but from a day-today perspective, a lot of people don't need unicode because they're building things for one locale. Theoretically, everyone wants to go to UTF-8 eventually. But it's one of those 'I'll get to it later' things. It doesn't have the same sense of urgency as many of the other features in PHP.

When someone says: "I need this now," that's when things start moving. Developers are responsible for this in their own use, their jobs, their companies, whatever. That's not quite there in PHP 6. It's being pushed mostly by the larger companies, because they're the ones that tend to need internationalisation.