OpenJDK dans Android : une prise de contrôle d'Oracle au détriment de Google ?

Stéphane Moussie |

Dans la prochaine version d'Android, Google va remplacer son implémentation maison de Java par OpenJDK, celle développée par Oracle. Un changement présenté comme une avancée par Google, mais la situation est plus compliquée qu'il n'y parait.

Un changement guidé par la technique... et le juridique

Java a une place cruciale dans Android puisqu'il s'agit de la technologie employée pour écrire et faire tourner des applications. Depuis ses débuts, Android exploite Harmony, une implémentation open source de Java dont Apache est à l'origine et que Google a modelé à sa convenance au fil du temps.

Harmony sera remplacée dans la prochaine version du système, Android N, par OpenJDK, l'implémentation Java « officielle », celle qui est soutenue par Oracle, détenteur de la technologie depuis l'acquisition de Sun Microsystems.

Pourquoi ce remplacement ? Officiellement, c'est pour « créer une base de code commune » qui facilitera le travail des développeurs, a déclaré un porte-parole de Google à VentureBeat.

Officieusement, c'est pour se débarrasser du code qui est au centre d'une âpre bataille juridique avec Oracle. Google a été reconnu coupable en 2014 d'avoir violé le copyright de 37 API de Java. Si l'affaire n'est pas totalement terminée pour les versions d'Android déjà sorties (Google tente maintenant de faire valoir un cas de fair use pour s'en sortir), ce changement pourrait la clore pour Android N et ultérieur.

Yuka Honda CC BY-SA

Oracle, copilote d'Android ?

Si jusqu'ici le passage à OpenJDK a tout d'une bonne nouvelle pour Google, Andreas Gal, l'ancien directeur de la technologie de Mozilla, fait une analyse beaucoup plus sombre de la situation. Selon lui, l'intégration d'OpenJDK dans Android va permettre à Oracle de prendre en partie le contrôle du système :

Parce qu'Oracle dispose de moyens pour contrôler Java au-delà du code source, OpenJDK est à peu près aussi ouvert qu'une prison. Vous pouvez voter pour la hauteur des murs, vous pouvez même participer à leur construction, mais si vous êtes obligé de mettre un pied dedans, Oracle seul décidera quand et si vous pouvez en sortir. Oracle détient une grande partie de la feuille de route d'OpenJDK, et via les exigences de compatibilité, les marques déposées, les accords existants et les poursuites judiciaires, Oracle a quasiment les pleins pouvoirs sur la destinée d'OpenJDK.

Andreas Gal appuie son analyse en citant le lourd contentieux entre les deux firmes qui n'est pas de nature à favoriser une bonne collaboration et le fait que Java lui-même vise à être une plateforme. Le pire scénario pour Google serait qu'Oracle force l'intégration de code ou de services dans Android.

Le passage à OpenJDK va aussi représenter un défi technique majeur pour la firme de Mountain View. Ce sont des millions de lignes de code à changer et une compatibilité à assurer avec 1,6 million d'apps.

« Il y a un nouveau shérif en ville », résume Andreas Gal.

Accédez aux commentaires de l'article