La modularisation des librairies est un des principaux objectifs pour Java 7. Malgré sa rapide adoption et sa standardisation dans le cadre du JCP (JSR 291), OSGi ne semble pas convenir aux équipes de Sun (exception fait de celle travaillant sur Glassfish V3). Le premier choix de Sun aura été de pousser une JSR concurrente (JSR 277). Dirigée de façon très maladroite cette spécification n'aboutira pas, Sun ayant finalement décidé de ne pas la retenir pour Java 7. Ce choix attendu depuis longtemps aurait logiquement dû se faire au bénéfice d'OSGi, malheureusement Sun a pour l'instant choisi une autre direction en lançant un projet nommé Jigsaw. Ce dernier sera développé pour les besoins internes de Java 7 et ne sera pas spécifié dans le cadre du JCP.
L'annonce de l'abandon de la JSR 277 a dans un premier temps été bien accueillie par la communauté OSGi, d'autant plus que Sun déclare vouloir travailler avec les experts OSGi. Mais la satisfaction a rapidement fait place à de l'inquiètude ('Hope, Fear, and Project Jigsaw'), voire à de la colère ('Spice is Not a Recreational Drug'). Ces réactions me semble légitimes face au choix de Sun de contourner le JCP et d'écarter de nouveau OSGi sans avancer d'argument technique. Quoiqu'il en soit on comprend mal comment Jigsaw pourra être finalisé pour la sortie de Java 7 alors que le projet par de zéro... Certains en sont conscients puisque Java 7 ne sortira pas avant début 2010.