>People change something in their module. They don't test any upstream modules because it's not their problem anymore.
If you use any sort of versioning this shouldn't ever cause a problem.
If you use any sort of versioning this shouldn't ever cause a problem.
BUT this allows you to pay the prices of versioning (downstream burdened with rewriting => they never do => old code lives indefinitely) only in the worst cases. If done right (lots of tests, great CI infrastructure), fixing everything downstream is practical in many cases, and can be a win.
A subtler question is how this interplays with branching. You can't be expected to update downstream on every random/abandoned branch out there, only the head. Which deters people from branching because then it's their responsibility to keep up...