Захантити розробника, інженера або тестувальника стає все складніше. Попит на фахівців з високою кваліфікацією і досвідом перевищує пропозицію. Коли ж IT-компанія знаходить свого фахівця, залишається організувати роботу так, щоб обидві сторони були задоволені: врахувати забаганки девелопера, але застрахувати компанію від фінансових та інших ризиків. Як це зробити - розповідаємо в статті.
Перш ніж починати роботу, підпишіть договір з розробником програмного забезпечення. Пункти, які ви зазначите у договорі, будуть застосовуватися до організації робочого процесу і допоможуть вирішити конфлікти у команді.
Ні для кого не секрет, що більшість девелоперів в Україні працюють з IT-компаніями як ФОП. У такому випадку договір на розробку програмного продукту буде виконувати роль трудового договору з розробником.
7 обов'язкових пунктів договору на розробку IT-продукту з девелопером
Предмет договору - яку роботу виконує девелопер?
Завдання IT-юриста у договорі визначити вид роботи, а вимоги і деталі описуються у технічному завданні. З іншого боку, варто уникати загальних формулювань, щоб підтвердити джерело доходу і уникнути проблем з податковою і органами фінансового моніторингу. Перевірте, щоб предмет договору відповідав КВЕД девелопера. Може трапитися так, що ФОП розробляє для IT-компанії програмний продукт, а КВЕД у нього 74.10 - дизайн. У такій ситуації податкова може донарахувати податки, і замість 5% від доходу на спрощеній системі оподаткування, доведеться платити 18% за загальною ставкою.
Пропонуємо предмет договору визначити так: виконавець надає послуги з розробки, модифікації, тестування та технічної підтримки програмного забезпечення. І перевіряємо, щоб КВЕД у розробника був 62.01 - комп'ютерне програмування.
Менеджерування роботи - де ставляться завдання і як приймаються результати?
Щоб уникнути хаосу в організації роботи, важливо визначити:
- канали комунікації: таск-менеджери, таск-трекери, сервіси, корпоративні пошти та інші;
- можливість замовника скасувати завдання або деталізувати її опис: змінити умови або терміни виконання;
- порядок прийняття результатів роботи.
Ось приклад такого пункту з договору: замовник може ставити завдання у письмовій формі, а саме направляє повідомлення електронною поштою або створює завдання у сервісі Jira. Для зручності комунікації замовник створить виконавцю адресу електронної пошти.
За результатами повного або часткового виконання завдань, сторони щомісячно складають і підписують акт наданих послуг. Якщо замовник відмовляється прийняти результати роботи, виконавець протягом 10 календарних днів усуває баги.
Важливо розмежувати які дефекти розробник усуває безкоштовно, а які будуть додатковою роботою.
Не завжди помилку і доопрацювання просто розмежувати. Наприклад, клієнт залишив об'ємний відгук на сайті. Після чого з'їхала кнопка гортання слайдеру відгуків. Баг у роботі виник через адаптивну верстку. Але зміни контенту на сайті повинні відображатися коректно, а значить розробник припустився помилки.
А тепер приклад багу, усунення якого доведеться додатково оплатити. У розділі контактів більшості сайтів розміщені Google карти. Раніше розробники додавали на сайт такий функціонал скопіювавши шматок коду. З недавнього часу Google ввів плату за розміщення карти. Після чого всі сторінки сайтів з картами видали помилку. Але провини розробника у цьому немає. Щоб розв'язати проблему, потрібно купити право розмістити Google карту на сайті, і внести зміни у код.
Повернемося до порядку прийняття результатів робіт. У договорі обов'язково закріпіть способи їх передачі.
За результатами виконаних завдань виконавець передає результати роботи з використанням:
- аккаунта електронної пошти;
- таск-трекера;
- аккаунта в Confluence;
- сховища Git.
Як ви розумієте назви всіх таск-трекерів, систем і сервісів лише приклади. У вашому договорі повинні бути реальні інструменти і канали комунікації, місця постановки завдань і передачі інтелектуальної власності, які використовує команда.
Вартість роботи - скільки та коли IT-компанія платить розробнику?
Вартість роботи за певний період, наприклад місяць, вказується в акті наданих послуг або інвойсі. А ось у договорі IT-юристи описують порядок розрахунку: валюта і термін, штраф за прострочення оплати.
А ось і приклад пункту: замовник оплачує виконавцю послуги на банківський рахунок в доларах США протягом 15 робочих днів з моменту підписання акту наданих послуг.
Інтелектуальна власність - які права переходять IT-компанії?
У процесі роботи девелопер та інші співробітники створюють об'єкти інтелектуальної власності - вихідний і об'єктний код, операційні системи, бази даних, дизайнерські рішення, робочий функціонал, продуктові алгоритми та інші. Важливо, щоб у результаті власником інтелектуальної власності була IT-компанія. Зробити це просто: напишіть у договорі, що всі майнові права на об'єкти інтелектуальної власності (авторського права) переходять до замовника з моменту створення, що підтверджується актом наданих послуг або інвойсом до міжнародних контрактів. Тільки у такому випадку компанія зможе передати готовий IT-продукт клієнту.
У 2020 році в РФ прогримів спір між швейцарською IT-компанією Veeam Software і розробником з Росії. Під час роботи в Veeam розробник Антон Мамічев у вільний час створив програму eLearning Metadata Manager. Пізніше при звільненні він запропонувавши IT-компанії підписати ліцензійний договір на використання IT-продукту зі збереженням його авторських прав. У вихідний код програми розробник вніс знак «(С) 2012-2017 Anton Mamichev». Але після його звільнення знак захисту авторських прав зник з коду програми, а Veeam Software заявила, що програма була написана програмістом у рамках службових обов'язків.
Тоді розробник звернувся до суду і заявив, що IT-компанія 2 роки незаконно використовувала програмний продукт. Спершу суд визнав Антона Мамічева автором і присудив 23 мільйони рублів компенсації. Але апеляція визнала IT-рішення Антона Мамічева складеним твором, і скасувала рішення суду першої інстанції, а значить і компенсацію у 23 мільйони рублів. Складений характер програми означає, що розробник поєднав і перетворив оригінальні IT-рішення, права на які належать не йому.
Ми не буде міркувати про справедливість судового рішення, але запозичимо досвід. Співробітники відчувають себе авторами і власниками IT-рішень, які вони генерують. Тому IT-компанії важливо убезпечити себе від подібних позовів за допомогою пунктів в контракті про перехід прав інтелектуальної власності.
Також радимо уточнити які саме права переходять до замовника від девелопера:
- допрацьовувати, адаптувати, використовувати частинами та іншим чином змінювати IT-рішення без попереднього узгодження з виконавцем;
- генерувати похідні об'єкти;
- продавати і передавати у користування, видавати ліцензії на IT-продукт;
- імпортувати та експортувати об'єкти інтелектуальної власності;
- рекламувати IT-продукт та інші права.
Зараз суд Каліфорнії слухає справу Rambler проти співробітника Ігоря Сисоєва. У вільний час програміст створив IT-рішення Nginx, яке поширювалося як open source за ліцензією сімейства BSD. Пізніше співробітник звільнився з Rambler і зареєстрував компанію Nginx на Британських Віргінських островах і ще три компанії з такою ж назвою у США. Ось тільки Rambler Group заявила про свої права на програмне забезпечення Nginx, бо програмний продукт розроблявся колишніми співробітниками з використанням ресурсів компанії.
У справі немає остаточного рішення, але ясно одне: співробітники можуть бути винахідливими і непередбачуваними. Така практика вчить нас підходити з особливою ретельністю до розділу про інтелектуальну власність, щоб не втрачати IT-рішення вартістю мільйони доларів.
І останній штрих у розділі про інтелектуальну власність - пункт про способи передачі результатів роботи.
Один з можливих способів - надання доступу до сховища, у якому знаходиться об'єкт інтелектуальної власності. Але це тільки приклад, у вашому договорі повинні бути описані способи, якими користуються співробітники у компанії.
Конфіденційність - яку інформацію слід зберігати в секреті?
Девелопер знає про роботу IT-компанії все і навіть більше: бюджети проектів, заробітну плату співробітників, списки клієнтів, новації, фічі, алгоритми, підходи до роботи та іншу конфіденційну інформацію. Тому важливо обмежити можливість співробітника її розголошувати. Для цього у договір на розробку програмного продукту вноситься розділ про конфіденційність - NDA.
Завдання IT-юриста детально описати яка саме інформація буде розглядатися як конфіденційна: контракти, попередні договори, зарплати співробітників, вартість послуг, бюджети проектів, ділові пропозиції, дані про клієнтів, бізнес-плани, маркетингові дослідження, технічні завдання, технологічна документація, звіти про виконання робіт та інша інформація. Перелік буде відрізнятися у договорах різних IT-компаній, так як важливо врахувати особливості організації внутрішніх процесів у компанії та IT-продукти, над якими працює команда.
Крім переліку конфіденційної інформації, потрібно вказати способи її передачі: електронна пошта; месенджери; сховища даних; таск менеджери; колли; відеоконференції та інші.
Детальніше про те, як IT-компанії захистити конфіденційну інформацію у статті про NDA.
Наступне питання, на яке повинна відповісти IT-компанія перед тим як підписувати договір з девелопером: ви дозволяєте співробітнику називати себе автором і внести кейс у портфоліо? Залежно від того, яке рішення прийме IT-компанія, у договорі має бути пункт, який дозволяє або забороняє співробітнику відкривати інформацію про роботу над IT-продуктом.
Після того як режим конфіденційності описаний, правила встановлені, не забудьте прописати санкції - штраф і компенсація. Приклад пункту з договору: за розголошення конфіденційної інформації особисто виконавцем, або пов'язаною з ним людиною, виконавець повинен компенсувати збитки у розмірі справедливої компенсації, але не менше 10 000 доларів США, і не нижче сукупної вартості оплачених послуг за 6 місяців.
Вирішення конфліктів - де буде розглядатися спір?
Більшість спорів в IT вирішуються шляхом переговорів. Тому радимо у договорі передбачити досудове врегулювання спору.
Опишіть алгоритм процедури переговорів:
- написати та відправити претензію.
- Сторона, яка отримала претензію, повинна відповісти, наприклад, протягом 30 календарних днів.
- Якщо відповіді на претензію немає, вважається, що опонент прийняв вимоги.
І тільки коли стає зрозуміло, що переговори не призвели до вирішення конфлікту, сторони можуть звернутися до суду або арбітражу.
Розірвання договору - за скільки днів попередити іншу сторону?
IT-компанія і девелопер можуть ініціювати розірвання договору. Важливо встановити проміжок часу за який кожен з них попередить про припинення співпраці. Наприклад, 60 днів. IT-компанія встигне знайти заміну співробітнику, а розробник новий проект.
Крім того, припинити договір можна і за допомогою додаткової угоди. Ви можете встановити термін довше, ніж той, який спочатку прописали у договорі. IT-юристи використовують додаткову угоду, щоб закріпити домовленість IT-компанії з розробником про те, що він затримається на проекті довше, наприклад до завершення певного скоупу робіт.
Тепер ви знаєте з чого складається договір з розробником програмного забезпечення. Робочі ситуації можуть бути різними. Сьогодні співробітник виконує завдання у терміни і його любить команда, завтра він відмовляється підписати акт наданих послуг і передати вам результати роботи. У такому випадку, якщо у договорі детально описаний продукт, який програміст розробив для замовника, і момент переходу прав інтелектуальної власності, конфлікт з розробником не страшний. Так потрібно пропрацювати кожен ризик, щоб IT-компанія не втрачала час на конфлікти і створювала IT-продукти вартістю мільйони доларів.