Защита кода при работе в команде

Темы, не касающиеся фреймворка, но относящиеся к программированию в целом.
Ответить
Аватара пользователя
Ghost_nsk
Сообщения: 825
Зарегистрирован: 2012.01.01, 00:45
Откуда: Новосибирск
Контактная информация:

Защита кода при работе в команде

Сообщение Ghost_nsk »

Всем привет,
товарищи просветите какие на сегодня существуют современные способы защиты кода от кражи при работе в команде.
Я конечно понимаю, что имеет смысл брать в команду только проверенных лиц, но все равно открывать весь код как-то не хочется. :)
Аватара пользователя
timlar
Сообщения: 1382
Зарегистрирован: 2009.09.19, 17:49
Откуда: Украина, Днепропетровск
Контактная информация:

Re: Защита кода при работе в команде

Сообщение timlar »

Как по мне, главное не код, а идеи, метафоры, алгоритмы. Зная это, можно написать почти одно и то же на любом языке программирования.
Twitter: @timlar_ua
Аватара пользователя
Ghost_nsk
Сообщения: 825
Зарегистрирован: 2012.01.01, 00:45
Откуда: Новосибирск
Контактная информация:

Re: Защита кода при работе в команде

Сообщение Ghost_nsk »

timlar писал(а):Как по мне, главное не код, а идеи, метафоры, алгоритмы. Зная это, можно написать почти одно и то же на любом языке программирования.
я с этим полностью согласен, но все же сабж :)
Аватара пользователя
timlar
Сообщения: 1382
Зарегистрирован: 2009.09.19, 17:49
Откуда: Украина, Днепропетровск
Контактная информация:

Re: Защита кода при работе в команде

Сообщение timlar »

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

Еще как вариант, если есть некое ядро, а программисты дописывают модули, кодировать ядро, например, Zend Guard'ом. Но опять таки, есть декодеры, которые распаковывают этот код.

Мне бы тоже было интересно послушать мнения на эту тему, чисто для общего развития. Ни разу не приходилось прибегать к таким мерам.
Twitter: @timlar_ua
Аватара пользователя
slavcodev
Сообщения: 3134
Зарегистрирован: 2009.04.02, 21:42
Откуда: Valencia
Контактная информация:

Re: Защита кода при работе в команде

Сообщение slavcodev »

Командная работа предполагает что код принадлежит компании (заказчика) на которую работаешь. И код в таком случае не принадлежит разработчику.

Если же вопрос именно со стороны заказчика, то единственный наверное способ, это хорошо структурированный проект, с четким разделением работы участникам группы. Так чтоб важный код не попадал другим участникам либо хороший договор о неразглашении.
Жду Yii 3!
Аватара пользователя
Ghost_nsk
Сообщения: 825
Зарегистрирован: 2012.01.01, 00:45
Откуда: Новосибирск
Контактная информация:

Re: Защита кода при работе в команде

Сообщение Ghost_nsk »

mc-bear писал(а):хорошо структурированный проект, с четким разделением работы участникам группы.
Есть какие-нибудь адекватные программные продукты по этой теме? :)
Аватара пользователя
resurtm
Сообщения: 299
Зарегистрирован: 2010.12.19, 09:13
Откуда: Казахстан, Алма-Ата
Контактная информация:

Re: Защита кода при работе в команде

Сообщение resurtm »

Имел дело с такими ограничениями, что ни один разработчик не имел полного доступа ко всему. Приятного мало, когда доступ ко всему проекту и ко всем данным не дают. Разрабатывать получается совсем неудобно, тестировать тем более, да и психологический момент тоже есть. Чувствуешь себя не так уж и хорошо в такой компании. :)
Аватара пользователя
Ghost_nsk
Сообщения: 825
Зарегистрирован: 2012.01.01, 00:45
Откуда: Новосибирск
Контактная информация:

Re: Защита кода при работе в команде

Сообщение Ghost_nsk »

resurtm писал(а):Имел дело с такими ограничениями, что ни один разработчик не имел полного доступа ко всему. Приятного мало, когда доступ ко всему проекту и ко всем данным не дают. Разрабатывать получается совсем неудобно, тестировать тем более, да и психологический момент тоже есть. Чувствуешь себя не так уж и хорошо в такой компании. :)
тут я с тобой согласен, но представь ситуацию.. работаешь над крупным проектом, который дает тебе нехилую прибыль, у тебя 10 крутых разработчиков в команде, потом приходит модный парниша, ссылается на то, что хочет получить доступ ко всему проекту, ибо ему как-то некомфортно, лихо скачивает его к себе на комп, а потом шутки ради выкладывает весь корень проекта на торрент или сбывает за бабло конкурентам, что ты будешь делать в этой ситуации? :)
ну есть договор, ну нет договора, инфа ушла, посадят - не посадят, инфу уже не вернешь.. :)
Аватара пользователя
timlar
Сообщения: 1382
Зарегистрирован: 2009.09.19, 17:49
Откуда: Украина, Днепропетровск
Контактная информация:

Re: Защита кода при работе в команде

Сообщение timlar »

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

А за конкуренцию бояться не стоит, рано или поздно все равно появится конкуренция, ибо нет ничего более постоянного, чем временное.
Twitter: @timlar_ua
Аватара пользователя
nizsheanez
Сообщения: 814
Зарегистрирован: 2011.04.29, 13:09
Откуда: Москва

Re: Защита кода при работе в команде

Сообщение nizsheanez »

Вообще страх кражи довольно преувеличен. Обычно проект работает за счет менеджеров, продажников, логистов ... а не только от кода. И то что его кто-то стащил, то далеко не факт что сможет применить. Даже если отдать код конкуренту, то чтобы этот код использовать придется нанимать такое же количество программистов с такими же зарплатами для его поддержки и развития. Так что выгода вообще говоря сомнительная.

А вообще есть простейший способ: разнести модули проекта по разным репозиториям и только непосредственно разработчикам модуля давать доступ к репозиторию данного модуля.
Аватара пользователя
Ghost_nsk
Сообщения: 825
Зарегистрирован: 2012.01.01, 00:45
Откуда: Новосибирск
Контактная информация:

Re: Защита кода при работе в команде

Сообщение Ghost_nsk »

nizsheanez писал(а):А вообще есть простейший способ: разнести модули проекта по разным репозиториям и только непосредственно разработчикам модуля давать доступ к репозиторию данного модуля.
Спасибо за идею :)
R3D3
Сообщения: 352
Зарегистрирован: 2010.04.11, 14:52

Re: Защита кода при работе в команде

Сообщение R3D3 »

А вообще есть простейший способ: разнести модули проекта по разным репозиториям и только непосредственно разработчикам модуля давать доступ к репозиторию данного модуля.
Еще вариант, если проект очень очень большой - разбиваем его на разные сервисы, каждый сервис устанавливаем на свой сервер. Сервисы общаются друг с другом через API, разработчики имеют доступ только к своим серверам.
Yii Jabber Conference: yii@conference.jabber.ru
Аватара пользователя
Koduc
Сообщения: 140
Зарегистрирован: 2011.02.15, 18:56

Re: Защита кода при работе в команде

Сообщение Koduc »

Не надо звездных болезней по поводу кода.
Код - лишь малая часть проекта (в большинстве случаев). Чтобы запустить клон проекта, это, как правило, нужно дописывание, изменение дизайна, раскрутка.. Если код и сольётся конкурентам - то нормально поднять они его смогут через полгода, как минимум + финансовые вливания. А за это время ваш проект уже должен будет уйти далеко вперед в развитии. Да и зачем конкурентам такое - у них ведь наверняка свои решения есть.

Работал над проектом крупным, где у владельцев была паранойя по этому поводу. Процентов 20 времени разработки уходило на такую борьбу с ветряными мельницами - привязки к сервреру, запутывание, обфускация. В результате проект делается уже больше года, в коде сплошные костыли. Права только на некоторые части - в результате в репозиторий коммиты по каждому чиху (чтобы код на сервере обновился и проверить его) - что еще время дико жрет. Еще процентов 30 - защита от гипотетического взлома: фальшивые админки, двойная идентификация, токены и пр. Конкуренты давно ушли вперед, а проект так и в режиме демо. Лучше бы эти ресурсы пошли на разработку основного функционала.

Единственная реальная причина закрытия кода - это чтобы сервис не взломали/сломали в продакшене. Но тут кодить нормально надо, чтобы таких проблем не было. Понятно, что студентов пачка за 100 рублей - и код испоганят, и слить могут.
Разработка на Yii: monoray.ru
Открытое бесплатное решение для создания сайтов по аренде/продаже недвижимости: Open Real Estate
R3D3
Сообщения: 352
Зарегистрирован: 2010.04.11, 14:52

Re: Защита кода при работе в команде

Сообщение R3D3 »

Еще процентов 30 - защита от гипотетического взлома: фальшивые админки, двойная идентификация, токены и пр.
Писец :D

Кстати, насколько я знаю, в фейсбуке любой разработчик имеет доступ почти ко всей кодовой базе проекта, и может поправить что угодно и где угодно.
Yii Jabber Conference: yii@conference.jabber.ru
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Защита кода при работе в команде

Сообщение samdark »

Ах вот почему у них API ломается так часто и так серьёзно…
Аватара пользователя
Koduc
Сообщения: 140
Зарегистрирован: 2011.02.15, 18:56

Re: Защита кода при работе в команде

Сообщение Koduc »

R3D3 писал(а):Кстати, насколько я знаю, в фейсбуке любой разработчик имеет доступ почти ко всей кодовой базе проекта, и может поправить что угодно и где угодно.
Кстати, вот да, пример неплохой. Ну получит кто-то все сорцы фейсбука - кто-то сможет составить им конкуренцию?
Единственное что - полученные сорцы проверить на предмет уязвимостей и попробовать "сломать" фейсбук, но это тоже, я думаю, будет очень нелегко.
Разработка на Yii: monoray.ru
Открытое бесплатное решение для создания сайтов по аренде/продаже недвижимости: Open Real Estate
Аватара пользователя
Ghost_nsk
Сообщения: 825
Зарегистрирован: 2012.01.01, 00:45
Откуда: Новосибирск
Контактная информация:

Re: Защита кода при работе в команде

Сообщение Ghost_nsk »

отлично успокоили :)
Ответить