Open for business
Having grown comfortable buying open-source programs, agencies begin openly publishing their own software code
- By Joab Jackson
- Jun 01, 2005
Earlier this year, when the Army Research Laboratory posted one of its venerable computer-aided design applications on the Web'including the source code'the program's user base doubled almost overnight. Impressive as the software's sudden popularity was, the laboratory wasn't just interested in generating buzz. It was hoping volunteers would smooth out some of the rough edges on its 25-year-old Ballistic Research Laboratory Computer-Aided Design program.
After all, it worked for NASA. The agency's World Wind satellite imagery program received just such a polish, courtesy of the public at large. Volunteer coders have contributed a number of improvements to World Wind since its release last summer as an open-source project. Likewise, when the Labor Department commissioned an e-learning content management system under an open-source license, a private company was able to improve on a basic design and offer the product back to various Labor agencies as a low-cost CMS.
In government, buying open source is one thing; developing open-source software is another. As agencies increasingly use low-cost or free programs honed by the open-source community'such as Apache Web server software and Perl programming language'they are also finding an open-source model can help develop their in-house applications.
'We are already seeing benefits from going open source,' said Lee Butler, an ARL program manager overseeing the BRL-CAD program. 'We have several people working on the package for platforms we don't currently support. There have been discussions of other people adding features that we have been wanting for several years but didn't have funding for.'
Taxpaying programmers who lighten the government's load? Welcome to a new kind of public-private partnership.Tapping smart people
'Anything that is released under public license encourages reuse,' said Peter Gallagher, president of Development InfoStructure Corp. of Arlington, Va., which designed Labor's content management software. Through that process comes a segment of users'either volunteers or companies'who are smart enough to improve a program significantly.
Sometimes these improvements are the product of simple philanthropy, coming from individuals who spend a few hours of personal time fixing an annoying bug. Other improvements come from companies that will eventually resell or service the software. By releasing the program's source code under a well-crafted end-user license, an agency can reuse those changes and improvements, gratis.
NASA's World Wind has proven a big hit with the public. The planetary visualization application has been downloaded more than 6 million times since September 2004, according to Patrick Hogan, program manager of NASA Learning Technologies, which developed the software. And since the agency released the program under its NASA Open Source Agreement, volunteers have contributed their own modifications.
'A cadre of enthusiasts have gathered around World Wind and donated code to us,' said Hogan, who works at Ames Research Center at Moffett Field, Calif. 'They juiced up the slickness of this program immensely.'
The program presents a view of the Earth that users can spin to find an area of interest. When the user zooms to a location, the program displays the appropriate NASA satellite-generated Earth imagery, Geological Survey topological maps and other geospatial records, which it fetches from the Web. The program can also overlay weather and national disaster information.
Hogan started work on the program two years ago, calling on noted graphics programmer Tom Gaskins to build the basic application kernel. Since its release, the development team has incorporated many improvements from the public.
For instance, volunteer coders provided a modification that smoothes cursor movements. They also added a feature that jiggles the icons when a cursor is placed over them. And they developed a substantial add-on that allows World Wind to access other, non-NASA geospatial imagery Web servers.
'We've built a pipeline into NASA data,' said Hogan, 'You can build learning experiences with this tool.'A friendly face on Army modeling
While NASA offers worldviews to the masses, the Army Research Lab's open-source BRL-CAD allows users to model physical objects.
'BRL-CAD's been under development for over two decades and still lacks much of the polish and user friendliness of the major commercial vendors,' said Christopher Morrison, who works for ARL through IT services company Quantum Research International Inc. of Huntsville, Ala.
Although the Army primarily uses the package for ballistic and electromagnetic modeling, the software can be used for a wide range of engineering and graphics-based projects. Through either a command line or a graphical user interface, users build models by combining primitive shapes. The software can model the entire volume and contents of an object, rather than just surface areas.
Morrison said that by going down the open-source path, the project now gets much more input from other developers. 'Once the BRL-CAD open-source announcement was made, we began receiving source code improvements from the open-source community and e-mails from other project maintainers [who] were interested in collaborating on enhancements,' he said.
BRL-CAD's source code has long been available free of charge, but the previous license was more of a contractual agreement that required the software's managers to process each request, according to Morrison. As a result, end users had to wait for weeks before getting a key to unlock the software.
'The effort involved in going through the whole agreement acceptance process is simply too much if the interest is passing,' Morrison said. Another disadvantage to the license was that users could not redistribute the program.
Under the open-source license, users can download and try the program immediately, and the BRL-CAD team doesn't have to bother with processing requests. (BRL-CAD is posted on SourceForge.net, an open-source development site; go to www.gcn.com
and type 423 in the GCN.com/box.)Open-source from open-source
Not all in-house government open-source ap- plications are created from scratch. Agencies can also use third-party open-source programs to create customized software.
Such was the case with Labor's Workforce Connections content publishing software. Not only did the department cut the cost of developing an agency-specific application by using open-source components, but the open-source license now allows other agencies to use'and improve'the program.
Workforce Connections got its start when Labor contracted with Development Info-Structure to help design the software. Although a few commercial vendors offered the kind of content management software Labor was looking for, they were slow to adopt the Defense Department's Sharable Content Object Reference Model. Labor wanted to use SCORM because it would allow the agency to reuse e-learning content.
Although the agency offered to let the company keep the software itself under a cooperative agreement, Development InfoStructure wanted to use an open-source license. Instead of building from scratch, the company built the program from other open-source programs, including the Zope Content Management Framework, Apache Web Server software and Python scripting language. The company added about 15,000 lines of code that customized the program to SCORM and Labor standards.
The initial development work has since spawned many deployments. Labor's Occupational Safety and Health, Employment and Training, and Mine Safety and Health administrations all use Workforce Connections. Labor made the program available under a GNU General Public License so other agencies could also use it. The Army Corps of Engineers and the Federal Aviation Administration have since signed on.
After completing the Labor work, Development InfoStructure enhanced the program for more general use, renaming it EZ Reusable Objects. It has subsequently used EZRO for other government contracts, such as work for the Agency for International Development.
'Because of the license, we have to publish and share any of the changes we make,' Gallagher said.
The company also uses EZRO as the basis for a hosted service it provides for the Military Spouse Resource Center, a joint Labor and Defense initiative. As military families move from location to location, they can use the Center's MilSpouse.org Web site to research jobs, schools and other pertinent information for all bases, camps and posts.
'If you look at commercial content management systems that could perform similarly, they are very expensive,' Gallagher said, noting that Defense and Labor spend about $150,000 a year maintaining this site.Not all open source is good'yet
NASA has also seen the benefits of repurposing its software. The agency has long left its global climate modeling (GCM) software, as well as its weather data, in the public domain. The material could be a great resource for the public, but it hasn't been easy to work with, at least not for those without considerable computer experience. But because NASA has made the software open to the public, others could build more user-friendly interfaces.
'Much of the open-source [and] public domain software that government science labs produce is extremely complex, poorly documented, and a hodge-podge of legacy and modern code. So, the fact that it's open-source and public domain doesn't make it useful,' said Mark Chandler, a researcher for Columbia University, which runs NASA's Goddard Institute for Space Studies.
Chandler led the development of EdGCM, an effort to make NASA's global climate model software easily usable by the public. The program allows teachers and students to conduct experiments on NASA data in much the same way scientists do. EdGCM is based on NASA's Global Climate Model software, a collection of public domain applications that NASA re- searchers use to study global climates.
'GCMs are massive Fortran programs that require additional programs and Unix scripts to set up and run. None of these essential programs have graphical user interfaces, and [they] require high-level scientific programming skills to operate,' Chandler said.
Chandler's team recompiled and rewrote many of these scripts and programs, and made them accessible through an integrated GUI-based package using Apple Computer programs, such as iPhoto, as stylistic models.
NASA paid for a port to the Microsoft Windows platform, while the project team performed other work on a volunteer basis and with funding from the National Science Foundation, Chandler said.
While the code for EdGCM itself is open-source (the copyright is held by Columbia), it is tied to a commercial database that comes with software from 4D Inc. of San Jose, Calif., which provided the integrated development environment used to build EdGCM. Some of the visualization tools plugged into the program are also not open-source. However Chandler offers the source to anyone who wishes to recompile EdGCM with an open-source database and visualization tools.
Ultimately, a program given to the world under an open-source license can grow and be refined in ways the program manager may never foresee. Jon 'Maddog' Hall, president of Linux International, an organization promoting the development of Linux, calls the open-source model 'an amplification model.'