Договор на разработку программного обеспечения
Фото: freepik
На базе образовательного центра «Профессиональный интерес» прошел онлайн-интенсив «Покупаем программное обеспечение: что предусмотреть заказчику?».
В мероприятии приняли участие эксперты в области ИT: Вероника Соколовская, адвокат, руководитель практики интеллектуальной собственности SBH Law Offices; Георгий Меметов, CEO ITExperts, эксперт в области разработки ИТ-концепций и систем управления ИТ, оптимизации ИТ-процессов в соответствии с ITIL, COBIT, ISO-27001; Андрей Колтунов, CEO FACTOR Ltd, эксперт в области проведения ИТ и ИБ аудитов, разработки концепций и управления проектами внедрения облачных, гибридных и локальных ИТ-инфраструктур.
Заключение договора на разработку ПО
Особое внимание выступающих было уделено элементу договора «Техническое задание».
Какой договор выбрать? Что учесть в договоре на разработку ПО? В чем разница между уступкой и лицензионным соглашением? Какую модель сотрудничества и оплаты договора предпочесть сторонам? На эти вопросы ответила приглашенный эксперт Вероника Соколовская.
Говоря о правовой природе договора, спикер заострила внимание на одном из самых важных вопросов, подпадающих под юрисдикцию авторского права. В частности, речь шла о способах передачи прав на созданный объект интеллектуальной собственности (программное обеспечение/ПО). И, как правомерно указано экспертом, в соответствии с действующим законодательством помимо договора подряда на саму разработку заказчику необходимо предусмотреть включение в текст договора условий, которые регулируются нормами специальных договоров на отчуждение прав (иначе – уступку) или лицензионных договоров уже созданного программного продукта. Это можно предусмотреть в рамках одного договора, который согласно гражданскому законодательству будет относиться к смешанному типу и включать в себя все существенные условия договора подряда, а также условия по уступке (или приобретению лицензии).
Особое внимание нужно обратить на первую часть договора, которая должна включать предмет договора (техническое задание), срок выполнения работ (ст.ст. 656 и 662 ГК), а также (возможно) требование Указа от 06.07.2005 № 314 «О некоторых мерах по защите прав граждан, выполняющих работу по гражданско-правовым и трудовым договорам», если разработчик – физическое лицо.
Вторая часть обсуждаемого договора представляет собой набор условий, характерных для уступки или лицензионного соглашения. Говоря о правовом регулировании условий ицензионного договора, необходимо учитывать, что предметом будет наименование программы, язык программирования, компоненты и др. А также предмет включает описание объема передаваемых прав, территории, на которую действие договора распространяется, и срок его действия.
Важно: согласно п. 2 ст. 985 ГК лицензия предполагается неисключительной, если в самом лицензионном договоре не предусмотреть иное.
Правовая природа договора уступки раскрывается в ст. 984-1 ГК: к его существенным условиям относится предмет (а это наименование программы, язык программирования, компоненты и проч.), вознаграждение или порядок определения стоимости. Следовательно, при упущении этого момента договор может быть признан незаключенным.
Важно: в договоре необходимо зафиксировать, что исключительное право отчуждается в полном объеме и на весь срок его действия.
Как видим, разница между уступкой и лицензионным договором заключается в том, что в первом случае передаются все права и насовсем. Что же касается лицензионного договора, то он, во-первых, заключается на время, во-вторых, в нем есть возможность определить территорию (может действовать на территории города, страны), в-третьих, здесь позволительно определить исключительные или неисключительные условия использования. Более того, в лицензионном договоре (в отличие от уступки) можно указать, какие именно права передаются.
Так как разработка ПО занимает достаточно длительный срок (в некоторых случаях – несколько лет), чувствительным для сторон является вопрос выбора модели сотрудничества и оплаты работ. Если выбрана модель Вотерфолл, то заказчик формулирует свое виденье готового продукта, и на основании этих пожеланий разработчик через определенное время (неделя, месяц или даже год) предоставляет готовый продукт. В таких моделях оплата часто осуществляете на основе затраченных часов, но суммарное количество часов также фиксируется заранее.
Однако не для всех эта модель привлекательна: заказчик, опасаясь затягивания процесса разработки, может настаивать на твердой цене – fixed-price. При такой модели разработчик принимает на себя все риски по затратам и получает фиксированную сумму.
Рынок предлагает и другие варианты сотрудничества, более гибкие и комплексные, их еще называют «Аджайл-технологии». Здесь предусмотрен постоянный контакт и влияние заказчика на конечный продукт. Заказчик составляет список своих пожеланий, а затем разработчик самостоятельно устанавливает важные приоритеты. Далее стороны встречаются каждые две-три недели и оценивают созданные разработки. Способы оплаты также достаточно гибкие и согласовываются участниками с учетом интересов обеих сторон.
Техзадание – основа договора. Что важно описать в ТЗ?
По технической части работы, связанной с заключением договора на разработку ПО, высказались эксперты в области ИТ Георгий Меметов и Андрей Колтунов.
Спикеры обратили внимание на то, что разработка ПО – это всегда часть «проекта», который не ограничивается периодом, начинающимся подписанием договора и заканчивающимся подписанием акта прима-сдачи работ. Успех проекта зависит ото всех стадий его прохождения, включая сбор и анализ информации о бизнес-процессах и отрасли, для которой разрабатывается ПО, от формулирования критериев успеха, а также последующей техподдержки ПО и гарантийного облуживания. Особое внимание необходимо уделить целям и задачам разработки: они должны быть четкими и максимально учитывать среду, в которой будет работать созданный продукт.
Что касается ТЗ, эксперты убеждены, что формирование условий задания, его грамотное написание, в т.ч. с привлечением сторонних специалистов, – это всегда самый важный этап на пути реализации успешного проекта. Поэтому необходимо привлекать к написанию техзадания специалистов разного уровня и сфер деятельности. Отдельными задачами могут заниматься бизнес-аналитики, дизайнеры, ИТ-специалисты, разработчики, менеджмент.
Оценивая техзадание с юридической точки зрения, правовой эксперт мероприятия Вероника Соколовская подчеркнула актуальные вопросы, которые должны быть учтены в ТЗ на этапе подписания договора:
– требования к юзабилити, интерфейсу;
– требования к совместимости, взаимодействию с другими продуктами и компонентами.
К обязательным частям ТЗ отнесены в т.ч. функциональные требования, нефункциональные требования, информационная безопасность.
И особое внимание спикер уделяет вопросу внесения изменений в техзадание: возможность замен и поправок должна предусматриваться договором.
Принимаем и тестируем ПО: исключаем возможные споры
Начали традиционно с юридических аспектов, что следует учесть в договоре:
– порядок передачи заказчику продукта;
– срок для тестирования;
– порядок уведомления разработчика о выявленных ошибках;
– порядок и сроки устранения ошибок.
Приемка – очень ответственная процедура: именно в этот момент стороны фиксируют передачу исключительных прав на ПО, уступая их полностью или указывая объем передаваемых прав (при лицензии).
Сама приемка представляет собой определенный этап работы, на котором заказчик проверяет соответствие ПО требованиям, изложенным в ТЗ, а также тестирует программный продукт в целом.
Программа считается принятой, если имеются все заказанные функции, нет ошибок (или их количество не превышает предел, оговоренный в договоре), выполнены другие условия, которые стороны согласовали для приемки.
Техническими экспертами по данному блоку вопросов была отмечена необходимость получения документации к готовому продукту, в частности, спецификации самого ПО (описание функционала, архитектура компонентов), эксплуатационной документации (руководство для системного администратора, пользовательская документация) и, как правило, методик испытаний и тест-кейсов.
***
Это лишь минимальный набор инструкций к тому, на что заказчику необходимо обратить внимание, принимая решение реализовать какой-либо программный проект. Вопросы не ограничены только заключением и сдачей готового продукта.
В процессе жизненного цикла ПО часто возникает необходимость его доработки, модернизации, гарантийного обслуживания и технической поддержки. И все эти вопросы лучше предусмотреть в начале сотрудничества с разработчиком, поскольку отношения будут строиться на долговременной основе.