Все же больше к несчастью, ибо никто не гарантирует какую-либо обратную совместимость и изменения в либах могут быть такими, что у тебя просто не будет компилироваться приложение.
Опять же в пример руби - у каждой библиотеки зависимости могут быть в общей зоне видимости, а могут быть в локальной для библиотеки - это правильное решение для подобных ситуаций (но это конечно если я в край не упоролся и мне не приснилось)
не упоролся. все так и есть. столкнулся с такой проблемой буквально пару дней назад когда ставил exometer в проект. вернее он уже стоял, но с каким-то древними зависимостями еще на rebar (даже не rebar3). а мои обновленные библиотеки требовали новых. в итоге mix deps.get срабатывал без ошибок, а на этапе компиляции все ломалось. пол дня мучился и забил