Google предложил рейтинг критически важных Open-source проектов
О многих проектах говорят, что они крайне важны для какой-либо отрасли. Но как оценить их реальную значимость? Корпорация Google разработала специальный рейтинг для оценки открытых проектов — как раз по степени важности для отрасли.
Рейтинг создан не просто так — его предлагается использоваться для выделения важнейших проектов, от которых зависит развитие. Именно для этих проектов нужно выделять максимум ресурсов, для сопровождения, разработки и обеспечения безопасности. Рейтингом, по замыслу, будут пользоваться организации, которые могут выделить нужные проектам ресурсы.
Для составления этого проекта предложена специальная формула и показатель — уровень критичности (Criticality Score). Кстати, алгоритм оценки предложил известный разработчик Роб Пайк (Rob Pike), который стоял у истоков Unix, Plan 9, Inferno и UTF-8. Этот алгоритм учитывает 10 разных коэффициентов, которые и служат для подсчета финального уровня важности. Диапазон оценки — от 0 (самые некритичные проекты) до 1 (самые критичные и важные).
В формуле используются следующие весовые коэффициенты:
- Число зависящих проектов (ключевой параметр, вес 2).
- Количество задействованных разработчиков (ключевой параметр, вес 2).
- Время существования проекта (1).
- Время последнего обновления (-1).
- Количество поддерживающих проект организаций (1).
- Среднее число изменений в год (1).
- Число комментариев при обсуждении проблем (1).
- Количество релизов в год (0.5).
- Число закрытых и обновленных сообщений об ошибках за последние 90 дней (0.5).
При необходимости можно добавить и собственные критерии, подходящие для различных направлений и отраслей. Кроме того, если весовые значения коэффициентов по какой-то причине не подходят, их можно изменить. Что касается самого рейтинга, то он вычисляется специальной утилитой, доступной на GitHub.
Команды критически важных проектов получат возможность попросить помощи у организации OpenSSF (Open Source Security Foundation). Она, при помощи входящих в ее состав членов, выделяет ресурсы, консультационную поддержку, финансы или даже элементы инфраструктуры.
Что касается текущего рейтинга, то вот таблица с указанием наиболее важных проектов, написанных на разных языках программирования.