Компания Linux Foundation в декабре 2024 года опубликовала отчет о том, какое свободное и открытое программное обеспечение (FOSS) чаще всего используется компаниями. Документ основан на данных организаций, занимающихся анализом ПО (например FOSSA, Snyk, Sonatype и Black Duck). Авторы отчета в ходе исследования пришли к ряду выводов о состоянии экосистемы FOSS, а также составили список из 500 наиболее используемых пакетов с разными уровнями детализации, который представлен в документе.
Ключевые выводы:
- все больше открытых библиотек разрабатываются для работы с облачными сервисами, такими как AWS и Google Cloud. Это говорит о том, что разработчики активно используют облачные технологии и нуждаются в инструментах для их интеграции;
- хотя Python 3 вышел в 2008 году, многие до сих пор используют Python 2, особенно в сферах анализа данных и DevOps (непрерывной разработки ПО). Это создает риски, так как поддержка Python 2, включая возможность устранения уязвимостей, уже прекращена;
- Java-платформа с использованием инструмента для автоматической сборки проектов Maven по-прежнему занимает значительную долю, но все чаще в топ попадают библиотеки для .NET (NuGet) и Python (PyPI). Это отражает рост интереса к этим языкам и экосистемам в последние годы;
- с 2020 года количество используемых компонентов из репозиториев языка программирования Rust увеличилось в шесть раз. Это связано с тем, что Rust предлагает высокий уровень безопасности памяти;
- анализ метаданных для ПО, согласно Linux Foundation, нуждается в стандартизации, поскольку большая часть времени уходит на разбор и сопоставление разных названий одних и тех же библиотек. Без единого подхода к именованию сложно автоматизировать анализ и повышать безопасность;
- авторы отчета выяснили, что 80% изменений в большинстве проектов делает один-два человека. Это делает проекты уязвимыми: если с ответственными сотрудниками что-то случится, поддержка и развитие могут остановиться;
- многие популярные пакеты размещаются в личных аккаунтах разработчиков. Это снижает уровень защиты и управления по сравнению с тем, который могли бы предложить корпоративные аккаунты;
- большинство устаревших библиотек, вроде Request или Minimist, продолжают использоваться, хотя у них есть новые, более безопасные аналоги. Это создает риски, связанные с отсутствием поддержки и обновлений.