Magazine High tech

Android: Code Java copié ? Oracle contre-attaque

Publié le 16 avril 2011 par Mac Québec

Android: Code Java copié ? Oracle contre-attaqueBasé sur un texte de « Comment ça marche » et d’ « iGeneration ».

Tout le monde regarde en direction de Google depuis ses derniers lancements (téléphones, tablettes, etc.). En janvier dernier, Oracle a déposé une action en Justice contre Google concernant le non-respect de licences et de droit d’auteur. Si Oracle obtenait gain de cause en justice, elle aurait de quoi annihiler l’Android Market. La plateforme Android serait donc dépouillée d’un de ses atouts (il s’agit du deuxième magasin après l’App Store en nombre d’applications), et il sera bien délicat de redresser la barre avec une technologie alternative qui puisse fonctionner sur chaque appareil. Les applications précédemment développées, quant à elles, passeront par pertes et profits. Une perspective qui pourrait freiner les investissements sur la plateforme de Google, ce qui ferait plutôt les affaires d’Apple. D’ailleurs, Oracle ne manque d’ailleurs pas d’arguments, puisqu’avant de diriger Google, Eric Schmidt avait dirigé l’équipe qui avait élaboré Java au sein de Sun, tout comme d’autres transfuges actuellement salariés par Google.

La fuite

Florian Müller publiait neuf documents PDF pour un total de 46 pages, documentant sa thèse selon laquelle Android contenait 43 fichiers qui seraient directement du code copiés du code de Java. Cette accusation, qui s’est répandue comme une traînée de poudre, a provoqué de nombreuses réactions, dont des réfutations. Mais qui est ce Müller ? C’est un auteur de publications informatiques, l’Allemand été consultant pour Blizzard (1987-1998) avant de se tourner vers le monde du libre : il a notamment été conseiller du PDG de MySQL AB de 2001 à 2004 (donc avant son acquisition par Sun en 2008, et par Oracle en 2010). En 2004, alors que la Commission européenne réfléchit à statuer sur la brevetabilité des logiciels en Europe, il mène la campagne NoSoftwarePatents avec le support de 1& 1, Red Hat et MySQL. Son lobbying intensif est un des éléments menant au rejet de la directive sur les brevets logiciels par le Parlement européen le 6 juillet 2005. Ayant reçu plusieurs prix pour son action en 2004-2005, Müller n’est donc pas avocat, mais un spécialiste des questions de propriété intellectuelle. N’hésitant pas à dire tout haut ce que tout le monde pense plus bas, il étudie le cas d’Android depuis plusieurs mois, ce qui ressemble parfois à une croisade personnelle.

Les fichiers incriminés

Müller a trouvé 43 fichiers (en deux lots de 6 et 37 fichiers) dans Android qu’il considère comme une copie de fichiers Java. Le lot le plus imposant, contenant 37 fichiers, provient d’une archive ZIP, MMAPI.zip, située assez bas dans le système. MMAPI est l’acronyme qui désigne les Mobile Media APIs de Java ME, un jeu d’outils pour lire et enregistrer de l’audio, de la vidéo et des images sur des téléphones portables. Les fichiers en questions correspondent à l’implémentation de MMAPI faite par SONiVOX (autrefois connu sous le nom de Sonic), ici pour des composants audio.

Les 6 autres fichiers semblent être des fichiers de tests que Sun fournissait aux développeurs pour les aider à tester leur code et le débugger. On rappelle qu’avant son rachat par Oracle, Sun était propriétaire de Java.

Les droits et devoirs sur ces fichiers

Les fichiers provenant de MMAPI étaient fournis par Sun gratuitement sur son site Internet. Gratuit ne veut pas dire libre : on ne peut pas faire n’importe quoi de ces fichiers et SONiVOX a bien fait attention de laisser en place des avertissements sur ces fichiers (des en-têtes portant la mention « PROPRIETARY/CONFIDENTIAL » et le fichier de Sun incluant la licence et portant la mention « DO NOT DISTRIBUTE! »). Leur présence dans les sources d’Android pose donc problème : ces fichiers n’avaient rien à y faire, d’autant plus que si Android utilise le code du framework audio de SONiVOX, il n’utilise pas MMAPI.

Même chose pour les 6 autres fichiers : fournis par Sun avec une licence très précise, ils ont été redistribués sous la licence Apache, un changement de licence qui ne va pas de soi (des fichiers placés sous la licence GPL ne peuvent être inclus dans un projet placé sous la licence Apache). Leur code étant identique à la version de Sun, ils sont sans doute la conséquence d’une extraction automatique par décompilation, qui peut expliquer le changement de licence (le robot de décompilation peut modifier l’en-tête et y ajouter une nouvelle licence « par erreur »). Ils ont été supprimés il y a quelques jours (le 14 janvier), avec le commentaire « Remove pointless tests » (suppression de tests sans intérêt).

Théorie et pratique

ZDNet expliquent que ces fichiers de test, présent dans les sources d’Android, ne font pas partie de la plateforme finale. Leur présence dans le repos d’Android pose cependant problème : que ces fichiers aient un jour été présents dans un smartphone Android ou pas, ils ont été présents dans les sources d’Android, et le droit ne fait pas de distinction entre les deux cas. Que la licence des 6 fichiers ait été changée par erreur ou pas, elle a été changée, ce qui est un problème. Que les fichiers de SONiVOX aient été redistribués par erreur ou pas, ils ont été redistribués. Seule la justice pourra trancher sur cette affaire, qui ne devrait affecter qu’à la marge le cas opposant Oracle à Google, qui touche à l’implémentation de Java faite par Android, qui ne respecterait pas le standard.

Comme l’indique Nilay Patel d’Engadget (qui a lui été longtemps avocat spécialiste du copyright), la présence de ces fichiers à un moment ou à un autre dans les sources d’Android pose un problème sérieux à Google sur la question du respect de la propriété intellectuelle (notamment sur la question du changement de licence). Florian Müller devrait publier un nouvel article sur cette question, et Google ne peut que répondre pour clarifier les choses, ne serait-ce que par la voix par un porte-parole sous la forme d’un communiqué laconique. Seule la justice peut statuer sur le fond de l’affrontement entre Oracle et Google, arrière-plan à cette fouille archéologique d’Android. On peut néanmoins remarquer que ces échanges montrent l’importance d’un audit plus rigoureux du code d’Android : la moindre petite faille sera exploitée dans le cadre de cette bataille juridique. La firme de Moutain View joue en effet gros dans cette affaire : Oracle a en mains de quoi remettre en cause le meilleur argument d’Android — sa gratuité.

Apple

Pour Apple, cette nouvelle vient miner la présence d’un sérieux concurrent sur le plan des téléphones intelligents et des tablettes comme iPad. La défaite en cour pourrait ouvrir la voie à Apple de poursuivre sa domination dans ce domaine malgré la présence d’Androide qui aurait perdu beaucoup de son punch. Une histoire à suivre.


Retour à La Une de Logo Paperblog

A propos de l’auteur


Mac Québec 2608 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte

Magazine