DVCS обеспечивает различные средства защиты от несанкционированного письма. Вот почему он популярен среди команд с открытым исходным кодом. У него есть несколько разочаровывающих ограничений для контроля чтения. Opensource команды не заботятся об этом.
Первая проблема заключается в том, что большинство DVCS поддерживают множество копий с полным исходным кодом. Типичная гранулярность - полное репо. Это может включать в себя множество ненужных веток и даже целые другие проекты, помимо истории (наряду с комментариями с возможностью поиска, которые могут сделать код еще более полезным для злоумышленника). CVCS рекомендует разработчикам как можно меньше копировать на свой рабочий стол, поскольку чем меньше копий, тем быстрее он работает. Чем меньше вы надеваете мобильные устройства, тем легче их защитить.
Когда DVCS внедряется со многими устройствами, выступающими в качестве серверов, гораздо эффективнее реализовать эффективную сетевую безопасность. Атака локального рабочего пространства CVCS требует от злоумышленника доступа к файловой системе. Атака узла DVCS обычно требует нападения на сам DVCS на любом устройстве, на котором размещена информация (и помните: люди, которые поддерживают большинство DVCS, являются разработчиками с открытым исходным кодом; их почти не заботит контроль над чтением). Чем больше устройств размещают репозитории, тем больше вероятность того, что пользователи установят анонимный доступ для чтения (что опять-таки поощряется DVCS из-за его корней с открытым исходным кодом). Это значительно упрощает работу злоумышленника, который выполняет случайные зачистки.
CVCS, основанные на URL-адресах (например, subversion), открывают возможность для довольно детального контроля доступа, такого как доступ для каждой ветви. DVCS имеет тенденцию бороться с этим видом контроля доступа.
Я знаю разработчиков, подобных DVCS, но нет способа защитить его так же эффективно, как CVCS. Большинство сред делают ужасную работу по защите своих CVCS, и если это так, то не имеет значения, какой вы используете. Но если вы серьезно относитесь к управлению доступом, вы можете иметь гораздо больший контроль с CVCS как частью более широкой инфраструктуры с минимальными привилегиями.
Многие могут утверждать, что нет причин защищать исходный код. Это нормально, и люди могут спорить об этом. Но если вы собираетесь защищать свой исходный код, лучшая реализация - не копировать исходный код на случайные ноутбуки (которые очень трудно надежно защитить), а скорее попросить разработчиков смонтировать его с центрального сервера. CVCS хорошо работает таким образом. DVCS не имеет смысла, если вы собираетесь хранить его на одном сервере таким образом. Если вы собираетесь копировать файлы на мобильные устройства, убедитесь, что вы копируете как можно меньше. Это противоположность DVCS.