Continuous integration of open source in proprietary software: An action research study on release readiness

Loading...
Thumbnail Image

URL

Journal Title

Journal ISSN

Volume Title

School of Science | Master's thesis

Department

Mcode

Language

en

Pages

75

Series

Abstract

The use of open source software (OSS) has increased significantly in recent years, with many companies relying on regular updates to support their products and services. However, integrating upstream changes, especially major version upgrades, is often challenging and prone to regressions that can be difficult to identify and resolve. Such setbacks delay feature development and risk the delaying software releases. Since updates typically aim to deliver new features, bug fixes, or security improvements, the unpredictability of their impact raises concerns about release readiness. This thesis investigates the concept of release readiness in the context of OSS updates and evaluates the role of continuous integration (CI) as a solution for managing frequent changes. Conducted as an action research project within a software development team, the study aimed to improve workflows toward a more agile “release early, release often” approach. The findings reveal that release readiness lacks a consistent definition within the organization, though feature completeness and reliability were identified as key indicators. Large OSS updates were found to complicate impact assessment and increase regression risks, reducing the predictability of release planning. Introducing CI practices to automate OSS integration and testing was positively received and shown to reduce manual effort while enabling earlier detection of issues. Future efforts should focus on enhancing test coverage and automation to progress toward continuous deployment of OSS updates. In conclusion, CI can alleviate the burden of OSS maintenance and improve the predictability and stability of software releases in commercial products

Avoimen lähdekoodin ohjelmistojen (engl. open source software, OSS) käyttö on kasvanut merkittävästi viime vuosina, ja monet yritykset tukeutuvat säännöllisiin päivityksiin tuotteidensa ja palveluidensa ylläpidossa. Pääprojektin muutosten integrointi—erityisesti suurten versiopäivitysten yhteydessä—on kuitenkin usein haastavaa ja altista regressioille, joita voi olla vaikea havaita ja korjata. Tällaiset ongelmat viivästyttävät ominaisuuksien kehitystä ja vaarantavat ohjelmistojulkaisujen aikataulun. Koska päivitykset on yleensä tarkoitettu uusien ominaisuuksien, virheenkorjausten tai tietoturvaparannusten toimittamiseen, niiden vaikutusten ennakoimattomuus herättää kysymyksiä ohjelmiston julkaisuvalmiudesta. Tässä opinnäytetyössä tutkitaan julkaisuvalmiuden käsitettä avoimen lähdekoodin päivitysten yhteydessä sekä arvioidaan jatkuvan integraation (engl. continuous integration, CI) roolia muutosten hallinnassa. Tutkimus toteutettiin toimintatutkimuksena ohjelmistokehitystiimissä, jonka tavoitteena oli kehittää toimintatapoja ketterämpään "julkaise aikaisin, julkaise useinmalliin. Tulokset osoittavat, että julkaisuvalmiudelle ei ole organisaatiossa yhtenäistä määritelmää, vaikka ominaisuuksien valmius ja ohjelmiston luotettavuus nousivat tärkeimmiksi tekijöiksi. Suuret OSS-päivitykset vaikeuttivat vaikutusten analyysiä ja lisäsivät regressioriskejä, mikä heikensi julkaisusuunnitelmien ennakoitavuutta. Jatkuvan integraation käyttöönotto OSS-päivitysten automatisoimiseksi ja testaamiseksi otettiin vastaan myönteisesti. Se vähensi manuaalista työtä ja mahdollisti virheiden varhaisen havaitsemisen. Jatkokehityksessä tulisi panostaa testikattavuuden ja automaation laajentamiseen kohti jatkuvaa avoimen lähdekoodin päivitysten käyttöönottoa. Yhteenvetona jatkuvan integraation menetelmät voivat keventää ohjelmistokehitystiimien työtaakkaa OSS-ympäristöissä sekä parantaa julkaisujen ennakoitavuutta ja laatua.

Description

Supervisor

Vanhanen, Jari-Pekka

Thesis advisor

Ursin, Markku

Other note

Citation