Marshall McKusick

Mac OS X est un Mac OS avant d'être un UNIX. Bien qu'il reste moins souple d'utilisation que Mac OS 9, l'interface Aqua et son Dock sont déjà passés dans les mœurs. Mais derrière, on trouve bien un gros BSD 4.4.

BSD est "un" UNIX, ou plutôt l'une des deux grandes familles d'UNIX (trois si l'on y ajoute Linux). On parle de *BSD pour faire référence à la fois à FreeBSD, NetBSD et OpenBSD, trois systèmes très proches, mais qui mettent en avant leurs points forts respectifs que sont la robustesse en tant que serveur, la portabilité et la sécurité. Nouveau venu dans ce cercle, Darwin a encore beaucoup à faire pour les rattraper, que ce soit en termes de sécurité ou de portabilité. Par contre, il est déjà une référence en tant que système serveur.

  Marshall Kirk McKusick, l'un des co-fondateurs du projet BSD, est une des figures de proue du monde UNIX. Comme Jordan Hubbard et Bud Tribble, tous deux récemment entrés chez Apple mais toujours impliqués dans le logiciel libre, il fait partie des références en la matière. En-dehors du temps qu'il consacre au développement, il anime des cours et conférences sur le sujet, et gère ce qu'il y a de plus important pour un système UNIX : sa mascotte. C'est en effet lui qui détient les droits du diablotin qui sert de logo à la famille des BSD. Bien qu'inconnu dans les mondes Macintosh et Windows, Marshall McKusick bénéficie d'une renommée dans le monde UNIX comparable à celle d'un certain Linus Torvald dans le monde Linux.

Avez-vous eu l'occasion d'utiliser Mac OS X, et qu'en avez-vous pensé ?
J'ai déjà eu la possibilité de l'utiliser pendant une petite heure. Un de mes amis a un Mac, et il m'a fait faire le tour du propriétaire lors d'une visite. Il s'agit de Jordan Hubbard, qui est l'un des grands promoteurs de BSD, mais qui croit aussi fermement en Mac OS X. En une heure, il a essayé de me montrer tous les "trucs cool" qu'il pouvait trouver. Il m'a fait une démo assez impressionnante de l'intégration du système : pour un utilisateur de Mac, ça ressemble à un Mac. Pourtant, un utilisateur BSD peut parfaitement ouvrir le capot pour accéder directement à l'ensemble de BSD au besoin. J'ai trouvé ça génial.

Voyez-vous Mac OS X comme un UNIX à part entière, ou comme une appropriation d'un BSD par Apple ?
Apple utilise BSD comme base de travail. En fait, pour la plupart des utilisateurs, BSD n'existe même pas. Tout ce qu'ils voient, c'est que leur système est devenu beaucoup plus fiable, et beaucoup plus efficace en multitâche que ce qu'ils avaient jusqu'à maintenant. En termes d'utilisation, ce qu'ils ont sous les yeux ressemble à n'importe quel Mac. De ce point de vue, j'estime que c'est un succès. S'ils avaient simplement transformé le Mac en une usine à gaz sous UNIX, les utilisateurs se seraient révoltés. Je pense qu'ils ont parfaitement évité cet obstacle, et qu'ils ont parfaitement préservé le "look and feel" du Mac.

L'été dernier, quand on a reproché à Apple de ne pas jouer le jeu du logiciel libre, des voix se sont élevées dans la communauté UNIX pour défendre le travail réalisé.
Le retour d'information d'Apple vers les communautés UNIX et BSD est excellent. Apple a parfaitement informé la communauté UNIX des changements apportés au système. Je ne m'en fais pas pour l'avenir de cette coopération, car Apple garde la mainmise sur l'interface propriétaire du Mac, qui tourne par-dessus UNIX. Ils n'ont jamais publié le code source, et je ne pense pas qu'ils le feront. C'est là que se trouve leur valeur ajoutée.

Les utilisateurs de Mac sont là justement pour cette interface de Mac OS, et ils ne sont pas près de la laisser tomber pour passer à UNIX. Apple récupérera peut-être quelques UNIXiens, mais la majorité des utilisateurs restera une population Mac, prête à payer pour cette interface. Apple prend bien quelques risques, puisque l'objet de sa contribution au logiciel libre est la base même de son système. Mais ils ont toujours joué le jeu, et ils continueront à le faire tant qu'ils ne risqueront pas ce qui est spécifique à Mac OS.

Quelle est la différence entre un UNIX BSD et Darwin ?
Mach est conçu comme un micro-noyau. En théorie, le micro-noyau est entouré de processus qui fournissent les services nécessaires pour que l'ensemble ressemble à un système UNIX normal depuis l'extérieur. Ce que possède Apple n'est pas un véritable micro-noyau entouré de services externes. ça reste un gros exécutable unique. Il y a bien cette partie qui serait un micro-noyau si on l'extrayait, mais ce n'en est pas un. Quant aux "services séparés", ils sont compilés avec, et envoient des appels de sous-routines standard au "noyau Mach".

Ce que vous appelez Mach se charge en fait simplement de l'ordonnancement (scheduling) et de la mémoire virtuelle. Tout le reste d'UNIX (système de fichiers, réseau, communication entre processus, terminal, etc) est tiré de FreeBSD. Prenez FreeBSD, retirez le scheduler et la gestion de mémoire virtuelle, mettez Mach à la place, et vous avez Darwin.

Qu'apporte UNIX aux utilisateurs de l'ancien Mac OS ?
Je crois que ce qu'apporte UNIX, c'est la robustesse et la souplesse. L'ancien système du Mac souffre des mêmes problèmes que Windows : une application peut planter tout le système, il n'y a pas de véritable multiprocesseur, il ne fait qu'une chose à la fois, et la mémoire n'est pas vraiment paginée, ce qui oblige à quitter des applications quand on arrive à court de mémoire vive.

Tout ça, c'est de l'histoire ancienne. Les applications peuvent encore planter, mais sans entraîner les autres avec elles. Vous n'avez plus besoin de quitter une application parce que le système est incapable de réallouer la mémoire. C'est aussi un système vraiment multiprocesseur, donc vous pouvez véritablement faire plusieurs choses à la fois. Voilà ce que les utilisateurs de Mac vont voir comme de vrais bénéfices, qu'ils soient ou non conscients que c'est UNIX qui est derrière.

Je ne pense pas qu'il soit particulièrement important qu'ils soient au courant. Ils doivent simplement voir que ça va rendre leur environnement plus utilisable que ce qu'il était, peut-être au point d'amener de nouveaux utilisateurs. Il y a des gens qui n'utilisent pas le Mac parce qu'il est trop fragile, il a trop de limitations. Le simple fait d'avoir à fermer une application, c'est déjà un problème.

Quels sont les bénéfices à terme pour le monde UNIX ?
Les qualités de Mac OS X vont attirer de nouveaux utilisateurs, ce qui va augmenter la population totale des utilisateurs d'UNIX. Les UNIXiens purs et durs assurent un retour d'information permanent vers les développeurs, ce qui contribue à améliorer leur environnement. Or du jour au lendemain, on se retrouve avec dix fois plus d'utilisateurs d'UNIX qu'auparavant. Même si très peu des utilisateurs de Mac OS X ouvrent le capot pour voir ce qu'il y a sous Aqua, ce sera déjà une énorme augmentation du nombre d'utilisateurs d'UNIX. Et c'est le monde UNIX qui fait tourner le monde du logiciel libre, dont est issu Darwin.

Interview par Erwan Barret - novembre 2001