In a series of online reports
UCI computer science researcher Walt Scacchi is documenting how
open-source development breaks many of software engineering's formal
rules, representing a new and better approach based on community
building.
"This is perhaps a new fertile ground between software engineering and
the world of open-source, and maybe what the open-source community can
contribute to new academic and commercial development efforts,"
Scacchi told NewsFactor.
Software Wants to be Free
"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.
"We're not ready to assert
that open-source development is the be-all and 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."
Studying open-source projects to understand when the processes and
practices work and when they don't, Scacchi and his colleagues hope to
help businesses understand the implications of adopting open-source
methods internally or investing in external open-source communities.
Bug Influence
Scacchi joins other researchers -- Les Gasser at the University of
Illinois, John Noll of Santa Clara University, and UC Irvine's Richard
Taylor -- "in applying lessons learned from open-source practices to
create new design, process-management and knowledge-management tools
for large-scale, multi-organization development projects," said
National Science Foundation (NSF) spokesperson David Hart.
Mining open-source project databases, which record hundreds of
thousands of bug reports, Gasser and Scacchi are trying to understand
how bug reporting relates to software quality.
"These are unprecedented data sets in software engineering research,"
Scacchi told NewsFactor. "We're thinking of these databases in a
'national treasure' sense. We're never going to get this from a
corporate source."
When Open Sources Close Up Shop
While a small number of open-source projects, such as Linux (news - web sites), have become
well known, the vast majority fail, Scacchi explained.
Understanding how successful projects, such as the Linux kernel, grow from a few
individuals to thousand-developer communities is essential to open-source research.
"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.
Scacchi and colleagues are looking at more than a hundred open-source
projects in several categories. On their list of more to explore:
network games such as PlaneShift and id Software's Quake; Internet and
Web infrastructure projects, such as Apache and Mozilla; and
industry-sponsored open-source projects, such as NetBeans from
Sun Microsystems and
IBM's Eclipse.
Evolution Revolution
Informal, agile, and cheaper, open-source development provides faster
software evolution. It also quickly spreads expertise through the
development community, Scacchi explained.
"Open-source is not a poor version of software engineering, but a
private-collective approach to large-software systems," Scacchi said.
"The software-intensive systems in today's world have become so
complex that we need every available design tool at our disposal,"
said NSF program director Suzanne Iacono. "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."