За даними GitHub, розробники платформи щодня інтегрують нові залежності як у внутрішні додатки, так і в open-source проєкти. Оскільки сучасна інфраструктура значною мірою базується на відкритому коді, дотримання ліцензійних зобов'язань стає критичним аспектом відповідального використання технологій.
Ризики невідповідності та виклики для enterprise-сегмента
Більшість програмного забезпечення супроводжується ліцензійною угодою, яка визначає умови використання проєкту. Ці зобов'язання можуть варіюватися від простого зазначення авторства до вимоги публікувати весь вихідний код програми при її дистрибуції. Для комерційних організацій невідповідність таким умовам створює величезні бізнес-ризики, включаючи дорогі судові процеси та репутаційні втрати.
Наприклад, компанії, що продають закриті бінарні додатки, повинні уникати залежностей, які вимагають відкриття власного коду. Натомість проєкти з відкритим кодом мають уникати комерційних або несумісних ліцензій. Традиційно такі перевірки проводилися вручну або за допомогою стороннього ПЗ, що створювало додаткове навантаження на інженерів.
Автоматизація через GitHub License Compliance
Нова функція для клієнтів GitHub Advanced Security дозволяє переглядати ліцензії нових залежностей безпосередньо під час створення pull requests. Це забезпечує гнучкість: організації можуть розширювати свої політики, додаючи дозволені типи ліцензій або окремі проєкти.
Як повідомляє GitHub, їхній Open Source Program Office (OSPO) вже перевів внутрішні процеси на цей інструмент. Для успішного впровадження було використано наступний підхід:
- Використання режиму «Evaluate» для організації — він генерує анотації в pull requests, не блокуючи злиття коду, що дозволяє розробникам адаптуватися до нового воркфлоу.
- Паралельна робота старих та нових інструментів для порівняння результатів.
- Визначення базового списку дозволених ліцензій, таких як MIT, Apache 2.0 та BSD-3-Clause.
Технічно перевірка працює через rulesets, де цільові репозиторії визначаються за спеціальними властивостями. Кожен pull request, що змінює залежності проєкту, автоматично запускає сканування для пошуку ліцензій.
Висновок щодо масштабованості контролю
Автоматизація перевірки ліцензій переводить комплаєнс із категорії «адміністративного бар'єру» у категорію автоматизованого процесу розробки, що є критичним для швидкого масштабування enterprise-продуктів.