The Prevalence and Impact of Licenses in Open Software Projects
2026-06-22 • Software Engineering
Software Engineering
AI summaryⓘ
The authors studied how software project licenses, which control how code can be used or shared, are distributed across more than 100 million projects. They found most projects don’t have a license, and among those that do, permissive licenses (which allow easier reuse) are becoming more common over time, though restrictive licenses (which limit reuse) tend to be kept longer. Different programming languages show different patterns; for example, C projects prefer restrictive licenses, while Python projects show more activity when switching to permissive licenses. The authors also found that changing a license’s type can affect project activity differently depending on the language ecosystem.
software licensepermissive licenserestrictive licenseopen sourcelicense distributionprogramming language ecosystemsoftware reuseproject activitylicense change impactsource code licensing
Authors
Mahmoud Jahanshahi, Bogdan Vasilescu, Audris Mockus
Abstract
The terms of how publicly available source code can be used are dictated by its license. The license (or its absence), in turn, affects what code the project may reuse and how its code can be (re)used and may also affect external participation and overall activity of the project. We aim to better understand the general state of license distribution overall and within language ecosystems and to investigate if license changes are associated with a noticeable variations of project output. To accomplish that we identify licenses and license types for over 100M software projects and find that most do not contain any license, that permissive licenses represent the bulk of most licenses, and that permissive licensing is representing an increasing proportion of all licenses over time. Restrictive licenses are more likely to be retained, however. There is a great variation among language ecosystems with C-language strongly favoring restrictive licenses. The analysis of license change impact comparing activity within one year of the adoption of the initial and final licenses shows that the change from restrictive to permissive license varies with the ecosystem. C-language ecosystems show reduced activity while Python shows increased activity when comparing restrictive to permissive license transition. Our results demonstrate dramatic changes in license type prevalence over time and find that the effects of license changes may have opposite effects depending on the language ecosystem.