Date: Thu, 4 Dec 2003 14:02:38 +0530
From: Subbiah Arunachalam
National Science Foundation
4201 Wilson Blvd.
Arlington, VA 22230
"Where discoveries begin"
For Immediate Release
December 3, 2003
NSF Media Contact: David Hart, 703-292-7737, mailto:dhart@nsf.gov
dhart@nsf.gov
FASTER, BETTER, CHEAPER: OPEN-SOURCE PRACTICES MAY HELP IMPROVE
SOFTWARE ENGINEERING
ARLINGTON, Va.-Walt Scacchi of the University of California,
Irvine, and his colleagues are conducting formal studies of the
informal world of open-source software development, in which a
distributed community of developers produces software source code
that is freely available to share, study, modify and
redistribute. They're finding that, in many ways, open-source
development can be faster, better and cheaper than the "textbook"
software engineering often used in corporate settings.
In a series of reports posted online (see http://www.isr.uci.edu
www.isr.uci.edu),
Scacchi is documenting how open-source development breaks many of
the software engineering rules formulated during 30 years of
academic research. Far from finding that open-source development
is just software engineering poorly done, Scacchi and colleagues
show that it represents a new approach based on community
building and other socio-technical mechanisms that might benefit
traditional software engineering.
"Free and open-source software development is faster, better and
cheaper in building a community and at reinforcing and
institutionalizing a culture for how to develop software," said
Scacchi, a senior research scientist at UC Irvine's Institute for
Software Research who has taught software engineering for two
decades. "We're not ready to assert that open-source development
is the be-all end-all for software engineering practice, but
there's something going on in open-source development that is
different from what we see in the textbooks."
Scacchi and his colleagues are studying open-source projects to
understand when the processes and practices work and when they
don't. These findings may help businesses understand the
implications of adopting open-source methods internally or
investing in external open-source communities. The studies are
supported by several Information Technology Research awards from
the National Science Foundation (NSF), the independent federal
agency that supports fundamental research and education across
all fields of science and engineering.
Three projects-one by Les Gasser at the University of Illinois,
Urbana-Champaign, and Scacchi, one by Scacchi and John Noll of
Santa Clara University and one led by UC Irvine's Richard
Taylor-are applying the lessons learned from open-source
practices to create new design, process-management and knowledge-
management tools for large-scale, multi-organization development
projects.
"In many ways, open-source development projects are treasure
troves of information for how large software systems get
developed in the wild, if you will," Scacchi said.
Open-source project databases, for example, record hundreds of
thousands of bug reports. Gasser and Scacchi are mining those
databases to try to understand how bug reporting relates to
software quality or if it has other implications. "These are
unprecedented data sets in software engineering research," he
said. "We're thinking of these databases in a 'national
treasure' sense. We're never going to get this from a corporate
source."
Not all open-source projects are alike, however. A small number
of open-source projects have become well known, but the vast
majority never get off the ground, according to Scacchi. He and
his colleagues are trying to understand how successful projects,
such as the Linux Kernel, grow from a few individuals to a
community of a thousand developers.
Similarly, they are trying to determine whether or not opensource
software is appropriate for complex, fixed requirements projects
of interest only to a limited community (for example, air defense
radar software). It is unclear whether such systems can or will
ever be developed in an open manner, or whether open-source
approaches would falter, while traditional software engineering
approaches would succeed.
To explore the breadth of open-source activity, Scacchi and
colleagues are looking at more than a hundred projects in several
categories: network games, Internet and Web infrastructure,
academic and scientific software and industry-sponsored
activities.
The network games include PlaneShift, Crystal Space, and game
"mods" for Epic Games' Unreal or id Software's Quake game
engines. Internet and Web infrastructure projects range from
Linux Kernel, Apache and Mozilla to GNU Enterprise. In another
project, Mark Ackerman at the University of Michigan and Scacchi
are examining how scientists working in fields like X-ray
astronomy and deep-space imaging are using opensource software to
support basic scientific research. More recent efforts are
examining industry-sponsored open-source projects including
NetBeans from Sun Microsystems and Eclipse from IBM.
"The software-intensive systems in today's world have become so
complex that we need every available design tool at our
disposal," said Suzanne Iacono, NSF program director. "Open
source development has achieved some remarkable successes, and we
need to learn from these successes as our systems become
increasingly distributed, complex and heterogeneous. Traditional
software engineering methods were originally developed for single-
system design and development."
The researchers have so far identified a number of ways in which
open-source development surpasses traditional software
engineering. In successful projects, open-source
development is faster in the pace of evolution and the rate of
software growth. Expertise also spreads faster through the
community.
The researchers also report that open-source development is
better because of, among other features, its informality, which
enables continuous system design and more agile development
processes. And open-source is cheaper because the development
tools are often open-source themselves and because other costs
are often subsidized by corporate donations, volunteer efforts
and "gifts" for the collective good.
"Open-source is not a poor version of software engineering, but a
private-collective approach to large-software systems," Scacchi
said. "This is perhaps a new fertile ground between software
engineering and the world of opensource and may be what the open-
source community can contribute to new academic and commercial
development efforts."
###
NSF PR03-132
NSF Program Officer: Suzanne Iacono, 703-292-8930, mailto:siacono@nsf.gov
siacono@nsf.gov
Principal Investigator: Walt Scacchi, 949-824-4130,
mailto:wscacchi@ics.uci.edu wscacchi@ics.uci.edu
ISR Open-Source Software Development Research at UC Irvine:
http://www.isr.uci.edu/research-open-source.html
http://www.isr.uci.edu/research-open-source.html