From One to Hundreds: Multi-Licensing in the JavaScript Ecosystem
Autor: | Ivanilton Polato, João Pedro Moraes, Gustavo Pinto, Igor Wiese, Filipe Saraiva |
---|---|
Rok vydání: | 2020 |
Předmět: |
FOS: Computer and information sciences
Source code Computer science business.industry media_common.quotation_subject Software development 020207 software engineering ComputingMilieux_LEGALASPECTSOFCOMPUTING 02 engineering and technology Reuse JavaScript World Wide Web Software Engineering (cs.SE) Computer Science - Software Engineering Software Data_GENERAL 0202 electrical engineering electronic engineering information engineering The Internet business computer License Codebase computer.programming_language media_common |
DOI: | 10.48550/arxiv.2012.05016 |
Popis: | Open source licenses create a legal framework that plays a crucial role in the widespread adoption of open source projects. Without a license, any source code available on the internet could not be openly (re)distributed. Although recent studies provide evidence that most popular open source projects have a license, developers might lack confidence or expertise when they need to combine software licenses, leading to a mistaken project license unification.This license usage is challenged by the high degree of reuse that occurs in the heart of modern software development practices, in which third-party libraries and frameworks are easily and quickly integrated into a software codebase.This scenario creates what we call "multi-licensed" projects, which happens when one project has components that are licensed under more than one license. Although these components exist at the file-level, they naturally impact licensing decisions at the project-level. In this paper, we conducted a mix-method study to shed some light on these questions. We started by parsing 1,426,263 (source code and non-source code) files available on 1,552 JavaScript projects, looking for license information. Among these projects, we observed that 947 projects (61%) employ more than one license. On average, there are 4.7 licenses per studied project (max: 256). Among the reasons for multi-licensing is to incorporate the source code of third-party libraries into the project's codebase. When doing so, we observed that 373 of the multi-licensed projects introduced at least one license incompatibility issue. We also surveyed with 83 maintainers of these projects aimed to cross-validate our findings. We observed that 63% of the surveyed maintainers are not aware of the multi-licensing implications. For those that are aware, they adopt multiple licenses mostly to conform with third-party libraries' licenses. Comment: Submitted to EMSE, 33 pages |
Databáze: | OpenAIRE |
Externí odkaz: |