Dicho simplemente, OSGi es un sistema de módulo dinámico para Java. Define los medios para instalar, desinstalar, actualizar, iniciar y detener módulos. Esos módulos se denominan paquetes, pero son, en su forma más simple, en realidad archivos jar de Java con un Manifiesto especial. Los módulos se pueden instalar, desinstalar, etc. sin detener o reiniciar Java VM.
Un marco OSGi gestiona el ciclo de vida descrito y las dependencias entre los paquetes de forma segura. Un paquete necesita indicar qué paquetes Java exporta y cuáles importa. Las declaraciones de importación y exportación se pueden anotar con información de versión, de modo que incluso puede tener más de una versión del mismo paquete en la misma máquina virtual de Java.
OSGi Alliance es la organización que especifica el marco OSGi y muchos servicios complementarios, p. para gestionar datos de configuración, acceso a dispositivos, etc.
Esta es una descripción muy básica. OSGi es mucho más. Eche un vistazo a https://www.osgi.org/developer/architecture/ (una introducción a la arquitectura de OSGi) y https://www.osgi.org/developer/where-to-start/ (una gran cantidad de enlaces y otras lecturas recomendadas por OSGi Alliance).
¡WoW! Esta es la mejor respuesta a la pregunta. Gracias – Walker
Explicación más simple que vi para OSGI, debe estar en la página principal de osgi.org para que la gente pueda obtener en 2 minutos lo que generalmente toma un día. Es frustrante cuando los proyectos tienen páginas y páginas de marketing y archivos PDF en un sitio oficial, mientras que para entender solo necesitamos un buen resumen como este. Gracias por esto ! – xask