English

From One to Hundreds: Multi-Licensing in the JavaScript Ecosystem

Software Engineering 2020-12-10 v1

Abstract

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.

Keywords

Cite

@article{arxiv.2012.05016,
  title  = {From One to Hundreds: Multi-Licensing in the JavaScript Ecosystem},
  author = {João Pedro Moraes and Ivanilton Polato and Igor Wiese and Filipe Saraiva and Gustavo Pinto},
  journal= {arXiv preprint arXiv:2012.05016},
  year   = {2020}
}

Comments

Submitted to EMSE, 33 pages

R2 v1 2026-06-23T20:50:35.909Z