Tool Support for Open Source Software License Compliance: The First Two Decades of the Millennium
Open source software reuse enables developers to leverage past accomplishments while facilitating improvements in software productivity and quality. However, licenses of the reused software need to be considered to be compliant with the license terms, thus mitigating intellectual property right risks related to such reuse. Identifying under which license(s) an open source software is provided and understanding the terms of these licenses is not trivial, especially when dealing with substantial reuse, which is common in modern software development. As reused software is often large, automated license analysis is needed to address these issues and to support users in the license compliant reuse of open source software.
This study aims to provide a comprehensive view on the automated features and methods that assist in open source license compliance. It describes the automated tools and methods of license compliance, here spanning two decades of research. The empirical study consists of two cycles: In the design cycle, we identifed the critical user needs for automated license compliance, such as the license identifcation of source fles and license compatibility analysis, and created a novel approach ASLA (Automated Software License Analyzer) that supports these needs. In the review cycle, which consisted of a systematic literature review, we describe how automated license compliance software has evolved since the introduction of ASLA. We identifed new user needs from the included literature, such as an identifcation of the origin of the OSS and needs related to comprehension of OSS licenses. Also, we list the features that were introduced after the design cycle.
As a conclusion, there is a clear need for automated OSS license compliance tools since the amount and reuse of OSS has increased signifcantly over the past 10 years. Based on the information of these two cycles, we merged and listed a set of user needs, which are composed of 16 individual needs. It became evident that no tool is available that would support all of these needs. Whereas license identifcation and compatibility analysis are felds that have the most mature solutions in the license compliance process, future research is needed to improve features related to copyright extraction and the integration of existing features as part of development process.
Keywords: Open source software, License compliance, Compliance analysis, Tool support
...
Avoimen lähdekoodin uudelleenkäyttö mahdollistaa ohjelmistokehityksen tuottavuuden ja ohjelmistojen laadun parantamisen. Uudelleenkäytön yhteydessä ohjelmistojen lisenssien asettamia ehtoja tulee kuitenkin noudattaa, jotta immateriaalioikeuksiin liittyvät riskit voidaan minimoida. Erityisesti modernissa, runsaaseen uudelleenkäyttöön pohjautuvassa ohjelmistokehityksessä lisenssien tunnistaminen ja ymmärtäminen on haastavaa, koska uudelleenkäytettäviä ohjelmistoja on paljon ja ne ovat usein laajoja. Lisenssien noudattamista ja tehokasta uudellenkäyttöä tukemaan tarvitaan automatisoituja menetelmiä.
Tämä tutkielma pyrkii esittämään kattavan kuvan automatisoiduista toiminnallisuuksista ja metodeista, jotka tukevat lisenssien noudattamista. Se esittelee automatisoituja työkaluja ja menetelmiä kahden vuosikymmenen ajalta. Empiirinen osuus koostuu kahdesta syklistä: suunnittelusyklistä ja katsaussyklistä. Suunnittelusyklissä tunnistettiin automatisoituun lisenssien noudattamiseen liittyvät kriittiset käyttäjätarpeet, kuten esimerkiksi lisenssien tunnistaminen lähdekooditiedostoista ja lisenssien yhteensopivuusanalyysi sekä kehitettiin tarpeita tukeva uusi ohjelmisto ASLA (Automated Software License Analyzer). Katsaussykli muodostuu systemaattisesta kirjallisuuskatsauksesta, jossa kuvataan kuinka työkalut ja menetelmät ovat kehittyneet ASLA:n julkaisemisen jälkeen. Siinä tunnistettiin sisällytetystä kirjallisuudesta käyttäjätarpeita, joita ei ollut tunnistettu ensimmäisessä syklissä. Näitä ovat esimerkiksi avoimen lähdekoodin ohjelmiston alkuperän tunnistaminen ja lisenssiehtojen ymmärtämisen tukeminen. Lisäksi siinä listataan toiminnallisuuksia, jotka on esitelty sunnittelusyklin jälkeen.
Yhteenvetona voidaan todeta, että automatisoidulle lisenssianalyysille on selkeä tarve, koska sekä avoimen lähdekoodin määrä että sen uudelleenkäyttö on kasvanut huomattavasti viimeisen 10 vuoden aikana. Kahden tutkimyssyklin pohjalta yhdistettiin ja listattiin yhteensä 16 itsenäistä käyttäjätarvetta. Tutkimuksessa kävi selväksi, että mikään yksittäinen työkalu ei tue kaikkia näitä tarpeita. Lisenssien tunnistamiseen ja yhteensopivuusanalyysiin liittyvät toiminnallisuudet ovat parhaiten tuettuja. Jatkotutkimusta tarvitaan erityisesti parantamaan toiminnallisuuksia, jotka liittyvät tekijänoikeustietojen keräämiseen lähdekoodista ja olemassa olevien toiminnallisuuksien liittämiseksi osaksi kehitysprosessia.
Avainsanat: Avoin lähdekoodi, Lisenssien noudattaminen, Noudattamisanalyysi, Työkalutuki
...




ISBN
978-951-39-8596-7Keywords
Metadata
Show full item recordCollections
- Väitöskirjat [3178]
Related items
Showing items with similar title or keywords.
-
Towards multi-concern software development with Everything-as-Code
Stirbu, Vlad; Raatikainen, Mikko; Röntynen, Joel; Sokolov, Vlas; Lehtonen, Timo; Mikkonen, Tommi (Institute of Electrical and Electronics Engineers (IEEE), 2022)As software is becoming a central element in our lives, more and more stakeholders have concerns. Unlike today, when developers stop their coding activities to satisfy these stakeholder concerns, we propose dealing with ... -
Software Startup Practices : Software Development in Startups Through the Lens of the Essence Theory of Software Engineering
Kemell, Kai-Kristian; Ravaska, Ville; Nguyen-Duc, Anh; Abrahamsson, Pekka (Springer, 2020)Software startups continue to be important drivers of economy globally. As the initial investment required to found a new software company becomes smaller and smaller resulting from technological advances such as cloud ... -
Do software firms collaborate or compete? A model of coopetition in community-initiated OSS projects
Nguyen-Duc, Anh; Cruzes, Daniela S.; Terje, Snarby; Abrahamsson, Pekka (Wroclaw University of Science and Technology, 2019)Background: An increasing number of commercial firms are participating in Open Source Software (OSS) projects to reduce their development cost and increase technical innovativeness. When collaborating with other firms ... -
Medical Software Needs Calm Compliance
Granlund, Tuomas; Stirbu, Vlad; Mikkonen, Tommi (Institute of Electrical and Electronics Engineers (IEEE), 2022)The promise of calm computing, a concept introduced by Mark Weiser more than 20 years ago, has been mostly realized today. For instance, as an end user, you expect to interact during your daily routine with a multitude of ... -
Software patterns, organizational learning and software process improvement
Ahlgren, Riikka (University of Jyväskylä, 2011)