Захантить подходящего разработчика, инженера или тестировщика становится все сложнее. Спрос на специалистов с высокой квалификацией и опытом превышает предложение. Когда же IT-компания находит своего спеца, остается организовать работу так, чтобы обе стороны были довольны: учесть хотелки девелопера, но застраховать компанию от финансовых и других рисков. Как это сделать - рассказываем в статье.
Прежде чем начинать работу, подпишите договор с разработчиком программного обеспечения. Пункты, которые вы опишите в договоре, будут применяться к организации рабочего процесса и помогут решить конфликты в команде.
Не для кого не секрет, что большинство девелоперов в Украине работают с IT-компаниями как ФЛП. В таком случае договор на разработку программного продукта будет выполнять роль трудового договора с разработчиком.
7 обязательных пунктов договора на разработку IT-продукта с девелопером
Предмет договора - какую работу выполняет девелопер?
Задача IT-юриста в договоре определить вид работы, а требования и детали описываются в техническом задании. С другой стороны, стоит избегать общих формулировок, чтобы подтвердить источник дохода и избежать проблем с налоговой и органами финансового мониторинга. Проверьте, чтобы предмет договора соответствовал КВЭД девелопера. Может случиться так, что ФЛП разрабатывает для IT-компании программный продукт, а КВЭД у него 74.10 - дизайн. В такой ситуации налоговая может доначислить налоги, и вместо 5% от дохода на упрощенной системе налогообложения, придется платить 18% по общей ставке.
Предлагаем предмет договора определить так: исполнитель предоставляет услуги по разработке, модификации, тестированию и технической поддержке программного обеспечения. И проверяем, чтобы КВЭД у разработчика был 62.01 - компьютерное программирование.
Менеджерирование работы - где ставятся задачи и как принимаются результаты?
Чтобы избежать хаоса в организации работы, важно определить:
- каналы коммуникации: таск-менеджеры, таск-трекеры, сервисы, корпоративные почты и другие;
- возможность заказчика отменить задачу или детализировать ее описание: изменить условия или сроки выполнения;
- порядок принятия результатов работы.
Вот пример такого пункта из договора: заказчик может ставить задачи в письменной форме, а именно направляет электронное сообщение или создает задачи в сервисе Jira. Для удобства коммуникации заказчик создаст исполнителю адрес электронной почты.
По результатам полного или частичного выполнения заданий, стороны ежемесячно составляют и подписывают акт оказанных услуг. Если заказчик отказывается принять результаты работы, исполнитель в течение 10 календарных дней устраняет баги.
Важно разграничить какие дефекты разработчик устраняет бесплатно, а какие будут дополнительной работой.
Не всегда ошибку и доработку просто разграничить. К примеру, клиент оставил объемный отзыв на сайте. После чего съехала кнопка перелистывания отзывов. Баг в работе возник из-за адаптивной верстки. Но изменения контента на сайте должны отображаться корректно, а значит разработчик допустил ошибку.
А теперь пример бага, устранение которого придется дополнительно оплатить. В разделе контактов большинства сайтов зашиты Google карты. Раньше разработчики добавляли на сайт такой функционал скопировав кусок кода. С недавнего времени 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-продукты стоимостью миллионы долларов.