Return to search

Release management in free and open source software ecosystems

Releasing software is challenging. To decide when to release software, developers may
consider a deadline, a set of features or quality attributes. Yet, there are many stories of
software that is not released on time. In large-scale software development, release management
requires significant communication and coordination. It is particularly challenging
in Free and Open Source Software (FOSS) ecosystems, in which hundreds of loosely connected
developers and their projects are coordinated for releasing software according to a
schedule.
In this work, we investigate the release management process in two large-scale FOSS
development projects. In particular, our focus is the communication in the whole release
management process in each ecosystem across multiple releases. The main research questions
addressed in this dissertation are: (1) How do developers in these FOSS ecosystems
communicate and coordinate to build and release a common product based on different
projects? (2) What are the release management tasks in a FOSS ecosystem? and (3) What
are the challenges that release managers face in a FOSS ecosystem?
To understand this process and its challenges better, we used a multiple case study
methodology, and colleced evidence from a combination of the following sources: documents,
archival records, interviews, direct observation, participant observation, and physical
artifacts. We conducted the case studies on two FLOSS software ecosystems: GNOME
and OpenStack. We analyzed over two and half years of communication in each ecosystem
and studied developers’ interactions. GNOME is a collection of libraries, system services,
and end-user applications; together, these projects provide a unified desktop —the GNOME
desktop. OpenStack is a collection of software tools for building and managing cloud computing
platforms for public and private clouds. We catalogued communication channels,
categorized coordination activities in one channel, and triangulated our results by
interviewing key developers identified through social network analysis.
We found factors that impact the release process in a software ecosystem, including a
release schedule positively, influence instead of direct control, and diversity. The release
schedule drives most of the communication within an ecosystem. To achieve a concerted release,
a Release Team helps developers reach technical consensus through influence rather
than direct control. The diverse composition of the Release Team might increase its reach
and influence in the ecosystem. Our results can help organizations build better large-scale
teams and show that software engineering research focused on individual projects might
miss important parts of the picture.
The contributions of this dissertation are: (1) an empirical study of release management
in two FOSS ecosystems (2) a set of lessons learned from the case studies, and (3) a theory
of release management in FOSS ecosystems. We summarize our theory that explains our
understanding of release management in FOSS ecosystems as three statements: (1) the size
and complexity of the integrated product is constrained by the release managers capacity,
(2) release management should be capable of reaching the whole ecosystem, and (3) the
release managers need social and technical skills. The dissertation discusses this theory in
the light of the case studies, other research efforts, and its implications. / Graduate / 0984 / gpoo+proquest@calcifer.org

Identiferoai:union.ndltd.org:uvic.ca/oai:dspace.library.uvic.ca:1828/7648
Date02 December 2016
CreatorsPoo-Caamaño, Germán
ContributorsGerman, Daniel M.
Source SetsUniversity of Victoria
LanguageEnglish, English
Detected LanguageEnglish
TypeThesis
RightsAvailable to the World Wide Web, http://creativecommons.org/licenses/by-sa/2.5/ca/

Page generated in 0.0022 seconds