In 1995, when Rasmus Lerdorf started what was to become PHP, the only goal he had in mind was to find out who was reading his resume. At the time, as an independent contractor, Lerdorf was sending potential employers letters of introduction with the URL of his resume. To log visitors to his site, he created a Perl CGI script which inserted a tag into the HTML code of his page, and collected the information on the visitors. To impress potential employers, he started allowing anyone visiting the page to see the logging he was performing.
He called the logging code PHP — "Tools for Personal Home Page," because for him, the use was for his personal home page. A few inquires came in asking how they could get the tools, and Lerdorf decided to give it away. "That's the wonder of software. You can give it away and still keep it for yourself," quips Lerdorf. At the time, the open source movement didn't exist. "Then, it was called freeware." Lerdorf set up the first PHP mailing list in late 1995 for people to share ideas, bug fixes and code.
As a result of his inquiries, Lerdorf got a contract at the University of Toronto to set up a dial-up system for giving students access to the internet. The requirement was a Web-based administrative interface, accessing the student database on the university library system, stored on an IBM mainframe. Library administrators would give students access time based on payments the students made for their internet account, and this information would be updated in real-time in the database.
At the time there was no tool for interfacing web pages and databases. Lerdorf had created a number of tags for insertion in the HTML text, replacing the Perl code with a C wrapper. The tags he called "Form Interpreters" because they would take data that was entered in a form, and convert the data into symbolic variables so they could be exported to other systems.
By combining the Form Interpreter with the PHP-Tools package, Lerdorf came up with the second version of PHP, called PHP-FI, in 1996. Lerdorf toyed with the idea of making it a commercial product. But by that time, he was getting tremendous input from other programmers, who would send him code improvements and bug fixes.
Lerdorf had originally written the code to interface with the MySQL database, but other programmers contributed add-ons which created connectivity to Oracle and Sybase databases. He realized that he was better off keeping the code open, and getting all these free contributions which were increasing his productivity and exposure.
Lerdorf's logic for giving the code away was, "It could only help me. If the entire world uses code that I wrote, eventually I'll get something out of it." (His new job at Linuxcare attests to the truth of that prophecy.) This concept, the concept of open source, was gaining acceptance just then, with the rising popularity of the Apache Web server. This was the first time Lerdorf came was exposed to formal open source licensing, and he realized it was appropriate for the PHP-FI code. "If you're not selling it, you might as well give it away," he says. Like all of the PHP developers, Lerdorf believes that the development of open source is the most sensible way to create code. That's the way coding started, he said, and that's the direction today. "IBM used to give away its code with its mainframe systems," he explains. Fixing bugs and creating custom solutions was a partnership between the customer and the manufacturer, just like open source development today. "They didn't have the resources to resolve all of their bugs." If IBM didn't have those resources, no company can expect to have them.
According to Lerdorf, the only big software company today still pushing proprietary systems is Microsoft. Companies such as Sun and Oracle are opening up their source code more and more, he says. "It's going to be Microsoft and the Open Source Movement," he says, "and even Microsoft is going to have a problem… even if you can put 50 programmers on a job, an open source project can put 5,000 programmers," he continued, "… or 50,000."
Lerdorf continues to be very involved as a core developer of PHP, though the code has been revised and the scripting engine re-written from scratch. Still, the concepts and the inspiration for PHP came from Lerdorf's approach of finding practical and dynamic solutions that Web developers could use in their day-to-day work. Lerdorf's original concept of creating tags within the HTML text for calling C code is revolutionizing the way dynamic Web applications are created. Lerdorf was born in Greenland and lived in Denmark for much of his childhood. After that, he moved to Canada with his family, where he has lived since. This year Lerdorf and his wife Christine are moving from Toronto to San Francisco, USA, as Lerdorf joins Linuxcare Inc. as Senior Open-source Researcher of Linuxcare Inc.