Computer software systems are now among the most complex, expensive artifacts ever created by humans, and some of the most sophisticated are being built by teams of volunteers as "open source" projects, where any programmer can read the code and suggest changes. A group of °ÄÃÅÁùºÏ²Ê×ÊÁÏ¿â Davis researchers has just received a three-year, $750,000 grant from the National Science Foundation to study how open source software such as the Apache Web server is built.
Unlike a cathedral or an airliner, there is no "blueprint" for a piece of open source software that shows all the parts in relation to each other, said Premkumar Devanbu, a professor of computer science at °ÄÃÅÁùºÏ²Ê×ÊÁÏ¿â Davis and a principal investigator on the grant. Typically, a small group of programmers looks after the core elements of the system, and the rest is broken up into modules that are attacked by a floating group of volunteers who report flaws and suggest modifications.
Open source defies conventional wisdom about collaborative projects. For example, most office workers know that the slowest member of the team sets the pace for everybody else. But in open source projects, work moves at the speed of the fastest member of the team, and adding more hands speeds things up rather than slowing them down, Devanbu said.
The researchers will focus on the Apache Web server, the PostgreSQL database and the Python scripting language. They will collect information from the message boards, bug reports and e-mail discussions to understand how design teams organize themselves and interact.
Devanbu and colleagues think that the way teams are organized will be reflected in the resulting software. At the same time, the structure of the software will itself have an effect on how teams of programmers are put together. For example, software that is broken into large chunks of code might need a different approach than a structure of smaller chunks.
The °ÄÃÅÁùºÏ²Ê×ÊÁÏ¿â Davis team includes Devanbu; Vladimir Filkov, assistant professor of computer science; Raissa D'Souza, assistant professor of mechanical and aeronautical engineering; Anand Swaminathan, professor in the Graduate School of Management; and Greta Hsu, assistant professor in the Graduate School of Management.
Media Resources
Andy Fell, Research news (emphasis: biological and physical sciences, and engineering), 530-752-4533, ahfell@ucdavis.edu
Premkuma Devanbu, Computer Science, (530) 752-7324, devanbu@cs.ucdavis.edu
Vladimir Filkov, Computer Science, (530) 752-8393, filkov@cs.ucdavis.edu