Abstract

Over the past decade, a new style of software
development, termed open source software (OSS) has emerged
and has originated large, mature, stable, and widely used
software projects. As software continues to grow in size and
complexity, so do development teams. Consequently, coordination
and communication within these teams play larger roles in
productivity and software quality. My dissertation focuses on the
relationships between developers in large open source projects
and how software affects and is affected by these relationships.
Fortunately, source code repository histories, mailing list archives,
and bug databases from OSS projects contain latent data from
which we can reconstruct a rich view of a project over time and
analyze these sociotechnical relationships. We present methods
of obtaining and analyzing this data as well as the results of
empirical studies whose goal is to answer questions that can
help stakeholders understand and make decisions about their
own teams. We answer questions such as “Do large OSS project
really have a disorganized bazaar-like structure?” “What is the
relationship between social and development behavior in OSS?”
“How does one progress from a project newcomer to a full-fledged,
core developer?” and others in an attempt to understand how
large, successful OSS projects work and also to contrast them
with projects in commercial settings.