Вопросы Редакция vc.ru
8 665

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

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

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


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

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

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

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

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

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

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

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

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

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

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

#вопросы #Разное

Материал опубликован пользователем. Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Редакция vc.ru", "author_type": "self", "tags": ["\u0440\u0430\u0437\u043d\u043e\u0435","\u0432\u043e\u043f\u0440\u043e\u0441\u044b"], "comments": 28, "likes": 17, "favorites": 1, "is_advertisement": false, "subsite_label": "ask", "id": 6583, "is_wide": true, "is_ugc": true, "date": "Wed, 04 Feb 2015 08:48:00 +0300" }
{ "id": 6583, "author_id": 2, "diff_limit": 1000, "urls": {"diff":"\/comments\/6583\/get","add":"\/comments\/6583\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/6583"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 199125 }

28 комментариев 28 комм.

Популярные

По порядку

Написать комментарий...
7

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

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

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

Ответить

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

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

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

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

1

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

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

Ответить
1

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

Ответить

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

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

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

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

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

1

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

Ответить
0

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

Ответить
0

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

Ответить
7

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

Ответить
2

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

Ответить
1

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

Ответить
5

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

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

Ответить
3

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

Ответить
2

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

Ответить

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

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

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

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

6

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

Ответить
4

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

Ответить
1

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

Ответить
1

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

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

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

Ответить
0

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

Ответить
3

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

Ответить
–1

Идиотизм

Ответить
4

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

Ответить
0

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

Ответить
1

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

Ответить
1

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

Ответить
3

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

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

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

Ответить

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

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

3

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

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

Ответить
1

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

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

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

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

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

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

Ответить
0

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

Ответить
0

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

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

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

Ответить
0

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } } ]
Голосовой помощник выкупил
компанию-создателя
Подписаться на push-уведомления