Каким образом решить проблему воровства кода при коллективной разработке?
Сейчас популярны гибкие методологии разработки, которые включают коллективное владение кодом, коллективную ответственность и коллективную разработку. Но даже если каждый человек отвечает за свою конкретную часть, то очень часто бывает, что каждый все равно может получить доступ ко всему разрабатываемому ПО.
Для прикладного ПО можно это обойти — каждый разрабатывает свою dll, а затем это всё сшивается воедино. Но как поступать, например, с веб-сервисами, для которых обычно весь код открыт?
В общем, вопрос звучит так:
Каким образом владельцу ПО/работодателю обезопасить себя от воровства исходников при работе с наемными сотрудниками?
Интересует не только законодательная часть, но психологическая и техническая. К сожалению закон в России не всегда является барьером для воровства в сфере ИТ.
Как первый вариант – если несколько программистов, то можно определить долю каждого в бизнесе, чтобы каждый был заинтересован в коллективном успехе. Недостаток: как быть когда бизнес вырастет и нужно будет принимать наемных работников?
Второй – у каждого свой модуль и нет доступа ко всей системе. TDD здесь поможет, однако это исключает многие пункты agile, что может замедлить разработку.