
OSGi and "risky concurrent use of different versions of a library"
I personally saw this as one of the biggest benefits of OSGi - different apps/modules/libraries could rely on the code-level API and implementation of a third-party module/library without fear that some other co-hosted app/module/library needed a different version of that same module/library that would break some functionality. As long as you correctly encapsulated that dependency this worked a treat.