Думайте сами, решайте сами
Чтобы найти ответ на вопрос, создавать ли самим защиту и систему лицензирования или доверить эту работу сторонней организации, необходимо просто подсчитать, во сколько обойдется написание системы, ее тестирование, внедрение и поддержка. Речь пойдет о чисто программной системе защиты, не использующей USB ключи и токены.
Для того чтобы разработать более или менее надежную защиту и функциональную систему лицензирования, нам понадобятся люди, выполняющие следующие задачи:
- менеджер проекта – управление проектом;
- аналитик – сбор требований, написание технического задания;
- программист C++ — написание кода;
- тестировщик – поиск ошибок;
- технический писатель – подготовка документации.
Готовое решение будет состоять из двух частей: собственно движок защиты кода программы и система активации и лицензирования
Сама по себе система лицензирования не даст ничего, кроме относительной информации об использовании защищенного продукта. Вы не сможете учитывать тех, кто пользуется пиратскими версиями. Необходимо надежно увязать код программы и систему лицензирования, дабы получить максимальное число проданных лицензионных копий и соответственно максимально правдивую статистику распространения.
Время, которое понадобится на разработку проекта и его развертывание, а также усредненные зарплаты сотрудников приведены в таблице:
Этапы | Время работы, месяцы* | ЗП сотрудника, тыс. руб.** | Общая сумма по каждому этапу, тыс. руб. |
---|---|---|---|
Управление проектом | 1 | 100 | 100 |
Написание требований | 0,5 | 55 | 27,5 |
Программирование | 4 | 75 | 300 |
Тестирование | 3 | 45 | 135 |
Исправление ошибок | 0,5 | 75 | 37,5 |
Документация | 0,5 | 50 | 25 |
Итого: | 9,5 | 535 | |
* Время, необходимое на каждый этап проекта, выведено на основе десятилетнего опыта разработки подобных систем в компании StarForce. ** Мониторинг зарплат производился на сайте HeadHunter. |
Сюда необходимо добавить этап под условным названием «Прочее». В него войдут:
- конфигурационное управление;
- развертывание;
- обучение персонала.
Этот этап займет 0,5 месяца, будет выполняться, например, программистом. Следовательно, добавим к получившейся сумме еще 37500 руб. Итого разработка собственной системы защиты и лицензирования обойдется в 572 500 руб.
Не менее важный этап – сопровождение. За первые три месяца вы будете тратить на это по 0,5 человекомесяца работы программиста. Это еще 112 500 руб. инвестиций – причем только за первые три месяца поддержки! Итого за время разработки и первоначальной поддержки системы вы потратите 685 000 рублей. Далее на сопровождение потребуется примерно 0,25 человекомесяца, что составит 18 750 руб. ежемесячно.
Кроме того, следует подумать, как ваши клиенты будут активировать купленные программы. Для этого потребуется сервер активации и лицензий, который будет проверять подлинность лицензий, раздавать активационные ключи и логировать информацию об использовании продукта. Здесь же необходимо создать интерфейс построения отчетов. Очевидно, что удобнее всего это делать с помощью Web-интерфейса, что потребует Web-программиста с соответствующими знаниями.
В зависимости от вашего продукта и масштабов его распространения вам нужно будет либо купить готовый сервер, либо арендовать таковой в дата-центре. В сравнении со стоимостью разработки сумма незначительная, но тем не менее забывать про это нельзя.
Определив сумму инвестиций, перейдем к тому, что у нас получится технологически. Очевидно, что система защиты является специфическим программным продуктом. Заманивать хакеров в ловушку – дело серьезное, они люди неглупые и тут необходим опыт, основанный на пробах и ошибках. Защита, как правило, замедляет работу программы, и чтобы не получить «тормозящее» приложение, необходимо длительно оптимизировать код и алгоритмы криптографии.
Кроме того, не исключено, что потребуется программист соответствующей специализации, знающий тонкости криптографии и защиты кода. Если же не делать серьезного упора на защиту кода и обфускацию алгоритмов программы, то время взлома такого решения будет исчисляться часами и вся работа будет пущена коту под хвост.
Узнайте у соответствующих компаний, сколько будет стоить разработка подобной системы под ваши нужды. Или поинтересуйтесь ценой готового решения. Сравните цифры и делайте выводы.