Самое главное что меня терзает - сохранение конфиденциальности исполняющей части проекта. Да, возможно звучит глупо, но не очень приятно будет, если новый член команды сольет проект в паблик или будет использовать его как то для своих нужд.
1) Забить. Внутренние проекты как правило находятся в виде не пригодным для общественного использования.
2) Разделяй и властвуй. Давать каждому доступ только туда куда точно надо. И более никуда.
Такие вещи как ключ/пароли, конечно же, в коде зашиваться не должны и лежать в репах в доступном виде тоже не должны.
Я не поверю, чтобы в крупных проектах давался доступ ко всему коду, каждому back-end разработчику.
Ну, например, проект на 60 разработчиков - крупный?
У всех есть доступ ко всему. Кроме ключей/паролей к платежным сервисам.
Подавляющая часть организаций не создает никаких высокотехнологичных ноу-хау, которые имело бы смысл хранить в секрете.
Это просто большой объем работы, который привязан к конкретной специфике бизнеса и более никому не интересен. Даже конкурентам. Ибо реальных данных там нет.
Если, допустим фронтендер сделал обновление кода шаблона, как сделать так, чтобы не дергать постоянно back-end'а для внесения эти изменений?
Имхо, в большой организации процессы автоматического деплоя должны быть налажены еще до того, как придет пора заботиться о секретости кода.
Есть еще один вариант, возможно очень глупый - делать письменный договор о неразглашении "начинки" проекта.
В РФ работает только как "взять на испуг".
В РФ NDA реально не функционирует. Ибо нельзя просто так в договоре написать "запрещено разглашать все". Нужно перечислять конкретные вещи, которые еще не созданы. И дополнительно к договору подписывать индивидуальные акты по этим конкретным вещам.
На это даже крупные фирмы навроде Яндекса налетали.
И судов не выигрывали, когда речь шла о коде. Выиграли только когда код из Яндекса был вынесен вместе с "калибровочными" данными для поиска.