Аутентифицация и разграничение прав
Задача - разграничить доступ к исходникам и исполняемому коду.
Я работаю с bitbucket. Это система контроля версий, клон GITа. Первый уровень - сервер вообще доступен (у нас свой сервер). Потом доступ к репозиториям. Открытые видны всем. Таких сейчас нет. Остальные видны только зарегестрированным пользователям с правами на просмотр. Регистрация привязана к доменному контроллеру Винды, но несомненно можно привязать к любой системе управления пользовательскими аккаунтами. Поддерживаются группы пользователей. То есть 20 проектов, делаем 20 групп и группе разрешаем просмотр репозитория проекта. Внутри репозитория даются права на коммит, пулл без пуллреквеста, удаление ветки (конкретной и по маске) и еще пара прав. Всегда можно отследить, кто что делал, включая не только код, но и манипуляции в настройках репозитория. Можно делать автоматические бэкаппы
Исполняемый код - да, валяется в файлопомойке.
Код должен быть только в системе управления версиями. Защищать помойку бессмысленно. имхо