Тут в частной переписке проявилось некоторое непонимание модульности.

Хотелось бы уточнить. В оберонах, модуль это не просто именованный ворох процедур. Каждый модуль занимает своё, чётко обозначенное место в архитектуре системы. В этом смысле, модуль является ещё и онтологической единицей.

Это значит, что если десять человек лезут одновременно править один и тот же модуль, то эта ситуация неправильная. Ведь на разработку модуля потрачены человеко-часы, он спроектирован, реализован и отлажен.

Конечно, в модуле могут быть ошибки.

Но тут возникает вопрос - а понимают ли природу ошибок те, кто исправляют модуль? Понимают ли они архитектуру системы и понимают ли они онтологическое место модуля в системе? Смогут ли они корректно исправить ошибку и не наделают ли новых? И не собираются ли они изменить онтологическую позицию модуля, сломав нафик всю архитектуру?

Конечно, при базарной разработке никто на это не смотрит. Вся головная боль в точке сборки, у майнтайнера, который вряд ли будет стеной стоять на страже качества, когда есть такое удобное средство, как merge. Стоит ли удивляться тому, что каждая новая версия Убунты, например, приносит с собой новые глюки, а старые, хорошо работавшие вещи, просто отваливаются.