Как защитить исходный код от кражи его разработчиками

Здравствуйте! 

Можно ли доверять исходный код разработчикам, которые присоединились к команде, и как себя защитить от того, что они могут украсть его и начать свое дело на основе него?


Отвечают юристы Владимир Беляев («Центр Управления Законом») и Павел Мищенко (Runetlex).

У нас для вас плохие новости: единственный честный ответ на ваш вопрос одновременно является и самым бесполезным — у вас нет возможности защитить себя. Если новые разработчики захотят украсть у вас код, вы можете усложнить им жизнь, но не помешать. Ни одна бумажка не решит вашу проблему окончательно. Чего уж там, Уголовный кодекс действует чёрт знает сколько времени, но он так и не решил проблему убийств. 

Нам знакома точка зрения «безопасности много не бывает», которую исповедуют банки и soviet-style компании, преимущественно с госучастием. Наймите вы такого специалиста, он сразу же покажет вам, что вы не зря платите ему деньги. Вы и оглянуться не успеете, как доступ в кабинеты будет по карточкам, к компьютерам — по отпечаткам пальцев, а чтобы отредактировать файл, понадобится служебная записка, завизированная генеральным директором, начальником отдела разработки и руководителем службы безопасности. 

Нам жаль, но этот путь ведёт в тупик. Сколько бы денег вы не влили в информационную защиту, если ваш разработчик захочет украсть код — он всё равно это сделает. Единственный способ гарантировать неразглашение тайны запрещён всё тем же Уголовным кодексом.

Поэтому мы советуем вам не страдать паранойей, ограничившись минимальным разумным комплектом мер и документов: режим коммерческой тайны решит треть проблем, аккуратное обращение с правами на новый код — вторую треть, а внимательное отношение и грамотный подбор кадров — всё остальное. 

Режим коммерческой тайны — это не просто подписание NDA. Одноимённый федеральный закон в статье 10 описывает целый ряд действий, которые необходимо сделать в компании: 

  1. Определиться со списком информации, составляющей коммерческую тайну. 
  2. Ограничить доступ к коммерческой тайне. 
  3. Вести учет лиц, получивших доступ к коммерческой тайне. 
  4. Подписывать соглашение о неразглашении (NDA) c сотрудниками и контрагентами. 
  5. Ставить гриф «коммерческая тайна» на документах. 

Лайфхак: никто не запрещает поставить гриф «коммерческая тайна» в футере системы управления проектами или в теме чатика, ну и есть хардкорный вариант — наклейка на компьютере. Не лайфхак: коммерческая тайна сработает только в том случае, если вы юрлицо или индивидуальный предприниматель. 

Аккуратная работа с правами подразумевает следующее: 

  1. Вы получаете исключительное право в полном объёме на весь новый код. Проследите, чтобы в договорах (подойдут авторские, подряда, отчуждения прав и даже трудовые) были формулировки об отчуждении права, а также разрешение использовать программный код в составе сложных объектов без указания имени авторов (анонимно). Примеры формулировок можете без зазрения совести позаимствовать отсюда.
  2. Вы не передаёте новым разработчикам никаких прав на весь старый код. Просто не заключайте с ними договоров о передаче прав с такими же формулировками, как в предыдущем пункте.

На сдачу от сэкономленных на защите информации денег купите разработчикам печенек — их профилактическую роль сложно переоценить, а толку всё равно больше.

0
28 комментариев
Написать комментарий...
Андрей Шайдуров

Могу сказать как разработчик ещё и следующее: в 99% случаев вам НЕ НУЖНО защищать свой исходный код. За редким исключением в условиях российских стартапов код представляет из себя ничего уникального и сверхценного (исключения - наукоёмкие технологии и ноу-хау).
Если вы не можете, взглянув на какой-нибудь свой модуль, сказать: "Компания X купила бы у меня этот кусок кода как минимум за Y долларов", то ваш код никому не нужен. Его очень легко и дёшево можно повторить.

Лучше перестаньте бояться, и посмотрите с другой стороны: какие ваши наработки вы можете отдать общественное достояние. Зачем? Потому что:
а) это привлекает ваших будущих сотрудников. Хорошие программисты любят компании, которые делают вклад в открытое ПО.
б) это даёт вам конкурентные преимущества. успешные открытые проекты привлекают очень много внимания к компаниям, которые их курируют.

И главное, помните: ценность содержится в вашем продукте, а не коде.

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку
Nikolay Ryazantsev
"Компания X купила бы у меня этот кусок кода как минимум за Y долларов"

Не соглашусь.
Очень много таких проектов, которые по коду совершенно никак финансово не определяются.
Вот, Твиттер. Или Инстаграм - они же делаются элементарно. Но их нельзя было в то время оценить финансово.
Или Flappy Bird - в чём успех? Явно же не в коде. Делай копии - ничего хорошего не выйдет.

Ответить
Развернуть ветку
Андрей Шайдуров

я об этом и говорю. скопировать с нуля тви или инстаграмм - очень легко. даже с масштабированием под их нагрузку. только это никому не будет нужно без всех их пользователей, бренда и т.п.

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку
Vkadimir Komarov

А разработчику обязательно быть безграмотным??? И не все буквы тыкать . . .
: -(((

Ответить
Развернуть ветку
Андрей Шайдуров

* За редким исключением в условиях российских стартапов код не представляет

Ответить
Развернуть ветку
Григорий Голованов

Неистово плюсую

Ответить
Развернуть ветку
Nikolay Talanov

Чужой говнокод это скорее головная боль для любого программиста, чем возможность извлечь из этого выгоду. Человеку намного проще будет изучить архитектуру приложения, понять что/куда/где/зачем/как и потом с радостью наговнокодить свою версию в экспресс варианте (ну это я утрирую немного).

Ответить
Развернуть ветку
Андрей Шайдуров

Дело совершенно не в говнокоде. Для любого хорошего программиста умение быстро разбираться в говнокоде - это must have для работы в команде. Просто в нём разбираться и не нужно. Код без продукта, как продукт без пользователей - ничто.

Ответить
Развернуть ветку
Nikolay Ryazantsev

В общем-то, за этим люди и идут в google, yandex и т.п - чтобы получить необходимый опыт, подсмотреть решения и сделать своё дело.
Тот же Гельбенжштейн ушёл от Ашманова, украв технологии и сделав свой стартап speektoit

Ответить
Развернуть ветку
Artem Voronov

Мало того, что меры защиты от кражи исходного кода малоэффективны, так они еще и зачастую мешают продуктивной работе.

Более эффективно нанимать правильных людей, а не всех подряд.
Да и в большинстве случаев толку от украденного исходного кода никакого. Особенно если код привязан к бизнес-процессам предприятия. Либо проект настолько огромный, что его изучение займет месяцы и годы. Забота о защите от кражи кода разработчикоми актуальна скорее где-то в оборонке и в наукоемких стратегических проектах. И однозначно бесполезна в стартапе, где через месяц уже может быть совершенно другой код на другом языке.

Ответить
Развернуть ветку
Nikolay Ryazantsev

Согласен.
Добавлю, что чем больше создавать трудностей разработчику, тем больше у него будет желания покинуть вашу компанию со всеми вытекающими отсюда последствиями.

Ответить
Развернуть ветку
Nikolay Ryazantsev

Поясню, почему так происходит. В наше время разработчик - это нечто больше, чем просто ткачика у станка, шахтёр в шахте, водитель маршрутки или бухгалтер. Это человек с высшим образованием, зачастую с амбициями (я - стартапер!), связями, знакомствами и своим видением будущего. Поэтому его удержать важнее, чем того же бухгалтера.

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку
Илья Колесников

только это в голову пришло

Ответить
Развернуть ветку
hellodolly

Разработчики смотрят на ЦП после таких желтых статей с презрением.

Ответить
Развернуть ветку
Константин Панфилов

Что вы вкладываете в понятие «желтая статья»?

Ответить
Развернуть ветку
hellodolly

Это мое мнение, прошу не обижаться. Просто ЦП последнее время берет количеством а не качеством. Статьи выглядят какими-то недалекими, неглубокими и безвкусными. Такое ощущение, что вы нацелились на аудиторию школьников псевдо-стартаперов.

Но меня радует хотя бы то, что заголовки постов у вас не начинаются повально с "Как" - таким слабоумием например отличается вот этот ресурс http://www.the-village.ru/village/hopesandfears : у редакторов явно что-то с головой.

Ну а в целом, идите и дальше с лозунгом "Больше стартапов, хороших и плохих, каждому школьнику и бызнесмену"

Ответить
Развернуть ветку
Рунетлекс

Этот комментарий прям до слез)) Хохочу))

Ответить
Развернуть ветку
Oleksii (ಠ_ಠ)

Все очень просто. Допустим у вас 4 программиста. Берете количество файлов в проекте, например 500. И каждому программисту даете доступ только к 125 файлам! А программистов рассаживаете в разных комнатах, чтобы они не общались.

Ответить
Развернуть ветку
Andrey Breeze

Идиотизм

Ответить
Развернуть ветку
Oleksii (ಠ_ಠ)

prove me wrong. попробуйте. сначала кажется, что не сработает, но потом поймете, что это гениально

Ответить
Развернуть ветку
Andrey Breeze

Это ни разу не гениально. Это называется - вставлять палки в колеса.

Ответить
Развернуть ветку
Михаил Чемезов

Не всегда. Если эти 125 файлов будут независимы от остальных 375, то этот способ вполне сойдёт. Кажется, точно так же и шла разработка первого айфона, и результат? Ничего не утекло до публичной презентации.

Ответить
Развернуть ветку
Andrey Breeze

А кто определит их независимость? Чудо-менеджер?

Ответить
Развернуть ветку
Stas Borisychev

На практике сам код, даже если код православных Google-программистов, не несет ценности - так как разбираться в чужих костылях никто не хочет.

Как правило все дело в самих мозгах команды получивших опыт при написании того или иного когда.
И да, с таким багажом можно смело воровать целые команды и основывать свои компании на базе полученного опыта. При этом в новом продукте может быть ни строчки похожего кода.

Так часто и происходит.

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку
Denis Kiselev

Имеет смысл защищать не код, а свой бизнес. От кражи кода защищаться не нужно - да и не возможно практически.

А вот от выпуска "конкурирующего" продукта на вашем коде силами уволившихся програмистов защититься с помощью договоров, законов и судов вполне можно.

Ответить
Развернуть ветку
Andrey Breeze

Бугагашеньки... Проходил это лет 8 назад :-)

И дело даже не в ценности кода, которая стремится к нулю в 99.9999% случаев.

Да! Сам код можно защитить, если положите его в саркофаг, а программистов замуруете заживо в пирамиде...

А если по делу, то надо постоянно повторять про себя две мантры:

1) защищать не код, а способ;
2) не обижать программистов.

Тогда будет шанс хоть что-то отстоять в своем спекулятивном деле.

Ответить
Развернуть ветку
Eugene Trapeznikov

А вы зарплату им платить не пробовали? Слышал, помогает.

Ответить
Развернуть ветку
Марк Егоров

Я работал в компании, где украсть код было практически невозможно. И не только код, но вообще любой документ, представляющий ценность.

Большая часть персонала не имела доступа к Интернету, не имела возможности воспользоваться съемными носителями. Вся работа проходила на терминальных серверах.
Уровни допуска, каждая дверь на электронном замке. Чтобы отправить письмо по емейлу, нужно было получить письменное разрешение начальства, затем прийти в отдельный кабинет, где под бдительным контролем это письмо отправлялось.

Но это всё фигня по сравнению с автоматчиками по периметру и осознания того факта, что законы государства за этим высоким забором не действуют.

Ответить
Развернуть ветку
25 комментариев
Раскрывать всегда