💳 Кожен. Повинен. Мати. Trustee Plus: криптогаманець і європейська платіжна картка з лімітом 50к євро 👉
Олександр КузьменкоНавколо IT
1 травня 2024, 17:36
2024-05-01
CPO «Дії» про вихід на опенсорс: «Реакція користувачів на GitHub була бурхлива»
На початку березня міністр цифрової трансформації України анонсував відкриття коду застосунку «Дія». Це дало змогу зацікавленим айтівцям проаналізувати код і запропонувати, як покращити «Дію», однак побаченим не всі були задоволені. Що про це говорить Chief Product Officer у «Дії» Євгеній Горбачов.
Видання DOU взяло інтерв’ю в CPO «Дії», у якому він розповів, чому проєкт вийшов в опенсорс, і про реакцію користувачів на GitHub. Ось найцікавіші тези з розповіді Євгенія Горбачова (пряма мова).
Яка команда «Дії»
Проєкт «Дія» створили 16 людей, а на початку нас узагалі було п’ятеро. Нині в команді 37 фахівців, включно з менеджерами, архітекторами, бізнес-аналітиками, дизайнерами, розробниками, тестувальниками, девопсами, спеціалістами з безпеки. З цього дивуються всі у світі. Для розвитку продукту нам потрібні контрибутори, які можуть розробляти функції, що не братиме на себе core-команда, тому що це не є пріоритетом для країни.
Мейнтейнерами підтримки опенсорс-коду «Дії» є наша команда. Жодних людей зовні ми не брали
У команді є напрями iOS, Android, Back-end, DevOps тощо. Кожен з них рев’ювить пул-реквести у своїй зоні відповідальності. Це не їхня основна робота. Вони мають велике навантаження: створюють складну функціональність, менеджать свої команди, відповідають за запуск нових фіч, а тепер додався ще й опенсорс.
Про вихід в опенсорс
Вихід в опенсорс я ініціював ще 2020 року, коли «Дія» тільки з’явилася, але у нас було дуже багато обмежень. Враховуючи, що це критична інфраструктура, проєкт був під грифом секретно. Навіть примітивна документація була таємницею. Звісно, є речі, які досі не можна робити загальнодоступними. Ми працювали над тим, щоби відокремити те, що можна. Це насамперед юридична, бюрократична робота.
На 2022 рік планували провести рефакторинг, дещо поліпшити, додати описи, підготувати пайплайни, що дало б змогу «Дії» вийти в опенсорс. Ми очікували, що це станеться наприкінці 2022 року, але повномасштабне вторгнення завадило.
Цей проєкт став ще більш актуальним торік, коли ми стали отримувати багато запитів від країн-партнерів, яким було цікаво співпрацювати, ділитися досвідом і навіть перевикористовувати певні практики для своїх продуктів.
«Дія» — це як транспорт, де на точковий запит ми звертаємося за точковою відповіддю. Це не банківський застосунок, де є своя клієнтська база, навіть якщо в ній 20 мільйонів користувачів. У світі все рухається до розділених систем, де немає єдиного великого сервісу, який можна «покласти».
Наша модель дає змогу гарантувати безпеку даних, хоча власним технічним спеціалістам буває складно, адже під капотом — складні речі. Аналога «Дії» такого ж масштабу й архітектури немає, а все має працювати безпечно та максимально просто для користувача.
Є три ключові причини, чому ми вийшли в опенсорс. Окрім міжнародних відносин і популяризації рішень на базі «Дії» за кордоном, це робота зі спільнотою експертів зі всього світу, розвиток додаткових продуктових гілок для «Дії».
Важливо розуміти, що опенсорс-код «Дії» — це бойовий код, хоча він дещо відстає. Наразі доналаштовуємо додаткові зворотні пайплайни, щоб отримувати пул-реквести. Працюємо над тим, щоб не відволікати девопсів і лідів-розробників на оновлення. Зараз вони робляться в ручному режимі та відстають, адже постійно вносяться зміни. Опенсорс-код «Дії» постійно оновлюватиметься. Додаватимуться сервіси, щоб покрити всі функціональні можливості платформи. Зараз їх лише два.
Якби «Дія» була сервісом, який акумулює та зберігає інформацію, її публікація несла б масштабні ризики. Але в нас абсолютно інша модель. «Дія» не зберігає дані та не розпоряджається ними. Проєкту вже чотири роки. Якби хтось захотів, за цей час він зробив би реверс-інжиніринг наших застосунків, розклав їх на компоненти та дізнався все те, що можна дізнатися з відкритого коду.
Про Github
У березні ми отримали 86 пул-реквестів. Щоправда, з 1 до 17 квітня пул-реквестів не було. Я наголошую саме на них, не на проблемах (issues). Створювати окрему команду, яка буде сперечатися з кимось на GitHub? Ні, холіварити ми точно не будемо. Але якщо issue вказує на безпекову проблему, ми будемо на це реагувати.
Звичайно, читаємо всі issues з критикою. Це філософська історія: якщо ви не виходите в опенсорс, вас критикують. Але якщо виходите, вас теж критикують. Якщо ви заздалегідь плануєте вийти в опенсорс, то будуєте рішення під це з самого початку. Робити закритий продукт відкритим (як це було з «Дією») значно складніше, ніж відразу створювати відкритий продукт за всіма гайдлайнами та найкращими практиками.
Переважно ми маємо дуже короткі терміни на реалізацію. Ми не можемо зупинити всі розробки, які конче потрібні державі, заради покращення вигляду кодової бази, але це є у нас в беклозі як технічний борг.
Реакція користувачів на GitHub була бурхлива. Ми отримали багато позитивного фідбеку, але ставили й дискусійні питання, була конструктивна критика. Загалом все відбулося навіть краще, ніж очікувалось. Явного негативу не траплялося, адже «Дія» — це не проста саморобка, щоб можна було швидко подивитись і аргументовано сказати: «все погано, чи все добре».
Продукт складний і потребує експертизи й часу на аналіз для того, щоб щось стверджувати й дискутувати. Ті, хто розуміються, конструктивно поставили запитання, зробили уточнення та запропонували своє бачення з урахуванням усіх ввідних.
По плани
На початку кожного року в нас відбувається нарада з короткострокового та довгострокового планування, де на слайдах 60–70 проєктів, які нам потрібно зробити. А є ще офлайн-послуги, для оцифрування яких ще не готова нормативно-правова база. Наша мета — 100% державних послуг мають перейти в онлайн. У пріоритеті допомога громадянам під час війни та послуги, що будуть втіленням реформ, наприклад, розмитнення авто.
Наразі працюємо над інноваційними речами, включаючи штучний інтелект. Будемо покращувати підтримку на основі ШІ, адже ми не можемо взяти для неї 5000 операторів.