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.

avatar Wolf | 

C'est cool, on s'aperçoit enfin que le libre est juste de la copie de ce qui ne l'est pas.

avatar Hideyasu | 

@Wolf :
Il y a pas beaucoup de trucs vraiment libre ca c'est sur ...

avatar RyDroid | 

Des OS (Trisquel GNU/Linux, Replicant, etc) avec interfaces graphiques (GNOME, KDE, Xfce, LxQt, etc), navigateurs de fichiers (nautilus, thunar, etc), outils bureautiques (LibreOffice, LaTeX, etc), lecteurs PDF (evince, MuPDF, xpdf, etc) navigateurs web, clients email, lecteurs multimédia (VLC, Kodi, etc), clients XMPP/Jabber (Pidgin, Xabber, Movim, etc) et SIP (linphone, etc), logiciels qui gèrent le protocole BitTorrent (transmission, etc)... pas grand chose. https://www.gnu.org/distros/free-distros.html https://trisquel.info/ http://www.replicant.us/

@Hideyasu Après relecture, c'était peut être un message "humoristique" de ta part (qui ne justifie donc pas cette réponse), mais au cas où...

avatar Un Type Vrai | 

Et tu oublies quand même les *BSD, ssh, ...

Et Gnu Hurd !

avatar RyDroid | 

OpenJDK est libre...

avatar frankm | 

Jolie formule, je la garde à côté de : une application reste gratuite tant que vous la payez avec vos données personnelles.

avatar bompi | 

Disons que, en plus, quand Oracle est dans la région, la notion de "libre" est très relative...
Faut faire attention à la licence, voilà tout.

avatar RyDroid | 

La licence est la GNU GPLv2 faite par la FSF. http://openjdk.java.net/legal/ https://www.gnu.org/licenses/gpl-2.0.html

avatar hledu | 

Oracle est une entreprise financière qui perverti tout ce qu'elle touche. C'est une bien mauvaise nouvelle pour Android...

avatar lmouillart | 

Linux n'est pas géré/piloté par Google, Webkit ne l'était pas non plus, nombre de bibliothèques d'Android ne le sont pas. Cela à gêné Google dans la vie d'Android ? : non

Actuellement nombres de constructeurs respectent mal/pas du tout les licences des logiciels libres d'Android, avoir Oracle aux fesses leur permettra de mettre un peu d'eau dans leur vin.

Techniquement c'est effectivement une bonne chose, la version Java de Google (basé sur Apache Harmony, lui même mort depuis 2011 http://harmony.apache.org/) , était bien à la traine par rapport à OpenJDK.

OpenJDK est déjà intégré dans nombres de distributions Linux dont notamment : SuSE/OpenSuSE Fedora/RHEL sans problème.

Par contre il est effectivement juste de garder en tête que les relations Google/Oracle ne sont pas au beau fixe (mais Oracle à t-elle de bonnes relations avec quelqu'un ?), notamment car Google à réussi à faire beaucoup d'argent avec Android (et donc Java) alors qu'Oracle notamment sur le mobile s'est totalement fait sortir du marché.

avatar harisson | 

"celle qui est soutenue par Oracle, détenteur de la technologie depuis l'acquisition de Sun Microsystems."

Bring back our Sun :'(

Sinon au départ, la VM utilisé par Android a été crée ex nihilo par Google (d'ailleurs à l'époque, cette VM n'était pas reconnue comme une JVM) et il y a tellement de "strates" avec Java que c'est compliqué de vraiment définir correctement l'origine de quoique soit. Apparemment, Google a fini par "rentrer dans le rang".

avatar harisson | 

"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."

Ce passage est inexact, il faut remplacer "depuis ces débuts" par "depuis Android 4.4" et mettre que Google a intégré un bout d'Apache Harmony dans Dalvik puis d'android_runtime.

avatar apaisant | 

tourner

CONNEXION UTILISATEUR