Guiding Development of Contribution and Community Strategies in Open Source Software Requirements Engineering Linåker, Johan
Total Page:16
File Type:pdf, Size:1020Kb
Guiding Development of Contribution and Community Strategies in Open Source Software Requirements Engineering Linåker, Johan 2019 Document Version: Publisher's PDF, also known as Version of record Link to publication Citation for published version (APA): Linåker, J. (2019). Guiding Development of Contribution and Community Strategies in Open Source Software Requirements Engineering. Department of Computer Science, Lund University. Total number of authors: 1 General rights Unless other specific re-use rights are stated the following general rights apply: Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. • Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain • You may freely distribute the URL identifying the publication in the public portal Read more about Creative commons licenses: https://creativecommons.org/licenses/ Take down policy If you believe that this document breaches copyright please contact us providing details, and we will remove access to the work immediately and investigate your claim. LUND UNIVERSITY PO Box 117 221 00 Lund +46 46-222 00 00 Guiding Development of Contribution and Community Strategies in Open Source Software Requirements Engineering Johan Linåker Doctoral Dissertation, 2019 Department of Computer Science Lund University ii LU-CS-DISS 2019-03 Doctoral Dissertation 63, 2019 ISBN: 978-91-7895-173-4 (Printed) ISBN: 978-91-7895-174-1 (Electronic) ISSN: 1404-1219 Department of Computer Science Lund University Box 118 SE-221 00 Lund Sweden Email: [email protected] WWW: http://cs.lth.se/johan_linaker Printed in Sweden by Tryckeriet i E-huset, Lund, 2019 © 2019 Johan Linåker ABSTRACT Background: 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 Require- ments 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 communi- ties. 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. Objective: 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 orga- nization’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. Research Methodology: We used a design science research approach, applying empirical software engineering research methods to investigate the problem con- text 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. Results: To address the two objectives, we introduce the two concepts of con- tribution 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 rea- son 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. iv Conclusion: The results of this thesis are captured in a number of frameworks, models, and methods. These artifacts contribute to an understanding of the prob- lem 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. POPULAR SCIENCE SUMMARY ÖPPEN KÄLLKOD ÖPPNAR NYA DÖRRAR JOHAN LINÅKER,DEPARTMENT OF COMPUTER SCIENCE Organisationer inom både privat och offentlig sektor har mycket att vinna på att börja utveckla och dela med sig av sin mjukvara som öppen källkod. Ökad inno- vation och produktivitet, och likaså nya affärsmöjligheter är några av fördelarna. Men för att kunna ta del av fördelarna behöver organisationer bestämma vilken mjukvara de delar med sig av, när och hur. Eventuella kostnader och risker be- höver övervägas, hanteras och vägas mot det potentiella värdeskapandet. Organ- isationer kan då skapa tydliga strategier för hur de kan öppna både sig själva och sin mjukvara. Denna avhandling har undersökt hur organisationer inom privat och offentlig sek- tor kan utforma dessa typer av strategier. Undersökningarna har resulterat i besluts- stöd bestående av tre delar vilka denna artikel ger en översiktlig introduktion till. Mjukvara som öppen källkod När en mjukvara benämns som öppen källkod betyder det att källkoden som mjuk- varan är uppbyggd av får användas, läsas och redigeras samt distribueras vidare fritt, givet vissa villkor som finns definierade i en licens. Öppenheten medför att källkoden kan utvecklas transparent tillsammans av både enskilda personer, viii företag och offentliga organisationer. Dessa intressenter deltar i utvecklingen av projekten drivna av deras egna motiv och agendor. Delningsstrategier för öppen källkod Den första delen av beslutsstödet hjälper berörda organisationer att utveckla vad vi benämner som delningsstrategier. Dessa strategier definierar vilken mjukvara som bör öppnas upp, när och med vem. Med hjälp av beslutsstödet kan organ- isationer skapa dessa strategier samt utforma nödvändiga besluts- och uppföljn- ingsprocesser som krävs för att implementera dessa. För att skapa en delningsstrategi bör en organisation dels sätta upp relevanta mål som de önskar uppnå genom att öppna upp sin mjukvara, och dels analysera hur dessa mål ska uppnås och är motiverade i förhållande till identifierade risker, kost- nader samt andra komplicerande aspekter. Beslutsstödet pekar ut ett antal mål och aspekter baserat på fallstudier och observationer hos fyra större organisationer som på olika sätt nyttjar och delar med sig utav mjukvara som öppen källkod. Bland de vanligast förekommande målen som identifierats kan exempelvis näm- nas att skapa kostnadsbesparingar genom delat underhåll, öka inflöde av innovativa funktioner, samt förbättra ryktet som arbetsgivare för utvecklare. Ett mer strate- giskt mål kan vara att skapa en ny standardlösning för att på så sätt ta sig in på nya marknader och skapa plattformar för tredjepartsprodukter. För privata organisa- tioner kan ytterligare en anledning vara att försvåra affärsmöjligheter för konkur- renter genom att öppna upp mjukvara som är differentierande för bägge parter. Motsatt sätt kan det för offentliga organisationer vara ett sätt att tillgängliggöra en infrastruktur och plattform för att möjliggöra för fler privata organisationer att konkurrera på aktuell marknad. En av de vanligaste riskerna som identifierats bland privata organisationer är att de skulle råka ge bort sina ”kronjuveler”, det vill säga mjukvara som är differen- tierande för organisationen och som utgör en viktig konkurrensfördel. Dock är det vanliga fallet att det är en begränsad del av mjukvaran som är så pass värdefull att den bör hållas stängd. Genom att identifiera och separera de delar som ger en konkurrensfördel kan övriga delar fortfarande öppnas upp. För offentliga organi- sationer kan ambitionen vara den motsatta. Där kan syftet vara att dela den mest differentierande mjukvaran för att skapa störst värde för mjukvarans potentiella användare. En risk är dock att detta potentiellt kan skada vissa organisationers affärsmöjligheter, varför en noggrann analys bör göras innan mjukvaran delas. En relaterad fråga till vad som bör delas och när, är om mjukvaran ska delas med ett befintligt öppen källkodsprojekt eller om ett nytt bör skapas. Att dela med sig till ett befintligt projekt är ofta att föredra då alternativet är både kostsamt och riskfyllt. För att tryggt kunna dela med sig mjukvara till ett befintligt projekt kan berörd organisation behöva en viss nivå av inflytande över projektets utveckling. Detta då det kan finnas andra intressenter involverade i projektet som har avvikande ix agendor och skulle kunna motsätta sig att den aktuella mjukvaran accepteras som ett bidrag till projektet. Projektstrategier för öppna källkodsprojekt Den andra delen av beslutsstödet fokuserar därför på att hjälpa organisationer skapa projektstrategier som beskriver hur de bör agera för att