Интересные и, как мне кажется, здравые мысли нашел вот в этой статье: The Dirty Little Secret of Software Pricing. По крайней мере очень сильно похоже на причины успешности того небольшого коллектива, которым я руководил в Интервэйле до 2012. И на причины проблем, с которыми пришлось бороться после перехода на более ответственную должность.
Привожу сразу свой перевод ключевых предложений на русский язык. Перевод не дословный, но сохраняющий смысл сказанного. Если кто-то свободно читает по-английски, то рекомендую заглянуть в оригинал. Статья вообще заставляет задуматься о принципах ценообразования для определенной категории ПО.
Итак:
...Разделение версий -- копирование исходников и разработка отдельной ветки -- на порядки проще, чем последующее их объединение. Фактически, объединение настолько сложно, что правки оставленной без управления ветки практически невозможно объединить с чем-либо. Вообще. Сопровождение каждой ветки стоит почти одинаково, поэтому выделение ветки практически удваивает стоимость. Неконтролируемое увеличение количества версий -- это смерть. Любая политика управления, которая не осознает этого, обречена на неудачу...
...За дешевым софтом стоит обученная, стабильная команда. И дешевый софт базируется на единой кодовой базе. Если вы берете исходник из репозитория и изменяете его, вы просто покупаете дорогую версию софта. Неподдерживаемый исходный код, без команды, без управления версиями -- это билет первого класса к постоянному увеличению времени разработки...
...Проще говоря, единственный путь к управлению стоимостью софта -- это создание стабильной команды, работающей над единой кодовой базой. Это ядро каждой успешной модели разработки софта. Даже жестче -- это единственный источник хорошего качества программного обеспечения. Классный, недорогой софт пишется стабильными командами, которые держат свой код под полным контролем.