Guiding Development of Contribution and Community Strategies in Open Source Software Requirements Engineering - PhD Defence by Johan Linåker
Author: Johan Linåker, Departmen of Computer Science
Location: E:1406, E-building, Ole Römers väg 3, LTH, Lund University
Faculty opponent: Professor Marjo Kauppinen, Finland
For software-intensive organizations, Open Source Software (OSS) may provide a pivotal building block in business models and strategies, product and service offerings, as well as in tool and infrastructure setups. The Requirements Engineering (RE) and development processes of OSS take place inside communities where the focal organization is a stakeholder among many, including competitors. Therefore, to exploit the potential benefits of OSS, an organization has to consider what it shares as OSS and how it engages with the OSS communities. By being too open, an organization may expose itself to risks such as giving away differentiating functionality. On the contrary, being too closed may cause misalignment between an organization's RE process and that of a community.
The objective of this thesis is two-fold. Firstly, to create guidance for organizations in making decisions of what to share as OSS in line with the organization's business goals. Secondly, to create guidance for how an organization can identify OSS communities where they need to have an influence on the RE process, and how they can gain it, in order to achieve its internal agenda.
We used a design science research approach, applying empirical software engineering research methods to investigate the problem context and design and validate solution artifacts that may be used as treatments in the problem context. The relevance of the research has been maintained through a close industry collaboration with several case studies and interview surveys.
To address the two objectives, we introduce the two concepts of contribution and community strategy. Contribution strategies answer the questions if a software artifact (e.g., a feature or project) or parts of it should be released as OSS, when in time, and if it should be contributed to an existing OSS community, or if a new community should be established. Community strategies answer the questions what OSS communities an organization considers as important and need to have an influence on in terms of their RE process, and also how this influence may be gained. The thesis offers problem understanding of how organizations reason in terms of these questions, as well as guidance for how the different types of strategies may be developed. In regards to contribution strategies, results also offer guidance on how to create supporting guidelines, processes, and infrastructure on an organizational level.
The results of this thesis are captured in a number of frameworks, models, and methods. These artifacts contribute to an understanding of the problem context and provide design knowledge and exemplars that may be transferred and implemented by organizations in a real-world problem context. Evaluation of such a technology transfer is a topic for future work.