L'OSGi Alliance a été fondée en mars 1999 afin de fournir un environnement d'exécution modulaire basé sur des composants pour Java, à l'époque où Java 1.2 a été diffusé. Il a été spécifié comme JSR 8, qui était la version équivalente des propositions d'amélioration de Java (JEP) à l'époque, avant l'ouverture de Java sous la forme d'OpenJDK.
En tant que fondation indépendante, soutenue par un nombre de membres, y compris Adobe, IBM, Bosch et autres, l'OSGi Alliance Foundation a agi en tant que référentiel de propriété intellectuelle pour la spécification OSGi et a hébergé les groupes d'experts qui les ont créées. En collaborant au sein d'une seule organisation indépendante des fournisseurs, il a été possible de définir une norme ouverte qui pourrait être mise en œuvre par un certain nombre de fournisseurs open source et commerciaux, et qui joue un rôle dans un certain nombre de technologies commerciales de ces entreprises aujourd'hui.
L'un des plus grands utilisateurs d'OSGi s'est avéré être un autre projet open source lancé par IBM, appelé Eclipse. La première version de l'IDE est sortie en 2001, quelques années après la création de l'OSGi Alliance, bien que ce ne soit pas avant Eclipse 3 en 2004 que le runtime est passé à utiliser OSGi. La Fondation Eclipse a également été créée en 2004 (avec beaucoup des mêmes membres que l'Alliance OSGi) en tant que dépositaire de la propriété intellectuelle (IP) de la base de code Eclipse, et a depuis dépassé ses racines IDE - fournissant des outils Web, l'intégration dans l'Internet des objets, et a récemment repris l'évolution de la spécification JavaEE (maintenant JakartaEE).
Ces changements ont entraîné un chevauchement d'intérêt significatif entre l'OSGi Alliance et la Fondation Eclipse. Ainsi, après des discussions plus tôt dans l'année, il a été décidé que l'Alliance OSGi devrait fusionner son IP dans la fondation Eclipse et établir l'Eclipse OSGi Working Group. Une fois opérationnel, la première tâche que le groupe de travail effectuera est de terminer, puis d'approuver la spécification OSGi R8 Compendium, qui a été travaillée jusqu'à présent. La spécification OSGi R8 Core sera approuvée par l'OSGi Alliance mais publiée par la suite par la Fondation Eclipse; il est donc probable que la spécification OSGi R8 et une implémentation basée sur Equinox seront disponibles au début de l'année prochaine.
InfoQ a rencontré Dan Bandera, président de l'Alliance OSGi, pour en savoir plus sur le déménagement, et a commencé par demander pourquoi le passage à la Fondation Eclipse et si d'autres fondations étaient envisagées ou non :
Dan Bandera : l'Alliance OSGi a été fondée à une époque très différente; la Fondation Apache [qui a également commencé en 1999] venait tout juste de démarrer, et la Fondation Eclipse n'a pas démarré avant cinq ans. Cependant, nous avons décidé que les coûts de gestion d'une fondation pour un ensemble spécifique de cas d'utilisation n'étaient pas une utilisation efficace des ressources, c'est pourquoi nous avons commencé à chercher d'autres fondations.
Nous avons examiné Apache, la Fondation Linux, OASIS - mais ce qui nous a attirés vers Eclipse était double. Premièrement, la majorité des membres de l'OSGi Alliance sont déjà membres de la Fondation Eclipse, mais deuxièmement, la Fondation Eclipse est passée de travailler uniquement sur des versions de logiciels open source à également utiliser des spécifications. Ce travail a été effectué dans le cadre du don de la spécification JavaEE (maintenant JakartaEE) et des travaux futurs en cours chez Eclipse.
Le processus de standardisation est important pour OSGi, car bien qu'il existe plusieurs implémentations open-source, il existe également des implémentations commerciales utilisées par d'autres, et il est important qu'il y ait une spécification qui puisse être utilisée pour vérifier la compatibilité entre les implémentations.
InfoQ : Comment les spécifications vont-elles évoluer ?
Dan Bandera : ce sera le travail de l'OSGi Working group quand il commencera. Sa première tâche sera d'approuver la charte du groupe de travail qui régira la manière dont il agit à l'avenir, et par la suite les spécifications évolueront au gré du groupe de travail.
Le travail vers la spécification OSGi Core Release 8 a été en grande partie fait à ce stade, et l'IP associée à ce travail sera transférée à la Fondation Eclipse, ce qui permettra au OSGi Working Group d'Eclipse de produire la version. Historiquement, les versions OSGi ont été publiées sur www.osgi.org, mais c'est au groupe de travail de décider où et comment publier les spécifications OSGi à l'avenir.
Le travail sur OSGi Compendium Release 8 est un travail en cours, et ne sera pas terminé tant que le groupe de travail OSGi ne sera pas opérationnel. En règle générale, les deux ensembles de spécifications sont un ensemble de références à des spécifications versionnées, telles que Declarative Service 1.4. Le groupe de travail devra décider si le groupe de travail choisit de continuer à publier des éléments dans une version compendium ou de publier les services individuellement au fil du temps.
Il est fort probable que le groupe de travail recommandera fortement que les futures spécifications soient publiées sous la Eclipse Specification License, bien que les versions plus anciennes continueront d'être disponibles sous leurs licences d'origine.
InfoQ : L'un des aspects importants des spécifications est qu'ils disposent d'une suite de compatibilité qui permet aux implémenteurs de déclarer qu'ils répondent à la spécification, comme le TCK de Java. Que se passe-t-il avec ça ?
Dan Bandera : les tests de conformité sont une partie essentielle du processus de spécification. L'OSGi Alliance fournira la suite de tests de conformité à la Fondation Eclipse dans le cadre du transfert, et les implémentations pourront accéder à la suite open source. Pour utiliser le logo et revendiquer la conformité, les tests de conformité doivent être exécutés et les résultats publiés, en plus d'être membre du groupe de travail.
Cela signifie que les projets open-source, comme Apache Felix et Knoplerfish, auront accès aux mêmes tests de conformité que les implémentations commerciales, et que l'implémentation de référence Eclipse Equinox sera également testée. Ces membres du groupe de travail pourront s'assurer que les versions open source sont également certifiées de la même manière qu'elles l'étaient auparavant.
InfoQ : Quels avantages y a-t-il pour les membres existants ou nouveaux de l'OSGi Alliance avec le transfert ?
Dan Bandera : Premièrement, la majorité des membres de l'Alliance OSGi sont également membres d'Eclipse, ce qui signifie que les entreprises qui sont membres des deux verront leur cotisation réduite.
Pour les nouveaux membres, l'OSGi Alliance avait des frais presque fixes pour chacun de ses niveaux d'adhésion, tandis que la Fondation Eclipse a une adhésion graduée en fonction du chiffre d'affaires de votre organisation. Cela signifie qu'il est plus efficace pour les nouveaux membres plus petits de se joindre, car ils auront un coût inférieur, ce qui, nous l'espérons, générera de nouvelles adhésions au groupe de travail.
InfoQ : Comment les gens peuvent-ils s'impliquer dans le futur d'OSGi ?
Dan Bandera : Ceux qui sont déjà membres de la Fondation Eclipse peuvent rejoindre le nouveau OSGi working group. Pour ceux qui ne sont pas membres de la Fondation Eclipse, vous pouvez en savoir plus en visitant la page Adhésion à Eclipse.
Les personnes intéressées pour participer peuvent envoyer un e-mail à la liste https://accounts.eclipse.org/mailing-list/osgi-wg , et il est prévu que le groupe de travail sera opérationnel dans quelques semaines.