Отчёт за 2023 год , посвящённый используемым лицензиям в крупнейших менеджерах пакетов, выявил необходимость информирования разработчиков о важности информации о лицензировании. Несмотря на широкое использование программного обеспечения с открытым исходным кодом, данные отчёта показывают, что большая часть ПО распространяется и используется без лицензии.
Анализ, проведённый независимым шведским исследователем Александром Володжкинсом на основе данных проекта ClearlyDefined от 21 сентября 2023 года, раскрывает тенденции в экосистеме Open Source. ClearlyDefined – это совместный проект, предоставляющий полные и стандартизированные метаданные о происхождении компонентов ПО, а также их лицензиях.
Самыми популярными оказались лицензии MIT и Apache 2.0, чья простота и минимальные ограничения способствовали их широкому распространению. Однако предпочтения в лицензиях сильно различаются в зависимости от конкретного языка программирования и используемого менеджера пакетов.
- JavaScript (npm). В основном используется лицензия MIT (53%), за ней следуют Apache 2.0 (14.76%) и ISC (10.48%). Около 8% проектов не имеют лицензии, а 5.49% имеют маркировку “NOASSERTION”.
- .NET (Nuget). Здесь 26.76% компонентов без лицензии и 31.95% с маркировкой “NOASSERTION”. Лицензии MIT и Apache 2.0 составляют 21.55% и 13.37% соответственно.
- Java (Maven). Большинство компонентов используют лицензию Apache 2.0 (69.18%). Лицензия MIT занимает всего 7.4%, а 14.75% компонентов имеют статус “NOASSERTION”.
- Python (Pypi). Лицензии MIT и Apache 2.0 лидируют с 29.14% и 23.98% соответственно. Лицензии BSD 2-Clause и GPL 3.0 занимают 6.25% и 6.11%. Без лицензии остаётся 23.69% компонентов.
- Ruby (Gem). Подавляющее большинство использует MIT (63.11%), за ними Apache 2.0 (8.22%) и BSD 3-Clause (6.66%).
- PHP (Composer). MIT предпочитают 64.37% компонентов, проекты под BSD 3-Clause и Apache 2.0 составляют 5.72% и 3.92%.
- Go. Лидируют Apache 2.0 и MIT с 32.49% и 20.1% соответственно. Без лицензии остаётся 29.67% компонентов.
- Rust (Crate). MIT и/или Apache 2.0 доминируют, вместе составляя 83.52%.
Одной из актуальных проблем в этой области является большой процент компонентов Open Source без указания лицензии или с маркировкой “NOASSERTION”. Это создаёт неопределённость в допустимости использования таких компонентов, что усложняет сотрудничество и вносит юридические и безопасностные риски.
Решение этой проблемы критически важно для сообщества Open Source. Ясность и стандартизация лицензирования облегчает сотрудничество, обеспечивает соблюдение закона и защищает интеллектуальную собственность участников. Кроме того, это помогает отслеживать компоненты с уязвимостями.
Проект ClearlyDefined призывает разработчиков из различных организаций собрать глобальную базу данных метаданных лицензий для каждого опубликованного программного компонента. Такой подход позволит создать точную библиотеку информации, пользу из чего смогут извлечь абсолютно все разработчики.