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.





Your comments (5) Click to add a new comment
emo1912
September 17th
5. Rasmus you hate Ruby and Rails because it's very better and smart programers used it . Because many php programers (including me) switch on ROR and never back again to stupid php !
Alert a moderator
emo1912
September 17th
4. Ruby (on Rails) RULEZZZZZZZZZZ ! php SUX !!!
Alert a moderator
rlerdorf
September 15th
3. And by the way, since this seems to have riled up the Rails folks. I have yet to see a general-purpose framework I like in any language. And like I said, I like Ruby. I simply don't like the performance trade-offs general-purpose frameworks make whether they are written in PHP, Python, or Ruby. I am just as critical, if not moreso, of PHP-based frameworks.
Alert a moderator
rlerdorf
September 15th
2. Note that this was an oral interview done in London on May 9, 2009 pre-Merb. I have no idea why it took the author of this article 5 months to write the "story". Note also that he cherry-picked answers, and didn't match them to the questions in the printed version here.
Alert a moderator
gdonald
September 14th
1. > RL: I think [Ruby on] Rails has tapered out a little bit lately.
No, not at all. The Rails core team has grown quite a bit since the Merb team joined up. We just got the Rails 2.3.4 release a couple weeks ago.
> RL: Maybe the new version that they're coming out with – the one that's actually fast (laughs)
I deploy my Rails apps using mod_rails, and it's very fast. Clearly you're not using it if you think Rails is slow.
> RL: there are performance issues with the scaffolding and stuff
Real sites don't use scaffolding. Scaffolding is something you use in a coffee shop when chatting with a client. Later you go back and actually write the code for the site. Obviously you have little experience with Rails, otherwise you'd know not to try to use scaffolding on a production site.
> RL: But I've never been a huge fan of code generation
That's painfully obvious since no one has ever even come close to building something as powerful as Rails in PHP. Ever heard of meta-programming? Didn't think so.
> RL: Ruby as a language is great, I think it's a really clean and nice language. There just aren't that many people who know it well.
Yeah, the same thing happened to me in 1996 when I began using PHP and began to distance myself and my new web development away from Perl. But it's no problem since PHP coders are coming over to Rails in droves. Don't believe me? Check the daily traffic on the Rails list, and then compare it to the ZF list.
> RL: But when they needed to do something real, they thought, 'Oh ****, I don't know Ruby very well!'
Yeah, the same can be said for any PHP framework. Having to know the language a framework is built in to use it well isn't any fault of Rails.
Alert a moderator
Tell us what you think
You need to Log in or register to post comments