Measuring Inner Source Collaboration

Language
en
Document Type
Doctoral Thesis
Issue Date
2020-07-06
Issue Year
2020
Authors
Capraro, Maximilian
Editor
Abstract

Inner source (IS) is the use of open source software development practices and the establishment of open source-like communities within an organization. The organization may still develop proprietary software but internally opens up its development. IS promises to resolve problems of traditional software development by easing software reuse and enabling parties within an organization to collaborate across organizational boundaries.

However, it is unclear what elements constitute IS (problem I) and how to measure the presence and magnitude of IS collaboration (problem II). The large majority of research articles on IS to date are limited to qualitative results regarding IS. There are yet no quantitative studies on IS collaboration exploring how much IS collaboration takes place or how IS practices affect it (problem III).

We followed a three-phase research approach to address these problems. First, we performed an extensive literature survey and analyzed 43 IS publications. We found that four key elements constitute IS (shared cultural values, open development environment, communities around software, IS-specific scenarios) but that IS programs and projects differ on at least five dimensions (addressing problem I).

Second, we developed the patch-flow method (and a software tool implementing it) for measuring IS collaboration. Patch-flow is the flow of code contributions across organizational boundaries (silos) such as organizational unit or cost center boundaries. We evaluated the method using case study research with a non-trivial industry organization and found it to be viable and useful to practitioners (addressing problem II).

Third, we performed a multiple-case case study with three large software organizations running a total of five IS program. We identified the used IS practices and the resulting patch-flow. We found patch-flow to exist in all organizations but that only fraction of all code contributions to IS projects constitute patch-flow. We observed that the number of IS practices implemented correlates with the distance of parties involved in collaboration. This indicates that IS is particularly suited to enable collaboration between parties of high distance in an organization (addressing problem III).

This thesis delivers a holistic definition of IS and the first classification framework for IS programs and projects. Researchers can use such a framework to reason about generalizability of their results more precisely. The patch-flow measurement method is the first of its kind to measure and quantify IS collaboration and can serve as a base for further quantitative analyses of IS collaboration. The exploration of the patch-flow in the three industry cases can serve as example and benchmark for practitioners.

Abstract

Inner Source (IS) ist die Verwendung von Softwareentwicklungspraktiken aus dem Open-Source-Umfeld und die Etablierung von open-source-artigen Communities innerhalb der Grenzen einer Organisation. Die Organisation kann dabei weiterhin proprietäre Software entwickeln und öffnet die Softwareentwicklung lediglich für interne Teilnehmer. IS löst Probleme der traditionellen Softwareentwicklung, in dem es Wiederverwendung vereinfacht und Parteien innerhalb einer Organisation erlaubt, über organisationsinterne Grenzen hinweg, zusammenzuarbeiten.

Allerdings ist unklar, welche Elemente IS definieren (Problem I) und wie man das Vorhandensein und Ausmaß von IS-Zusammenarbeit messen kann (Problem II). Die Mehrheit an existierenden Forschungsartikeln zu IS präsentiert lediglich qualitative Ergebnisse. Es gibt bis jetzt keine quantitativen Studien, die explorieren wie viel IS-Zusammenarbeit vorkommt oder wie IS-Praktiken sie beeinflussen (Problem III).

Wir adressieren diese Probleme mit einem Forschungsansatz in drei Phasen: Im der ersten Phase führen wir ein umfangreiches Literatur-Survey durch und analysieren 43 Publikationen zu IS. Wir stellen vier Schlüsselelemente vor, die IS ausmachen (gemeinsame kulturelle Werte, eine offene Entwicklungsumgebung, Communities um Software, IS-spezfische Szenarios) und zeigen, dass IS-Programme und -Projekte sich in mindestens fünf Dimensionen unterscheiden können (adressiert Problem I).

Im zweiten Schritt entwickeln wir die Patch-Flow Methode (und ein Softwarewerkzeug, dass sie implementiert) um die Vermessung von IS-Zusammenarbeit zu ermöglichen. Patch-Flow ist der Fluss von Codebeiträgen über organisationsinterne Grenzen (Silos) wie beispielsweise Organisationseinheiten oder Kostenstellen hinweg. Wir evaluieren die Methode mittels Fallstudienforschung in einer nicht-trivialen Organisation und zeigen, dass die Methode in der Praxis umsetzbar und für Praktiker von Nutzen ist (adressiert Problem II).

Im dritten Schritt führen wir eine Fallstudie mit drei großen Softwareorganisationen durch, die insgesamt fünf IS-Programme betreiben. Wir identifizieren verwendete IS-Praktiken und vermessen den Patch-Flow. Patch-flow existiert in allen untersuchten Organisationen, jedoch ist nur ein Bruchteil aller Codebeiträge Patch-Flow. Wir beobachteten, dass die Anzahl der IS-Praktiken mit der Distanz der zusammenarbeitenden Parteien korreliert. Das deutet darauf hin, dass IS besonders geeignet ist, um Zusammenarbeit zwischen Parteien in hoher Distanz zu ermöglichen (adressiert Problem III).

Diese Thesis präsentiert eine umfassende Definition von IS sowie das erste Klassifikationsrahmenwerk für IS-Programme und -Projekte. Forscher können das Rahmenwerk nutzen um die Generalisierbarkeit ihrer Ergebnisse präziser zu diskutieren. Die Patch-Flow Methode ist die erste Methode zur Vermessung und Quantifizierung der IS-Zusammenarbeit. Sie kann als Basis für weitere quantitative Analysen der IS-Zusammenarbeit dienen. Die Exploration des Patch-Flow in drei Organisationen dient als Beispiel und Benchmark für Praktiker.

DOI
Faculties & Collections
Zugehörige ORCIDs