Ouvrir le menu principal

iGeneration

Recherche

Code copié dans Android : quelques précisions

Anthony Nelzin-Santos

samedi 22 janvier 2011 à 16:21 • 23

Android

Hier, 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é du code de Java (lire : Oracle/Google : Android contiendrait du code copié 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. Nous vous proposons quelques précisions pour mieux comprendre cette affaire épineuse et complexe. skitched Qui est Florian Müller ? Dans sa réfutation, Ed Burnette de ZDNEt, attaque personnellement Florian Müller : « tout a commencé avec un article écrit par Florian Müller, qui, au passage, n'est ni un avocat ni un développeur même s'il en joue un à la télévision ». Müller n'est en effet pas un avocat, mais c'est une personnalité connue et respectée dans le domaine de la propriété intellectuelle. 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 comme Ars Technica 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 repo 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 (lire : Oracle attaque Google en justice). 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é.

Rejoignez le Club iGen

Soutenez le travail d'une rédaction indépendante.

Rejoignez la plus grande communauté Apple francophone !

S'abonner

Samsung a bel et bien un concurrent à l’iPhone 17 Air de prévu, le Galaxy S25 Edge

22/01/2025 à 21:45

• 5


Donald Trump annonce le projet sur l’IA Stargate, un investissement de 500 milliards de dollars avec OpenAI

22/01/2025 à 21:30

• 50


Des Builds spécifiques d’iOS 18.3 indiquent l’arrivée de l’iPhone SE 4, de l’iPad et de l’iPad Air

22/01/2025 à 20:45

• 2


Samsung lance sa nouvelle gamme Galaxy S25

22/01/2025 à 19:45

• 46


WhatsApp va pouvoir s’interconnecter avec Facebook et Instagram

22/01/2025 à 18:25

• 19


Canal+ : l'annonce des 2 € d'augmentation serait un bug

22/01/2025 à 18:00

• 34


Comme tous les autres gros jeux pour iOS, Resident Evil 2 est un échec

22/01/2025 à 16:34

• 43


Truecaller 14 utilise une nouveauté d'iOS 18 pour identifier plus vite les spammeurs

22/01/2025 à 15:08

• 71


Promo : les deux ampoules Hue White Ambiance 1100 à 40 € au lieu de 65

22/01/2025 à 13:52

• 14


Inde : l'iPhone entre pour la première fois dans le top 5

22/01/2025 à 12:30

• 0


Aqara imagine une solution astucieuse pour envoyer ses scènes et d’autres informations vers Matter

22/01/2025 à 11:00

• 8


Netflix augmente encore ses prix aux États-Unis : 24,99 $ pour la 4K

22/01/2025 à 10:24

• 101


Disney+ : l'offre à 1,99 € est prolongée jusqu'en février 🆕

22/01/2025 à 06:54

• 55


Une photo du possible nouveau design des iPhone 17

22/01/2025 à 06:36

• 52


64 vidéos tournées puis affichées sur 64 iPhone (et énormément de travail), ça donne un clip très original

21/01/2025 à 22:23

• 30


Apple Intelligence sera activé par défaut à compter d'iOS 18.3 et macOS 15.3

21/01/2025 à 21:42

• 31