Builder Australia recently caught up with PHP innovator Rasmus Lerdorf, to talk about the success of PHP, the open source movement and what we can expect to see in PHP 5.
Q: PHP is now being used by over 10 million domains across the world. How does that make you feel being the originator of PHP?
It's not me, it's a whole group of people. It's the whole community behind it that created PHP not me. I do feel cool kicking off the [PHP] community, I do think we did a good job. We have built it so that it is useful to a lot of people and has changed the way people see the web, use the Web and it made it more accessible.
You're now working at Yahoo, what is your role there?
Yahoo has many different technologies so I'm trying to focus on a few key technologies instead of having so many different ones. They chose PHP and that's [the implementation] I'm helping to do.
You said during your Introduction to PHP talk at Linux.conf.au that you hated programming. What do you prefer doing?
I like solving problems, I like building something that solves a real problem and actually helps people or affects people. To do that you normally have to program unfortunately so I end up doing that. I mean I don't hate the industry of programming, I just hate the actual sitting down and doing the programming, it's very boring and very tedious. The end result is cool and that is what I like doing. I enjoy just normal technical geeky things. Other than that there's my new baby.
What do you think of open source in government and education?
It's common sense that they should not rely on closed source, because they don't know exactly how it works. Microsoft have come out saying they are releasing their [Windows] source code, but there are going to be all sorts of restrictions on that. I'm sceptical of that. With open source stuff they can hire people to read and audit the code and they don't have to sign the really nasty non-disclosure agreements.
More on the education side they should use open source software. It makes no sense to base an educational system on property software. All you are doing is generating new customers for a company as opposed to creating the people that might be the next Microsoft. For example if you have a database course, use an open source database and show them how the database works. Not everyone is going to dig into the guts of this thing, but there will be two or three kids in every class that will, and from what they will learn they can build the next great database. It's crazy when educational systems don't go with open source and go all Microsoft. That is where governments really should be pushing universities.
Doing a Masters of .NET? Now that's a joke. Governments at the national level should push universities to go with open source systems, despite the kickbacks they might receive [by opting for proprietary systems]. In the long run it's going to help a lot more than it's going to hurt. I've met a lot of MCSE folks, some of them are great, some don't know anything. Some people are great at taking tests, they couldn't do any independent thinking if it killed them.
There is a survey of open source developers that the Boston consulting group did last year. It was notable that there was a lack of developers from India and China. What do you think of the uptake of open source projects in those countries?
I have been to India a few times giving talks, it is huge. The governments in some states in India are pushing Linux and open-source development in their computer science programs. There are a lot of developers who can speak English and read English, so they can easily slip in and be productive. I think once we get more Internet connectivity, which is a big "if" in India, everyone else in the world could quit [and let India] maintain all the development. They have so many people there, so many good developers, its amazing.
The Chinese government is quite anti-American, for obvious reasons, and don't necessarily want American corporate products all over China. South America, Argentina, Brazil, Uruguay, Columbia and other places I've been to, are very much interested in generating their own software industry based on open source.
How will PEAR fit into the scheme of things with PHP?
I think it's vital. We need a better way of installing applications. The PEAR installer is needed at this point, as it is hard to download any PHP application and just make it work. If we can get a single unified installer so you can see PEAR and just make it work, that would be cool.
What key features can developers expect in PHP 5?
How do you rate Open Source Documentation?
Across the board it's pretty poor I think. There are too many examples of open source code with proprietary documentation. That's a little bit annoying. If you really want to use it you have to buy the book. It's been getting better. But overall it's not great because it's hard to motivate people to write really good documentation. Often with developers they either hate doing it, or are really bad at it, so you need other people who are really good technically who will sit and spend the time to write documentation. We've done pretty well at PHP. We treat documentation folks just like developers, they have just as high a profile. Somehow we have attracted a lot of people who are interested in documentation.
What do you think of the Apache 2.0 right now?
I'm not a big fan of 2.0 right now. It works as a stand-alone server, serving static pages, but the multi-threaded model [which runs] on UNIX is not quite there in many cases. Individual applications that don't rely on a whole slew of different third party libraries can be written to be very thread safe, very nice and very fast. But general-purpose stuff like PHP and PERL which tie into so many different libraries [are more of a concern because] we don't know if those libraries are safe or not. My concern with PHP and Apache 2.0 right now is that if we go Apache 2 with a threaded MPM at this point, there is a lot of stuff that will break. I don't think there is a compelling reason to switch to Apache 2.0 at this point, there is no killer feature. Apache 1.3 does the job. There are some killer features in the pipeline, when they get completed, and when they work, we will make all this stuff work under Apache 2.0, but right now it's a lot of work with very little benefit. It will take a couple of years still before Apache 2.0 and PHP will work well.
What do you think of ASP.NET and ColdFusion MX and how do you think they compare to PHP?
ColdFusion I think is dead, and ASP.NET is very windows-centric. Coldfusion I find way too pointy, clicky, "GUIy" to be useful for anything. ASP is cool you can basically do the same things. I just don't like being restricted to a single platform. I don't like how proprietary it is, I don't like how closed it is. I prefer open environments. I prefer being able to change my tools and talk to the developers. Who wrote ASP? Microsoft? No they didn't, some guy at Microsoft did. I don't like being hidden from the tools that are important to my business.