Більшість оборонних закупівель програмного забезпечення зосереджують значні зусилля на фазі придбання — технічній оцінці, відборі джерел та укладенні контракту — і розглядають контракт на обслуговування як другорядну паперову роботу. Це хибний підхід. Рішення про придбання визначає, що ви купуєте. Контракт на обслуговування визначає, чи зможете ви використовувати придбане через п'ять років, чи маєте правовий захист, коли постачальник припиняє підтримку, і чи переживе ваша програма неплатоспроможність постачальника без втрати операційних можливостей.

Оборонна програмна система, закуплена у 2026 році, скоріш за все, буде в експлуатації у 2036 або 2040 роках. Постачальник, що її розробив, може бути поглинений, переорієнтований на інший ринок або повністю припинити діяльність. У ПЗ накопичаться CVE. Операційна система, на якій воно працює, пройде через кілька циклів закінчення терміну підтримки. Інженерна команда, що його розробила, повністю зміниться. Нічого незвичайного в цьому немає — це просто те, що відбувається протягом 15-річного життєвого циклу програми. Добре складений контракт на обслуговування оборонного ПЗ — це механізм, що зберігає операційні можливості в цілості попри всі ці зміни.

Чому контракти на обслуговування зазнають невдачі в оборонних програмах

Комерційні угоди про обслуговування ПЗ розроблені для короткострокових SaaS-продуктів, де постачальник контролює середовище, а замовник може змінити провайдера за кілька тижнів. Оборонні програми майже не мають жодної з цих характеристик. Системи є засекреченими або функціонують у ізольованих від мереж середовищах, де підрядники зі стороннього обслуговування не можуть просто отримати доступ до виробничого екземпляра. Терміни заміни вимірюються роками, а не тижнями. ПЗ може бути настільки суттєво модифіковане, що мало нагадує комерційний продукт постачальника.

Результатом є те, що стандартні комерційні угоди про обслуговування зазнають невдачі в оборонних програмах передбачуваними способами. Вони не визначають рівні критичності, що відповідають операційній реальності. Вони не встановлюють терміни патчування для вразливостей у залежностях сторонніх розробників. Вони не вимагають від постачальника підтримки старіших версій під час тестування оновлень програми. Вони не містять положень про депонування вихідного коду, що дозволило б програмі продовжити роботу у разі зникнення постачальника. І вони містять положення про вихід, що роблять упорядкований перехід до замінної системи практично неможливим.

Розуміння цих режимів відмови до початку складання контракту є відправною точкою для правильного формулювання умов.

Структура SLA: рівні критичності та вікна реагування

Найпоширенішим недоліком контрактів на обслуговування оборонного ПЗ є єдиний нерозмежований рівень підтримки з розмитими зобов'язаннями щодо часу реагування. Система, що забезпечує ситуаційну обізнаність розгорнутого підрозділу, потребує принципово іншого рівня реагування при повному відключенні порівняно з ситуацією, коли функція експорту звіту видає неправильний формат дати. Розгляд обох ситуацій як однакового рівня пріоритетності або переплачує за тривіальні проблеми, або недостатньо захищає від реальних операційних збоїв.

Добре структурований оборонний SLA для ПЗ визначає щонайменше три рівні критичності.

P1 — критичний

P1 застосовується, коли система повністю недоступна, цілісність даних під загрозою або вразливість безпеки активно експлуатується. Контракт повинен передбачати початкову відповідь — тобто кваліфікований інженер залучений і підтвердив отримання заявки — протягом однієї-двох годин. Виправлення або задокументоване обхідне рішення має бути надане протягом чотирьох-восьми годин. SLA рівня P1 мають діяти в режимі 24/7 без жодних винятків для вихідних, державних свят або різниці в часових поясах. У контракті мають бути поіменно вказані контакти для ескалації — не лише черговий центр підтримки — і зазначено, що ескалація P1 обходить стандартні процеси прийому заявок.

P2 — серйозний

P2 застосовується, коли суттєва функціональність деградована, але система залишається частково працездатною і обхідне рішення існує. Початкова відповідь — протягом чотирьох годин, вирішення — протягом 24–48 годин. SLA рівня P2 також мають діяти безперервно, а не лише в робочі години, оскільки деградація операційних можливостей швидко накопичується у розгорнутому середовищі.

P3 — незначний

P3 охоплює дефекти з низьким операційним впливом — некоректне відображення даних, некритичні помилки звітів, косметичні проблеми. Підтвердження отримання — протягом одного робочого дня, вирішення — у складі наступного запланованого релізу технічного обслуговування. P3 — єдиний рівень, для якого вимірювання в робочі години є прийнятним.

Окрім вікон реагування, контракт повинен окремо визначати терміни доставки патчів, незалежно від загального усунення дефектів. Частота патчування має бути визначена як максимальний інтервал між запланованими релізами технічного обслуговування — 90 днів є поширеним еталоном для оборонних систем — із положенням про екстрені позапланові патчі для критичних вразливостей безпеки.

Депонування вихідного коду: захист безперервності від ризиків постачальника

Депонування вихідного коду — це єдина найбільш недооцінена умова в контрактах на оборонне ПЗ. Вона ж є тією, відсутність якої має найгостріші наслідки. Коли постачальник оборонного ПЗ поглинається конкурентом, що припиняє продукт, або просто закривається як бізнес, програма без положень про депонування втрачає можливість збирати, модифікувати або самостійно підтримувати власне ПЗ. У засекреченому середовищі, де підрядник-наступник не має доступу до оригінального середовища розробки постачальника, це ситуація, з якої без багаторічних зусиль з повторного закупівлі не вийти.

Угода про депонування зобов'язує постачальника передати вихідний код ПЗ, скрипти збірки, тестові набори, маніфести залежностей сторонніх розробників і специфікації середовища незалежному акредитованому депозитарію. Депозит зберігається у хранителя і передається замовнику лише при настанні визначених умов вивільнення.

Визначення умов вивільнення депозиту

Умови вивільнення мають бути достатньо конкретними, щоб їх можна було об'єктивно перевірити. Стандартні умови включають: неплатоспроможність або подачу заяви про банкрутство постачальника; поглинання постачальника конкурентом, що припиняє продукт; письмове оголошення постачальника про закінчення терміну підтримки продукту; а також будь-який безперервний 12-місячний період, протягом якого постачальник не здійснив жодного релізу технічного обслуговування. Розмиті умови — "постачальник припиняє підтримку продукту" — призводять до суперечок саме тоді, коли це відбувається. Умови мають бути визначені так, щоб їх можна було застосувати без згоди постачальника.

Перевірка придатності депозиту до використання

Депозит вихідного коду, що не дозволяє отримати робочу збірку, не має жодної цінності. Контракт повинен вимагати щорічної перевірки депозиту: незалежного тесту збірки, в ході якого задепоновані матеріали використовуються для відтворення ПЗ у чистому середовищі. Замовник або призначена третя сторона перевіряє результат. Постачальники, що не проходять щорічну перевірку депозиту, мають вважатися такими, що порушили угоду про обслуговування. Депонування — це не послуга зберігання, це механізм забезпечення безперервності, і він працює лише тоді, коли придатність депозиту до збірки доведена.

Зобов'язання щодо патчів безпеки та реагування на CVE

Вимоги щодо патчування безпеки у більшості комерційних угод про обслуговування ПЗ написані для корпоративних ІТ-середовищ, де оновлення можна тестувати та розгортати на щотижневій основі. Оборонні програми не можуть цього робити. Тестування патча безпеки у засекреченому середовищі перед розгортанням може тривати чотири-шість тижнів. Розгортання у розподіленій, ізольованій мережі вимагає додаткового часу. Контракт на обслуговування повинен враховувати цю асиметрію.

Відправною точкою є прив'язка зобов'язань щодо доставки патчів до оцінок за шкалою CVSS. Реалістичний базовий рівень для обслуговування оборонного ПЗ: CVSS 9.0–10.0 (критичний) вимагає повідомлення постачальника протягом 24 годин після публічного розкриття і надання патча або задокументованого засобу усунення протягом 72 годин. CVSS 7.0–8.9 (високий) вимагає патча протягом 14 днів. CVSS 4.0–6.9 (середній) допускає до 45 днів. CVSS нижче 4.0 включається до наступного запланованого релізу технічного обслуговування.

Не менш важливою є вимога про проактивне повідомлення про вразливості нульового дня. Якщо постачальник дізнається про активно експлуатовану вразливість у ПЗ до її публічного розкриття — через власне реагування на інциденти, повідомлення замовника або будь-який інший канал — контракт на обслуговування має зобов'язувати його повідомити призначений контакт з безпеки замовника протягом 24 годин. Це нестандартна умова, якій постачальники будуть чинити опір. Її не слід відступатися під час переговорів.

Контракт також повинен вимагати від постачальника ведення актуальної специфікації програмних компонентів (SBOM) — повного переліку сторонніх бібліотек, фреймворків і залежностей, включених до продукту. CVE у залежностях сторонніх розробників становлять більшість придатних до експлуатації вразливостей у більшості оборонних програмних систем. Без SBOM замовник не може самостійно відстежувати вразливості постачальника або перевіряти виконання зобов'язань щодо патчування. Вимога оновлювати SBOM з кожним релізом технічного обслуговування є розумною і технічно нескладною для будь-якого постачальника, що використовує сучасний конвеєр збірки.

Положення про вихід та перехід

Положення про перехід — це умови, що визначають, чи можлива упорядкована міграція до замінної системи. Вони ж є одними з найчастіше усунутих під час переговорів по контракту, оскільки постачальник не зацікавлений у сприянні власній заміні. Команди із закупівель, що погоджуються на мінімальні положення про вихід, розплачуються за це роками пізніше, коли витрати на перехід зростають і програми стають заручниками співпраці чинного постачальника.

Повна структура виходу та переходу охоплює чотири напрями.

Переносимість даних. Усі операційні дані, згенеровані системою — трекові журнали, журнали місій, стани конфігурацій, похідні розвідувальні продукти — мають бути доступні для експорту в задокументованих, непатентованих форматах у визначені строки після розірвання контракту, як правило 30–90 днів. Контракт повинен явно визначати формати: якщо CSV і JSON є прийнятними — запишіть їх. "Стандартні формати" недостатньо конкретні для примусового виконання.

Допомога у міграції. Постачальник зобов'язаний надавати активну технічну підтримку інтеграції або міграції до замінної системи протягом визначеного перехідного перекривального періоду — від шести до дванадцяти місяців є стандартним діапазоном для складного оборонного ПЗ. Це включає відповіді на технічні питання підрядника-замінника, надання API-документації, що може бути відсутня у публічній документації продукту, та допомогу у перевірці міграції даних.

Передача знань. Постачальник зобов'язаний надати оновлену технічну документацію — схеми архітектури, робочі інструкції з розгортання, посібники з конфігурації — і провести не менше визначеної кількості годин технічного навчання для підрядника-наступника або внутрішньої команди. "Документація" має бути визначена: які документи, якої актуальності, у якому форматі. Результати передачі знань мають бути перераховані як позиції контрактної специфікації з критеріями приймання, а не описані в загальних термінах.

Збереження ліцензій. Усі ліцензії на операційні дані, похідні аналітичні продукти, ваги навчених моделей за наявності компонентів штучного інтелекту та артефакти конфігурації мають залишатися чинними після розірвання контракту. Це особливо важливо для будь-якої системи, що накопичує операційну цінність з часом — система злиття треків, моделі злиття якої навчені на оперативних даних, представляє значні інвестиції, що належать замовнику, а не постачальнику.

Гарантії продуктивності та SLA доступності

SLA доступності для критично важливого оборонного ПЗ вимагають значно більшої точності, ніж простий відсоток безвідмовної роботи. Зобов'язання щодо доступності 99,9% звучить переконливо, але дозволяє майже дев'ять годин простою на рік — що, сконцентровані в одному інциденті в невдалий момент, можуть мати тяжкі оперативні наслідки. Ще важливіше те, що положення про доступність без визначеної методології вимірювання фактично не підлягає виконанню.

Методологія вимірювання повинна визначати, що вважається простоєм, як він відстежується і як перевіряється. "Простій" слід визначати в термінах впливу на сервіс — чи вважається система з деградацією до 30% нормальної пропускної здатності "доступною"? — а не в термінах стану системи. Вимірювання має бути безперервним і автоматизованим, а не залежати від звітності постачальника. Контракт повинен визначати, хто має доступ до метрик доступності і як вирішуються суперечки щодо наданих показників.

Штрафні санкції мають створювати реальний фінансовий стимул для виконання цільових показників SLA. Сервісні кредити від 5% до 15% місячної вартості контракту за кожен відсотковий пункт відхилення від SLA доступності є розумним діапазоном. Структура штрафів має посилюватися при повторних порушеннях у послідовних періодах — постачальник, що систематично не виконує зобов'язання на незначну величину, сплачуючи кредити, має менше стимулів інвестувати в надійність, ніж той, хто стикається зі зростаючими фінансовими наслідками.

Контракт також повинен вимагати письмового плану усунення недоліків протягом п'яти робочих днів після будь-якого порушення SLA рівня P1. У плані мають бути задокументовані першопричина, вжиті коригувальні заходи та превентивні заходи для запобігання повторенню. Плани усунення недоліків виконують дві функції: вони створюють запис для контролю програми і дають замовнику раннє попередження про системні проблеми з надійністю до того, як вони накопичаться.

Для систем, що функціонують у ізольованих або деградованих мережевих середовищах, система SLA доступності потребує окремої специфікації режиму деградованого функціонування. Якою є очікувана поведінка системи за відсутності з'єднання з центральними сервісами? Який максимальний автономний термін роботи? Це не стандартні питання SLA доступності — вони вимагають оборонно-специфічного додатку до угоди про обслуговування, що визначає операційні межі в реалістичних польових умовах.

Для додаткового контексту щодо оцінки постачальників до укладення контракту — включаючи те, як оцінити потенціал підтримки та довгострокову стійкість до підписання контракту на обслуговування — дивіться наш посібник з оцінки постачальників оборонного ПЗ. Для більш широкого розуміння життєвого циклу закупівель, включаючи те, як положення про обслуговування вписуються у повну структуру контракту, посібник з RFP до контракту в оборонних закупівлях охоплює процес від початку до кінця.

Терміни повідомлення про EOL та вікна підтримки версій

Оборонні програми не можуть витримати 90-денний термін повідомлення про закінчення підтримки продукту. Цикл закупівель для визначення, оцінки та укладення контракту на замінну систему займає від 12 до 24 місяців у більшості оборонних середовищ. Контракт на обслуговування, що дозволяє постачальнику припинити підтримку з 90-денним повідомленням, залишає програму потенційно без підтримки на більшу частину двох років. Мінімально прийнятний термін повідомлення про EOL для критично важливого оборонного ПЗ становить 24 місяці — достатньо для проведення конкурентних тендерних закупівель на заміну.

Вікна підтримки версій — пов'язане і часто ігноване питання. Оборонні програми нерідко не можуть оновлюватися за бажаним графіком постачальника. Повторна акредитація відповідно до нормативних вимог, інтеграційне тестування в засекречених середовищах та інженерні зусилля для перевірки нової версії можуть відсунути терміни оновлення на 12–18 місяців після GA-релізу постачальника. Контракт на обслуговування повинен визначати, скільки попередніх мажорних версій постачальник підтримуватиме одночасно і як довго після виходу нової мажорної версії. Дві попередні мажорні версії з підтримкою протягом 24 місяців після релізу є обґрунтованим базовим рівнем для складного оборонного ПЗ.

Підхід Corvus Intelligence до довгострокової підтримки

Corvus Intelligence розробляє свої оборонні програмні продукти з довгостроковою підтримкою як першокласною вимогою — а не як запізнілою думкою. Наші угоди про обслуговування побудовані на структурованих рівнях критичності, патчуванні безпеки на основі SBOM, контрактному депонуванні вихідного коду та положеннях про перехід, що ставлять безперервність замовника вище за прив'язку до постачальника.

Дізнатися більше про Corvus Intelligence →