|
Rasmus Lerdorf was born in Godhavn,
Greenland and grew up in Denmark & Canada. He started a project
in 1994 called PHP, which is now widely used in a variety of
applications as an open-source, HTML-embedded scripting language.
PHP allows a variety of task handling such as processing form
input and working with databases directly in HTML pages, rather
than through CGI scripts.
He is currently a member
of the Apache Software Foundation
and on the core team of the Apache HTTPD Server Project. He also
sits on the advisory boards of two companies, ActiveState
& GreatBridge.
He has authored two books on PHP, the second one soon to be published
[see: Bibliography below].
In addition, he speaks at conferences and user groups on PHP,
Apache, Linux or open source in general.
Busy as he is, our questions
caught up with him on his laptop during a flight from San Francisco,
where he now lives, to Boston.
|
Urgig: The impact of the Open Source environment
recently must have had a positive effect on the spread of PHP.
How are the more proprietary vendors adjusting to the popularity
of PHP?
Rasmus Lerdorf: "It definitely has. I started this project
back in late 1994 before the term Open Source even existed, and
Free Software was not a widely known concept. I wrote the initial
versions of PHP because I needed a tool like it to speed up delivery
of web-based applications for clients of my little consulting
business in Toronto. This was the early days of the web so the
clients weren't particularly concerned about the technology I
used, as long as the solution met their requirements.
Today the proprietary vendors
have attacked this market in full force and have spent hundreds
of millions of dollars marketing their products which has the
effect of convincing customers that they need technology ABC
from vendor XYZ or they can't possibly deliver a web-based solution
that works on time and on budget. The truth is that there are
dozens of technologies out there that can all do the job. ASP,
Cold Fusion, Java-based application servers such as Enhydra,
WebLogic and WebSphere, along with mod_perl, Zope and PHP all
play more or less in the same space. They take different approaches
and some are geared towards higher-end solutions, but in the
end they all deliver on the pretty simple concept of sending
ASCII responses to HTTP requests. And from the user's perspective
sitting there with their browser they can't tell, nor do they
care, what technology was used to deliver their HTML page.
So, to try to answer the
question, the proprietary vendors have gone from pitching their
own solutions as the only viable option to reluctant acceptance
that there is a large market out there for open solutions based
on technologies such as PHP and they have started to investigate
this market to see what sort of solutions can be sold into marketspace.
Things such as IDEs (Integrated
Development Environments) from companies such as ActiveState,
NuSphere and Zend
Technologies along with support and training."
Urgig:There are wireless applications like
WAPpop which use the PHPLIB. How do you see the role of PHP solutions
in wireless apps in the coming year?
Rasmus Lerdorf: "PHPLIB has something specific for wireless
applications? I was not aware of that. To me there is no difference
between a wireless app and any other app. I am not concerned
about the presentation layer at all and PHP has nothing to do
with the presentation layer. PHP is created by a community of
developers that develop web-based applications. If there is a
large demand for wireless apps in the coming year and something
is missing from PHP to make it easier to develop them, then this
will be added quickly to PHP. I don't think of things as being
PHP solutions. PHP is simply the tool that allows web developers
to implement their solutions. The fact that these solutions are
written in PHP is coincidental. So the role of PHP in the wireless
space in the coming year is to continue to be the primary tool
for the average web developer to implement their solutions whether
they be for the wired or the wireless web."
Urgig:What is involved in the creation of
a PHP "Sandbox"?
Rasmus Lerdorf: "PHP runs on just about any platform you
can imagine. The best and most flexible sandbox is however a
Linux or a FreeBSD box with a recent version of Apache and either
MySQL or PostgreSQL along with a healthy dose of imaging, Idap,
snmp, and xslt libraries or whatever else strikes your fancy.
PHP does run well on Windows as well, but if you are going to
play with PHP, chances are that at some point you are going to
want to put an application online and most ISP's that support
PHP do so on Linux or FreeBSD-based platforms. You might as well
develop on something as close to your deployment platform as
possible. As it really doesn't take much to install Linuxx or
FreeBSD on an old low-end Pentium box and use that as your dedicated
web and database server sandbox."
Urgig: As of this writing, PHP 4.0.6 has just been released.
In addition to a server API version for Apache, what are some
of the new features you feel are significant?
Rasmus Lerdorf: "Well, PHP has always had an Apache module
version. The important new features and improvements in PHP 4.0.6
over previous versions include a number of low-level fixes in
the Zend engine that improve memory usage and fix a couple of
crash bugs. As for new features the new mysql_unbuffered_query()[see http://php.net/mysql_unbuffered_query] function can really cut down on memory
usage for large MySQL selects and the new GD 2.0 support is also
very nice. You can now do full truecolor image manipulation including
alpha-channel features."
Urgig: Your skills have quite a range! As
lean as PHP is,
are you still designing large UNIX systems?
Rasmus Lerdorf: "I do more speaking and writing about PHP
and open source solutions in general than actual development
of large-scale UNIX-based solutions these days. But yes, I am
involved in a couple of large projects where I am mainly doing
architecture consulting."
Urgig: Now that you're living in the U.S.,
do you have any impression of how the American educational system
encourages computer sciences as opposed to other countries?
Rasmus Lerdorf: "I am probably the wrong person to ask.
I do not have a computer science background. I have an engineering
degree from the University
of Waterloo in Canada. I have never been very interested
in the science of computers. What interests me are the problems
out there that people have. Computers are a wonderful tool to
solve a lot of these problems and I have and I have become quite
adept at glueing things together to solve these problems. That
is basically what PHP has always been. It is a glue language
that glues the web server to all the interesting backend libraries
available out there.
I have never been interested
in programming for the sake of programming. I have reluctantly
resorted to programming when I couldn't find an existing piece
of code I could use. Programming is a dull and tedious task as
far as I'm concerned.
But, as far as the American
educational system goes, you are asking me to generalize here.
From visiting universities in India and Brazil, I can say that
students there work longer and harder than the average North
American CS student. But that is a reflection of the fact that
we live in a strong economy where things come much easier to
us. There is no strong motivation to work like a dog to escape
the poverty that is all around you."
Urgig: Growing up as a Dane in Greenland,
did your teachers foster your early interest in technology or
were you entirely self-driven in your interest?
Rasmus Lerdorf: "I
only spent 3 years in Greenland and then I moved to a town near
Copenhagen and lived there until I was 12. But no, I don't think
the teachers I had in Denmark did anything special to foster
and interest in technology. But my father is an engineer as well,
so that probably had something to do with it. In Greenland he
ran an ionosphere research station and I had a set of instruments
I was allowed to play with."
Urgig: So much innovation comes out of 'left
field' and through the individual programmer. Do you have any
advice for programmers who have developed solutions but don't
have an arena where they're employed to implement them, even
though these same new applications may be needed elsewhere?
Rasmus Lerdorf: "Generally if the solution is useful
to one person, it will be useful to more. I don't think you necessarily
need to be employed in specific arena to get these solutions
out there. Anybody can sign up for a sourceforge account, for
example, and if others are interested in the solution, they will
start using it and will eventually contribute to it."
Urgig: According to Netcraft, PHP is now
on more than 6 million domains. Someone has even developed a
web-based electronic voting system that uses PHP. Do you ever
have introspective moments where you wonder how things would
be had you not wanted to see who was coming to your home page
and written that first bit of code?
Rasmus Lerdorf: "Someone else would have written it
if I hadn't. Too many people find PHP's approach to be intuitive
for it not to have come to be. And the truth is that others did
write similar solutions. PHP just seems to have trickled to the
top of the heap due to a combination of openness when came to
accepting contributions from other and just pure luck in being
at the right place at the right time."
Urgig: If we were working together on a project
and you sent me to the phone to order pizzas, what toppings would
yours have on it?
Rasmus Lerdorf: "Well, if I was in Brazil (where I lived
for a while) it would definitely have palmito (sometimes called
heart of palm here I think) and a few chicken hearts on it. Pizza
toppings in North America tend to be rather boring, but I usually
go for jalapeños, mushrooms and sausage."
|