lunduniversity.lu.se

Computer Science

Faculty of Engineering, LTH

Denna sida på svenska This page in English

Doctoral Thesis

Thesis Title:

Guiding Development of Contribution and Community Strategies in Open Source Software Requirements Engineering

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 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.
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 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.
Methodology: 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.
Results: 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.
Conclusions: 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.

Thesis:

PDF


Popular Science Summary in Swedish

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 innovation 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 behöver övervägas, hanteras och vägas mot det potentiella värdeskapandet. Organisationer 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 sektor kan utforma dessa typer av strategier. Undersökningarna har resulterat i beslutsstö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 mjukvaran ä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 organisationer skapa dessa strategier samt utforma nödvändiga besluts- och uppföljningsprocesser 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, kostnader 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ämnas 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 strategiskt 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 organisationer kan ytterligare en anledning vara att försvåra affärsmöjligheter för konkurrenter 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 differentierande 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 organisationer 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 få ett inflytande samt identifiera de projekt där inflytandet behövs. Beslutsstödet beskriver hur en projektstrategi ska ta hänsyn både till den affärsmässiga och tekniska kopplingen mellan ett projekt och en organisation, likaså möjligheten att faktiskt bygga upp inflytandet i projektet. Därutöver pekas åtta tillvägagångssätt ut som en organisation sedan kan nyttja för att bygga upp detta inflytande. Inom samtliga tillvägagångssätt är det avgörande att organisationen engagerar sig i utvecklingen av projektet och delar med sig av exempelvis kunskap, mjukvara och andra typer av resurser.

Intressentanalyser av öppna källkodsprojekt

För att underlätta utformande och beslut av delnings- respektive projektstrategier omfattar den tredje delen av beslutsstödet en metod för att utföra intressentanalyser av öppna källkodsprojekt. En sådan analys besvarar frågor kring vilka intressenterna till projektet är, hur stort inflytande de har över projektets utveckling, samt vad deras respektive agenda utgör. Metoden kan därigenom exempelvis hjälpa med att identifiera potentiella samarbetspartners samt konkurrenter, och bygger på att interaktioner mellan individer involverade i utvecklingen av projekt visualiseras och analyseras i form av sociala nätverk. Genom dessa nätverk kan sedan de individer, och därigenom de organisationer, som är de mest centrala eller inflytelserika identifieras och därefter deras respektive agendor undersökas närmre.

Öppen källkod öppnar nya dörrar

Det finns flera faktorer som kan tala både för och emot om en mjukvara bör öppnas upp, tillika när och hur. Dessa bör identifieras, analyseras och vägas mot varandra för att ett välgrundat beslut ska kunna fattas. Vilka faktorer som är relevanta varierar mellan olika sammanhang, exempelvis typen av organisation, dess affärsmodell samt hur aktuell mjukvara och eventuella öppna källkodsprojekt kopplar till denna. Vårt forskningsbaserade beslutsstöd visar hur delnings- och projektstrategier kan skapas och hjälpa berörda organisationer i deras arbete med att öppna upp både sig själva och sin mjukvara, och därmed kunna ta del av de många fördelar som öppen källkod öppnar upp


List of included publications:

1. Open Innovation using Open Source Tools: A Case Study at Sony Mobile
Hussan Munir, Johan Linåker, Krzystof Wnuk, Per Runeson and Björn Regnell.
Empirical Software Engineering, 2018 23:186-223.
PDF

2. Motivating the Contributions: An Open Innovation perspective on What to Share as Open Source Software
Johan Linåker, Hussan Munir, Krzysztof Wnuk and Carl Eric Mols.
Journal of Systems and Software, 2018, 135:17-36.
PDF

3. A Community Strategy Framework - How to obtain Influence on Requirements in Meritocratic Open Source Software Communities?
Johan Linåker, Björn Regnell and Daniela Damian.
Information and Software Technology, 2019, 112:102-114.
PDF

4. A Method for Analyzing Stakeholder's Influence on an Open Source Software Ecosystem's Requirements Engineering Process
Johan Linåker, Björn Regnell and Daniela Damian.
Requirements Engineering Journal, 2019, in press.
PDF

5. A Contribution Management Framework - What to Share as Open Source Software?
Johan Linåker, Björn Regnell
Unpublished manuscript.
PDF.