Реактивність вимірює, чи справді опрацьовується робота, що надходить до проєкту, — звіти про помилки, запити на функціональність, запропоновані патчі. Трекер звернень, де повідомлення накопичуються без відповіді, або черга пул-реквестів, закритих без жодної взаємодії, передбачає досвід, який чекатиме на кожного майбутнього користувача та контриб'ютора.
- Категорія: Сталість та врядування (25% у межах категорії)
- Вага в загальному індексі: 5.75%
- Ключ метрики:
responsiveness null, коли репозиторій не має звернень і жодного вирішеного пул-реквеста
Як обчислюється значення
| Компонент | Вага | Критерії |
|---|---|---|
| Вирішення звернень | 42 | частка закритих звернень від загальної кількості × 42 |
| Прийняття PR | 30 | злиті / (злиті + закриті без злиття) × 30 |
| Прийняття PR від новачків | 13 | частка злитих серед пул-реквестів, вирішених за останні 30 днів, автор яких не мав тут раніше жодного злитого пул-реквеста |
| OpenSSF Scorecard: Code-Review | 15 | результат Scorecard 0–10, масштабований до 15 балів |
Перші два підрахунки охоплюють увесь час життя проєкту. Прийняття PR від новачків натомість читає вікно у 30 днів; воно виключає пул-реквести, створені автоматизацією, і саме виключається — з перенормуванням решти ваг — коли за це вікно не було вирішено жодного пул-реквеста від новачка. Цей компонент з'являється лише у звітах, створених за методологією 2.1.0 або пізнішою (див. версії методології). Перцентилі затримки — як швидко вирішуються звернення та пул-реквести — залишаються в опублікованій дорожній карті.
Code-Review — доповнювальний спільний доказ: він перевіряє схвалення наборів змін, тоді як прийняття PR вимірює результати злиття. Він залишається компонентом Безпеки й виключається тут, якщо Scorecard недоступний або має статус n/a.
Що означають ці співвідношення
- Вирішення звернень показує частку поданих звернень, що дійшли до рішення. Проєкти з чесним тріажем — виправити, відповісти або закрити з поясненням — читаються добре; проєкти, де звернення мовчки накопичуються, читаються низько.
- Прийняття PR показує, що відбувається із запропонованим кодом серед пул-реквестів, які дійшли до рішення. Дуже низька частка злиття часто вказує на проєкт, який отримує внески, але не може або не хоче їх приймати.
- Прийняття PR від новачків показує той самий результат для авторів, які не мали раніше жодного злитого пул-реквеста в цьому репозиторії. Проєкт може швидко й щедро приймати роботу своїх постійних контриб'юторів і не зливати нічого з-поза цього кола; ці два співвідношення розходяться достатньо часто, щоб лише це описувало те, на що може розраховувати контриб'ютор-новачок.
Як читати результат
- Закрити — це вирішити. Метрика не вимагає, щоб кожне звернення було виправлене — обґрунтоване «wontfix» теж є рішенням. Штрафується саме необмежене накопичення.
- Співвідношення за весь час змінюються повільно. Проєкт, що нещодавно налагодив тріаж, побачить поступове відновлення цієї метрики; заплановані часові вікна вимірювання затримки зроблять нещодавню поведінку помітнішою.
- Вікно без новачків — це не низька оцінка. Те, що ніхто не постукав, — не той самий факт, що нікого не впустили, і лише друге є справою самого проєкту, тож компонент виключається, а не оцінюється в нуль. У знаменнику — вирішені пул-реквести новачків, а не їхня частка серед усіх злиттів: зрілий проєкт, у якому більшість роботи завершують постійні контриб'ютори, не знижується в оцінці за те, що має постійних контриб'юторів.
- Репозиторії з вимкненими зверненнями та без історії PR отримують тут
null, а ваги перенормовуються — див. індекс здоров'я.
Як покращити значення
- Проводити тріаж за розкладом: маркувати, відповідати та закривати застарілі звернення з поясненням, а не залишати їх відкритими без кінця.
- Вирішувати пул-реквести в обидва боки — і злиття добрих, і явна відмова від непридатних однаково зараховуються як опіка над проєктом.
- Шаблони зі здоров'я спільноти підвищують якість вхідних звернень і роблять сталий тріаж дешевшим.
Дивіться також: стійкість мейнтейнерів · Сталість та врядування