Programmez! #240 est en kiosque

En raison de la situation de redressement judiciaire de Presstalis qui s'est superposée à la crise sanitaire covid-19, la sortie dans les kiosques de  Programmez! #240 a été profondément perturbée.

Mais ça y est, il arrive ! Vous le trouverez chez votre marchand de journaux ce mercredi 27 mai !

Il est malgré tout possible qu'il ait encore quelque jours de retard dans quelques régions.

Copland : le système maudit d’Apple

Par:
francoistonic

mer, 28/03/2018 - 10:34

Dans la mythologie Apple, le projet Copland est l’un des échecs les plus connus. Après plusieurs années de développements et des retards qui s’accumulaient, la direction d’Apple prend une décision radicale en août 1996 : le projet est arrêté pour chercher à l’extérieur une solution. Copland mobilisait les ressources vitales d’Apple, alors dans une situation financière particulièrement tendue : +500 développeurs et +300 millions $ investis… 

Mais finalement, c’est quoi le projet Copland ? Il s’agissait du successeur du Système (OS du Mac) sous l’appellation Mac OS 8. Dès 1993, des équipes internes commencent à développer un nouveau système pour Macintosh et les processeurs PowerPC. Les ambitions autour du futur système étaient énormes :

  • 100 % natif PowerPC
  • utilisation massive de la technologie OpenDoc, co-développée par Apple et IBM
  • réécriture et développement de toutes les briques système
  • nouvelle interface graphique
  • nouvelles fonctionnalités de communication
  • compatibilité plus grande avec DOS et Windows

Copland repose sur une plateforme technique (Next-Generation Platform). Elle contient toutes les fondations bas niveaux : noyau et services PowerPC, composants systèmes, les couches de communications, l’interface et le support multimédia. Dessus se greffent les supports Mac, OEM (pour les clones) et la compatibilité Windows. Puis la troisième pile concerne le réseau (client universel, Internet, etc.). 

Des fondations totalement réécrites et nouvelles

L’un des intérêts de Copland était la nouvelle fondation technique :

  • système natif PowerPC / RISC
  • multitâche préemptif
  • réécriture de la gestion des I/O pour booster les performances
  • protection mémoire pour améliorer la stabilité système
  • réduction de l’empreinte système en mémoire
  • nouveau mécanisme d’extension système
  • abstraction matérielle
  • micronoyau
  • support de TCP-IP, IPX

Copland était donc une rupture totale avec la lignée Système existant depuis le premier Mac, donc depuis 10 ans. Apple a rajouté le support PowerPC, mais fondamentalement, l’OS n’a pas beaucoup changé. Et la concurrence offrait des systèmes plus modernes :  

  • BeOS est en développement depuis 1990-91 : d’abord lié à la BeBox puis comme OS indépendant. Il faudra attendre 1995 pour voir une première version opérationnelle, mais le système tarde à se stabiliser et à sortir sur PowerPC.
  • Windows 95 sort en été 1995. En développement plus de 3 ans, cet OS va être une claque pour Apple
  • NextStep : l’OS créé par NeXT (fondé par Steve Jobs) sort dès 1989 et propose déjà des fondations particulièrement robustes, une interface radicalement différente
  • Linux : le kernel Linux existe depuis 1991 et évolue rapidement et les premières distributions apparaissent dès 1992/93.
  • Nouveaux moteurs graphiques : QuickDraw GX, QuickDraw 3D
  • Support d’Unicode
  • Nouveau modèle de développement

L’un des aspects les plus marquants de Copland est son interface entièrement revue : nouvelle ergonomie avec effet « 3D », personnalisation et surtout l’utilisation de thèmes. Le thème permettait de changer l’aspect des éléments graphiques, l’un des plus connus est le thème Gizmo. L’idée était aussi de génériser l’aide active aux utilisateurs avec le concept « montre-moi ». Bref, moderniser l’ensemble visuel sans toucher aux grands principes Mac. 

OpenDoc constituait un des chantiers majeurs d’Apple dans les années 1990. OpenDoc permettait de créer des applications sous forme de composants que l’on rajoutait dans un conteneur. L’application pouvait être « créée » pour l’utilisateur. Cette technologie très prometteuse s’est révélée un casse-tête pour les développeurs et peu d’éditeurs s’y sont intéressés. Copland devait installer par défaut OpenDoc et « imposait » sa conception. Surtout, OpenDoc était disponible sur Windows et OS/2 ainsi que sur systèmes Unix et il supportait la technologie OLE 2.0 de Microsoft. 

Copland autorisait le fonctionnement des applications existantes, mais les premières versions du système utilisaient un émulateur et sans profiter des nouvelles fonctions du système. Les applications totalement natives à la nouvelle architecture étaient attendues pour la version suivante connue sous le nom de code Gershwin. 

Un calendrier intenable et une installation difficile

Durant la conférence développeur du printemps 1995, Apple a commencé à parler officiellement et publiquement de Copland. Les premières versions, disons des versions plus ou moins Delta / Alpha commençaient à circuler. Une version était attendue pour début 1996. Les mois passèrent sans que Copland se stabilise. Et les versions successives dédiées aux développeurs (pas tous les développeurs) étaient instables et pas simple d’utilisation.  

Pour pouvoir utiliser Copland, il fallait avoir un PowerMac compatible, et la liste était réduite. Il fallait formater le disque dur, de préférence, avec l’outil disque dur livré avec Copland puis d’y installer une version complète de Mac OS 7.5.x (installation et non copie) puis Copland depuis Mac OS 7.5.3. Pour démarrer sous ce système, il fallait enfoncer la touche Majuscule. Indispensable pour booter sur Copland. Pour éviter tout blocage, nous avons retiré CD et disquette. Le Finder monte les volumes normalement dans ce cas. La version que nous avons est très pauvre en applications. Il est livré avec deux thèmes d’interfaces : Default Theme et Z Theme. Sans tableau de bord, nous avons changé le thème manuellement. 

Ces préversions ne fonctionnaient pas toutes seules, ou très très mal. Il fallait avec un autre Mac (Power Mac ou 680x0), les relier avec un câble série et avoir sur le second Mac l’outil Power Mac Debugger. Les notes de versions prévenaient que Copland ne fonctionnait pas de manière autonome ou alors une fois sur x boot. Le câble devait être branché sur le port modem. La machine de debug laissait le choix entre le port modem ou imprimante. Condition indispensable : le port totalement libre de toute utilisation (AppleTalk par exemple).

La fin et le recyclage

Une des dernières versions distribuées fut la D11E4 de juin 1996. Le projet fut stoppé quelques semaines plus tard. Trop ambitieux ? Mauvaise gestion des équipes ? Manque d’une vision globale du projet ? Une réécriture sous-estimée ? Sans doute un peu de tout cela. Copland était un projet radical avec une réécriture de 0 de nombreuses briques techniques par x équipes. Rendant de facto l’intégration très difficile. 

L’état de la D11E4 (juin 1996) était loin d’une véritable version bêta comme nous avons pu le constater en utilisant la version : toujours l’obligation d’avoir un second Mac pour le debug, nombreux plantages. Copland aurait sans doute nécessité 1 an de développement pour espérer sortir un ensemble stabilisé et utilisable. Cette version avait de nombreuses limitations que la DR1 devait faire sauter. La DR1 (Developer Release) n’est pas la D11E4 comme on peut le lire parfois…

Toutes les technologies de Copland n’ont pas été jetées. La refonte de Mac OS, connu sous le nom de Mac OS 8, utilisera de nombreuses briques de Copland, celles qui étaient les plus avancées dans leur développement. Cette base sera préservée avec Mac OS 9. 

Mais Apple avait décidé de chercher un système extérieur pour remplacer Mac OS. Deux possibilités étaient envisagées : BeOS et NextStep. Finalement, ce sera NextStep / OpenStep qui sera choisi.

François Tonic