Quand la rumeur donne

Il y a deux semaines une rumeur a commencé à parcourir le net concernant les annonces de Steve Jobs demain au WWDC (le salon annuel Apple réservé aux développeurs). Selon cette rumeur, Apple arrêterait très prochainement de se fournir en microprocesseurs chez IBM pour passer chez Intel. Depuis la rumeur s’est amplifiée et a finalement atterit sur un site « référence », C|net, qui est depuis repris par tous les organes de presse internationaux.
La première chose choquante dans cette histoire est que dans l’intervalle, personne n’a de confirmation (ou d’infirmation) de cette rumeur. Sans compter que C|net a « perdu » en chemin sa propre source puisque dans l’article il n’est nulle part mentionné qu’il s’agit d’une rumeur. Les protagonistes de l’histoire s’abstiennent, eux, de tout commentaire (ce qui ne veut rien dire non plus).

Ensuite, la deuxième chose qui me dérange c’est que l’information est erronée. Ce qui est sous-entendu dans l’article de C|net, et c’est bien entendu parce que c’est ce que tout le monde pense en apprenant l’information, c’est qu’Apple va abandonner l’architecture PowerPC pour l’architecture x86 (Pentium, Athlon). Et, de fil en aiguille, on trouve même maintenant des articles pour dire que les prochains Mac ne seront que des PC classiques avec OS X dessus.
Bien. Partons dans cette optique, donc. Apple passe au x86 et abandonne la lignée des PowerPC. Cela signifie qu’il faudra recompiler complètement le système d’exploitation puisque les deux architectures sont complètement incompatibles. Des « spécialistes » notent tout de même que Darwin, le coeur de OS X, est Open Source et fonctionne très bien sur les processeurs x86, ce qui est vrai. Reste tout ce qui est au-dessus de Darwin : systèmes de fichiers, drivers ainsi que toutes les couches logicielles et graphiques qui font qu’OS X n’est pas simplement Darwin. Tout ça, va falloir le recompiler, et ça ne va pas être de la tarte, d’abord pour un bête problème d’organisation mémoire (les processeurs x86 travaillent dans un mode nommé little endian qui inverse les données en mémoire, par exemple le nombre « 12345678 » est codé « 34127856 » sur x86) qui va faire s’arracher les cheveux pas mal de monde. Et ensuite, parce qu’OS X repose maintenant en grande partie sur une spécificité des PowerPC qui s’appelle AltiVec et qui n’existe pas sur x86. Il faudra tout retranscrire à la main avec son équivalent x86 (SSE2 ou SSE3). De plus, plus aucun logiciel ne sera compatible et il faudra que les développeurs corrigent eux aussi et recompilent leurs programmes.

Sur le fond cependant, ce n’est pas impossible puisque d’autres systèmes y sont déjà parvenus. Par exemple, Linux fonctionne aussi bien sur x86 que sur PowerPC. Windows NT4, de Microsoft, existait pour x86, PowerPC et Alpha. Cependant ces systèmes étaient prévus pour cela à la base et à chaque fois que quelqu’un développait un logiciel, il le faisait de manière à ce qu’il puisse être compilé sans problème sur toutes les plateformes, ce qui n’est certainement pas le cas des logiciels sous MacOS X. Cependant une rumeur persistant depuis des années dit qu’en parallèle des version PowerPC, Apple maintient une version x86 de MacOS X « au cas où »… C’est vrai que la toute première version d’OS X (qui s’appelait alors Rhapsody) tournait très bien sur des PC classiques puisque je l’avais installé sur le mien. Il n’est pas impossible que cette rumeur ait un vrai fondement.

Ce qui est totalement stupide dans cette histoire, c’est qu’Apple n’a pas besoin de passer au x86 car ils ont le droit de vendre des licenses POWER. La norme POWER, c’est une norme qui a été établie par un consortium dont les trois fondateurs sont Apple, Motorola et IBM. Cette norme décrit ce que doit être un microprocesseur POWER et la base de compatibilité entre eux. Autrement dit, passer d’un processeur POWER à un autre demande un minimum de travail (au niveau applicatif en tout cas). De nombreux processeurs à la norme POWER existent, dont font bien entendus partie les PowerPC (de Motorola), puis les PowerPC G4 et G5 (d’IBM), et même le tri-core de la Xbox 360 et le CELL utilisé dans la PlayStation 3. En tant que membre de ce consortium, Apple a tout à fait le droit de demander à Intel de produire en usine ou de créer de nouveaux processeurs POWER, car Intel n’est à la base qu’un fabricant de puces.
Je pense que si Apple passe chez Intel, ce sera plutôt ce genre d’annonce à laquelle nous auront droit demain. Sinon, et bien OS X va entrer dans une période de transition qui lui fera encore perdre des parts de marché (la transition 680×0 > PowerPC l’avait déjà fait) ainsi qu’une période d’instabilité, au moment même ou Mac OS X 10.4 réussissait à rendre stable l’ensemble du système. Et puis, au final, même si les machines ressembleront à des PC, elles n’en seront pas puisqu’il y a très peu de chance qu’Apple opte pour un BIOS de PC mais continue à utiliser OpenFirmware, qui est bien plus puissant et multi-plateformes.