В ходе работы над проектом пришло понимание что объем работы достаточно высок, и выполнить его силами нашего коллектива не представляется возможным. Найти программистов по месту дислокации тоже не получилось. Поэтому решено было привлечь к работе над проектом аутсорсеров. Почитав на эту тему различных статей (например таких как эта:
https://habrahabr.ru/post/290424/ ), стало понятно что гарантировать отсутствие утечек кода / информации не так просто. Решение на эту тему пришло пока только одно - разделить проект на модули, добится того, чтобы над этими модулями можно было работать в известной степени автономно. Затем на сервере создать несколько пользователей (по количеству привлеченных сотрудников), каждому из них настроить свой git, и запушить туда специально выделенные для них базовые модули с минимальным необходимым для работы этих модулей исходным кодом. К этим репам будут иметь доступ аутсорсеры, персонально каждый к своему, а так же я, ко всем. Затем, после того как задача будет выполнена, я буду получать данные с этих репозиториев и вручную каким то образом, пока не знаю каким именно, буду получать изменения в специальную ветку, добиваться работоспособности и заливать в master. Задача выглядит чудовищно сложной, ещё и потому, что такая модульность изначало в архитектуру заложена не была. Кроме того, в Redmine, к примеру, можно ограничить доступ к хранилищу в основном нашем проекте для роли Аутсорсер. Но как видеть в Redmine тогда их исходный код и изменения? Создать для каждого свой подпроект со своим хранилищем? Кажется слишком избыточным решением. Не покидает ощущение что изобретаю какой то велосипед. Не подскажет ли мне искренне уважаемое сообщество, как сделать лучше, правильнее, по-умному?