Да, есть всякие NDA и прочие вещи. Но, давайте на это посмотрим с другой стороны.
Существует естественный процесс обмена и накопления опыта. Любой человек, а не только программист, использует какой-то опыт и наработки из предыдущих проектов и использует опыт и наработки текущего проекта в будущих. Это совершенно естественный процесс.
Спросите себя, в какую сторону идет большее движение? В проект или из проекта? Стимулируете ли вы сотрудников к применению всей массы имеющегося накопленного опыта и умений или же вы вызываете у своих сотрудников только одно желание (см. коммент выше про «управление грибами»): побыстрее слинять от вас, забыв как страшный сон и «в качестве моральной компенсации» уходя, прихватить хоть что-то, хоть что-нибудь например кусок кода?
Скажите честно, вашим сотрудникам с вами интерестно работать? Если сотрудникам с вами работать интерестно, то почему вы должны бояться? Серьезные причины есть, когда сотрудник не может реализовать свои знания и опыт в вашем проекте и поэтому уходит в другой.
Это все равно что спрашивать «почему ваша жена ушла к другому, прихватив квартиру, машину и все сбережения на банковском счету в качестве трофея?». Так понятнее? Мотивация примерно одинаковая. Потому что вы сами сделали все для того, чтобы в другом месте человек чувствовал лучше чем с вами.
Это я говорю о именно Разработчиках с большой буквы (которые могут что-то реализовать), а не о «быдлокодерах» (которым даже если и получат в руки код, они все равно ничего с ним сделать не смогут, даже отладить до приемлемого уровня, не то что выйти с ним на рынок). Да и вообще, что у вас там такого секретного в коде, чего нет в других приложениях?
Короче мой ответ из трех пунтков: Грамотная