nice article: http://blog.springsource.com/main/2008/05/15/why-should-i-care-about-osgi-an... I think we already support most points through: * Our conventions of using the internal package for non user public code. BTW we can (and we should) enforce this at build time and fail the build if someone is using the internal package using the maven enforcer plugin. * The fact that we're using maven and components creates clean boundaries between modules and allows different teams to focus their work on some subpart of the system. * Dependency mgmt: done with Maven Nice things we don't currently have: * "Faster testing cycles". We already have a way to do with Eclipse but this is a part that could be improved. * "isolate changes". This can be done with Plexus (+ classworld) later on but we're not using this feature yet. This could also be done with XBean I believe. In summary I don't think we're too bad compared to the list of advantages listed in the article. We're working on improving that but we're already on good tracks. The single most important thing we have to do is modularize the core into components and well-delimited build modules. -Vincent