OSGi is set of open specifications aimed at making it easier to build and deploy complex software applications. The key piece of OSGi technology is the OSGi Framework. It defines standardized mechanism for packaging and managing application bundles. It can dynamical resolve dependencies between bundles and can handle having multiple versions of a bundle deployed. simultaneously.
The OSGi specifications are maintained by the OSGi Alliance. See http://www.osgi.org.