Saturday, December 16, 2006

Analyse open source development process

US researchers have secured a $750,000 three-year grant to study how open source software such as the Apache web server is built.

The group from UC Davis, which was awarded the funding from the National Science Foundation, pointed out that, unlike the construction of 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.

Computer software systems are now among the most complex, expensive items 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 improvements.

Premkumar Devanbu, a professor of computer science at UC Davis, explained that the open source development process typically sees a small group of programmers look after the core elements of the system with the rest being broken up into modules that are attacked by a floating group of volunteers.

He added that 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 accelerates rather slows the project.

The researchers will focus on the Apache Web Server, the PostgreSQL database and the Python scripting language.

They will collect information from message boards, bug reports and email discussions to understand how design teams organise and interact.

Professor Devanbu believes that the way teams are organised is reflected in the resulting software. At the same time, the structure of the software will have an effect on how teams of programmers are put together.

For example, software broken into large chunks of code might need a different approach than a structure of smaller chunks.