In 2000, the U.S. General Accounting Office(GAO) developed its own Web-based survey application using a combination of the open source PHP scripting language and the
commercial C language. The GAO chose PHP over Java for a couple of reasons, not the least of which was security.
"Java had some security issues for us, so that was off the table. PHP was just a better fit for us because of its ability
to embed things with HTML pages," says Kevin Dooley, senior IT specialist at the GAO and mastermind behind its survey application.
"And of course it was free to try out, which makes a big difference."
As a congressional agency, the GAO conducts Web-based surveys, polling anywhere from 50 to 22,000 government employees at
a time, as well as carrying out audits of all the executive agencies. In the mid-1980s, the GAO used its DOS-based Computer-Aided
Telephone Interviewing system to do this work. When the agency wanted to upgrade the system, it researched systems built around
commercial software and found nothing that fit its needs — until Dooley discovered the more attractive open source combination
of the MySQLdatabase and PHP.
What clenched the decision was that many agencies the GAO interacts with do not allow Java on browsers for security reasons,
nor do they allow cookies to be stored on machines.
“That really narrowed down the field when we were looking for Web survey software, especially when you are looking to deploy
that software on Linux-based machines,” Dooley explains. “So this is why we developed our own solution.”
Using the C language, Dooley wrote a compiler that reads a questionnaire script form that generates “a ton” of PHP code. The
software is hosted largely on two-processor, Intel-based servers running various distributions of Linux, and four contractors
administer the Linux-based server farm full-time.
“We have people at remote locations around the country, like forest rangers with dial-up connections from the middle of Alaska,”
Dooley adds. “So we were also looking for software that is very lightweight, that only produces HTML pages. We don’t need
the heavy Java-based applications that have to get piped through before they can start running.”
The solution Dooley came up with constitutes a complete development platform. He wrote his own language, the QPL (Questionnaire
Programming Language), which allows programmers to build a Web site using PHP. The GAO shares the software with other federal
agencies, and programmers can go to the agency’s site and downloadit for free. QPL 5.0 was released on Oct. 24, 2003, and was the first version made available to the public.
“Universities pick up on it because they do not have a lot of people to run open source software for them. It is open source
so they can hack into it to make it work the way they need it to,” Dooley says.