Il faut comprendre que les versions de la JVM fournies et développées par Apple vivent leurs derniers instants : celles fournies pour les versions 10.5 et 10.6 du système d'exploitations seront maintenues selon le cycle de vie standard. En revanche, pour les versions prochaines de Mac OS X (dès la version 10.7, prévue pour l'été 2011), Apple pourrait ne plus fournir de JDK / JRE avec son système. Quelles en sont les implications, quelles sont les solutions à l'heure actuelle ?

Il faut savoir que jusqu'à présent, Sun (puis Oracle) ne distribue pas de version de Java pour Mac OS, laissant à Apple le travail d'adaptation pour son système d'exploitation. Autant ça a permis d'avoir une JVM adaptée au système, autant le suivi des mises à jour de sécurité est assez chaotique, la firme de Cupertino n'étant généralement pas pressée d'appliquer les mises à jour de sécurité (exemple).

Avec l'arrêt du support de Java par Apple, on a plusieurs possibilités qui se présentent:

  1. Plus de JVM de la part d'aucun acteur : à mon avis hautement improbable (voir le point suivant).
  2. Oracle ne reprend pas à son compte le développement pour Mac OS, mais des acteurs tiers repackagent OpenJDK pour Mac OS X. Cette solution pourrait être acceptable, mais quid de la certification Java ? Un exemple de ces acteurs est par exemple Soylatte, dont j'avais déjà parlé dans un précédent billet. De plus, ces JVM ne supportent pas l'affichage natif pour AWT et Swing, mais nécessitent le passage par X11.
  3. Oracle reprend à son compte le développement pour Mac OS : on retomberait ainsi dans le cadre habituel pour Windows et Linux, avec un JDK officiel et certifié, et les mises à jour de sécurité qui suivent.

Dans les deux derniers cas, que deviennent les adaptations apportées par Apple à la JVM pour les adapter au mieux à Mac OS X ? Il est possible qu'elles passent à la trappe si Apple refuse de les libérer pour qu'elles puissent être intégrées à OpenJDK ou bien transférées à Oracle pour leur inclusion dans HotSpot. Toujours dans ces deux cas, ce qui est rassurant est qu'Apple a apporté des modifications à l'arborescence de Java dans le système afin de permettre à des implémentation tierces de s'installer plus facilement.

Je pense que les mois qui viennent risquent d'être intéressants pour l'avenir de ce langage sur la plateforme Apple, d'autant plus que j'en dépends pour mon travail, de même que de nombreuses applications, à l'instar d'OpenOffice, NeoOffice, Eclipse, Cyberduck, etc…