@Konrad Hinsen When some software has an explicit dependency, then surely the developer uses it consciously (of course, it often gets impractical for some transitive dependencies burrowed under many others). Now, assuming that such a dependency is used only by that one program (it's properly isolated, not being a shared library), then any defect should only come from the dependency itself or from the interaction between the dependency and the program. In the former case, the programmer should have chosen something that works; in the latter, it's probably his fault it doesn't work (unless it's a bug, in which case he unfortunately has to work around it). Yes, I know that in some environments, even isolated dependencies might clash (I've seen this happen with npm packages), but then, why bother using such environments?