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.