Interview de Jim Hall à l'occasion du 25ème anniversaire de FreeDOS
cestoliv, il y a 3 ans - dim. 16 mai 2021
Il y a deux ans, j'ai eu la chance de réaliser une interview de Jim Hall, le créateur de FreeDOS, à l'occasion du 25ème anniversaire du projet. J'ai publié cette interview le 18/06/2019 sur mon ancien blog et grâce aux archives que Taokann a fait de mon ancien blog, je peux la réafficher ici, deux ans plus tard.
J'ai également passé beaucoup de temps à en faire une vidéo :
Bonjour ! Savez-vous dans en quel mois nous sommes ? En juin 2019 ! Et ce mois-ci, le système d'exploitation [FreeDOS] (http://freedos.org) fête ses 25 ans ! Étant fan d'informatique rétro, je me devais d'en parler, voici donc une rapide présentation du projet avant de poursuivre avec l'interview de Jim Hall.
Présentation
FreeDOS est un système d'exploitation libre et gratuit qui a été créé en 1994 par Jim Hall, dont la première bêta est sortie en 1998 et la première version en 2006. Cet OS appartient à la famille DOS, dont le père était MS-DOS, l'ancêtre de Windows, de Microsoft. C'est lorsque Microsoft a annoncé la fin du support de MS-DOS que Jim Hall a entrepris de créer un système d'exploitation, d'abord PD-DOS, avant d'être renommé FreeDOS. Ce système devait supporter tous les programmes écrits pour MS-DOS et apporter de nouvelles fonctionnalités adaptées aux nouvelles avancées technologiques, ne serait-ce que le support des noms de fichiers longs. Et devinez quoi ? C'est fait ! FreeDOS fonctionne parfaitement et permet d'émuler un DOS en plus de le mettre à jour. FreeDOS ravira les rétro-gamers en leur permettant de retrouver les jeux préférés de leur enfance, comme Wolfenstein 3D et Doom, et permettra à ceux qui en ont besoin de réutiliser certains de leurs vieux logiciels.
Interview
- Pouvez-vous présenter FreeDOS et expliquer le but de ce projet ? FreeDOS est une implémentation libre du système d'exploitation DOS.
DOS est un ancien système d'exploitation, destiné à l'ordinateur personnel original d'IBM. DOS était omniprésent à la fin des années 1980 et au début des années 1990. On peut dire que DOS a dominé le marché des PC à l'époque. J'étais un « power user » DOS à cette époque, et je préférais MS-DOS de Microsoft à un environnement graphique comme Microsoft Windows. Si vous regardez les captures d'écran de Windows à cette époque, vous comprendrez pourquoi je préférais DOS. Windows n'était pas génial. Windows n'était pas encore un système d'exploitation autonome ; il fallait encore démarrer MS-DOS avant de pouvoir exécuter Windows 3. J'ai utilisé beaucoup d'applications et de jeux sous DOS. Au début des années 1990, j'étais étudiant à l'université (en physique) et je faisais presque toutes mes analyses de laboratoire à l'aide d'un tableur DOS, et je rédigeais tous mes travaux de classe à l'aide d'un traitement de texte DOS. J'adorais la ligne de commande DOS et j'écrivais de petits utilitaires pour rendre la ligne de commande plus puissante et plus souple. En 1993, j'ai découvert Linux, un système d'exploitation Unix gratuit que je pouvais utiliser sur mon PC 386. Je démarrais Linux la plupart du temps, mais j'utilisais toujours DOS pour mon tableur et mon traitement de texte, car il n'y avait pas encore d'applications comparables sur Linux. En 1994, Microsoft a déclaré que la prochaine version de Windows éliminerait effectivement MS-DOS. Cela ne m'a pas plu. J'ai décidé que je préférais continuer à utiliser DOS. Et le seul moyen d'y parvenir était d'écrire notre propre version du DOS. J'ai donc annoncé un projet DOS le 29 juin 1994, qui est devenu le projet FreeDOS.
- Vous avez créé FreeDOS pour continuer à utiliser des logiciels fonctionnant sous MS-DOS, l'avez-vous fait pour un logiciel en particulier ? Lequel ? Utilisez-vous encore ce logiciel aujourd'hui ?
Je n'ai pas créé FreeDOS pour un logiciel en particulier, mais je peux vous dire que mon application DOS préférée à l'époque était un tableur shareware appelé AsEasyAs, par TRIUS Inc. « Shareware » signifiait que vous pouviez utiliser le logiciel, et même le partager avec d'autres, mais que vous deviez payer une petite redevance si vous continuiez à l'utiliser. Leur tableur était puissant et convivial. Fidèle à son nom, AsEasyAs était facile à utiliser. J'ai probablement utilisé AsEasyAs pour presque toutes mes analyses de laboratoire de physique. Il disposait d'une fonction robuste de régression linéaire (ajustement des lignes) qui fournissait les valeurs d'incertitude dont nous avions besoin dans notre analyse. TRIUS a ensuite publié AsEasyAs gratuitement (gratis) sur son site web. Vous pouvez trouver leur annonce [ici] (http://www.triusinc.com/forums/viewtopic.php?f=9&t=10&sid=155e27408d729859c7ac2ee62868c87f) J'ai utilisé plusieurs programmes de traitement de texte sous DOS, je ne sais donc pas si j'ai un favori. Mais WordPerfect était probablement le plus puissant que j'ai utilisé. Plus tard, je suis passé à GalaxyWrite, qui était un shareware. Et j'ai joué à une tonne de jeux DOS. Wolfenstein 3D et DOOM (tous deux réalisés par iD) sont les classiques des jeux de tir à la première personne. Il y avait beaucoup de jeux de tir à la première personne, comme Blood et Duke Nukem 3D. J'aimais aussi les jeux de flipper. Mon jeu DOS préféré était TIE Fighter, de LucasArts. J'ai acheté une copie sur GOG il y a quelques années et j'y joue de temps en temps. C'est très amusant !
- Ce système d'exploitation, quand vous l'avez créé, à quoi était-il destiné à l'origine ?
Quand j'ai créé FreeDOS, je voulais juste faire un système d'exploitation compatible DOS qui puisse faire tourner les applications DOS que j'utilisais, y compris les jeux. Aujourd'hui, nous constatons que les gens installent FreeDOS pour 3 ou 4 raisons : 1. Jouer à des jeux DOS classiques 2. Exécuter les anciens logiciels DOS 3. Prise en charge des systèmes intégrés 4. Installer les mises à jour du BIOS. Je ne suis pas sûr de devoir inclure les « mises à jour du BIOS » dans cette liste, parce que les gens n'installent généralement pas FreeDOS pour faire une mise à jour du BIOS. Au lieu de cela, ils ont juste besoin d'une version de DOS pour démarrer leur PC à partir d'une clé USB, afin de pouvoir exécuter la mise à jour du BIOS. Je ne sais pas si ces personnes installent réellement FreeDOS après cela, elles utilisent simplement FreeDOS pour exécuter une mise à jour occasionnelle du BIOS.
- Etait-il impératif dès le début du projet de faire un OS open source ?
Soit dit en passant : FreeDOS est en fait antérieur au terme « open source ». Christine Peterson a proposé le terme « open source » lors d'une réunion en 1998, mais FreeDOS a démarré en 1994. Le terme que nous avons utilisé en 1994 était donc « free (libre) software ». Pour moi, il était important que FreeDOS soit quelque chose dont tout le monde peut voir le code source et y apporter des améliorations. Les développeurs devaient pouvoir partager les programmes entre eux, y compris les modifications qu'ils y apportaient. En publiant le code source, nos utilisateurs étaient aussi des développeurs, et FreeDOS s'améliorerait chaque fois que quelqu'un utiliserait le code source pour corriger un bug ou ajouter une nouvelle fonctionnalité. Je pense que c'est cette ouverture qui a permis à FreeDOS de s'imposer très tôt. De plus, nous avons écrit les composants « de base » de FreeDOS en utilisant l'Assembleur et le C, mais surtout le C. De nombreuses personnes maîtrisent le C, ce qui a permis à d'autres de contribuer plus facilement à FreeDOS. Notre règle générale est que le « FreeDOS Base » (les composants qui reproduisent le MS-DOS original) doit être écrit en C ou en Assembleur. Nous utilisons OpenWatcom C comme compilateur C standard, et NASM comme assembleur standard. Les programmes étendus (tels que les programmes de la section « Utility ») peuvent être écrits dans n'importe quel langage ; nous voyons encore beaucoup de C et d'Assembleur, mais aussi du Pascal et d'autres langages de programmation.
- Comment avez-vous réuni toutes les compétences pour créer ce FreeDOS ? Comment avez-vous trouvé des collaborateurs ?
J'ai appris à programmer tout seul dès mon plus jeune âge. Lorsque j'ai commencé FreeDOS, j'avais donc déjà suffisamment de compétences en programmation pour écrire un ensemble de commandes DOS. Et les commandes DOS sont assez simples. Des commandes comme CLS, ECHO, MORE, PAUSE ou TYPE sont triviales à écrire. D'autres commandes de la « base FreeDOS » comme CHOICE, DATE, TIME et FIND ne sont pas très difficiles non plus. L'écriture de nombreux utilitaires FreeDOS n'a donc pas demandé beaucoup d'efforts de ma part. J'ai rassemblé les utilitaires DOS étendus que j'avais écrits pour étendre la ligne de commande MS-DOS, les programmes que j'avais écrits à l'origine uniquement pour moi, et je les ai partagés sur un serveur FTP. Les gens de Sunsite à UNC (maintenant appelé Ibiblio) ont été très gentils et nous ont offert un compte sur leur système pour que nous puissions partager les utilitaires FreeDOS. Après avoir partagé les utilitaires, je les ai annoncés sur le groupe de discussion Usenet fréquenté par les programmeurs DOS. Les gens ont vu ce que je faisais, ont reconnu que ce « FreeDOS » allait quelque part, et ont contribué à leurs propres utilitaires qui reproduisaient les fonctionnalités de MS-DOS. Il n'a pas fallu longtemps pour que quelqu'un propose un remplaçant de COMMAND.COM, par exemple. C'est ainsi que nous avons développé FreeDOS. Nous partagions notre travail et le faisions connaître. Les développeurs nous contactaient s'ils étaient intéressés par une contribution à FreeDOS. Je pense que la clé était de ne jamais dire « non » à un contributeur. Nous avons toujours essayé de trouver un moyen d'inclure la contribution de quelqu'un dans FreeDOS.
- Avez-vous déjà eu envie d'abandonner le projet ? Peut-être, je ne sais pas... parce que c'était trop difficile ou par manque de temps
J'ai abandonné FreeDOS plusieurs fois, mais j'y suis toujours revenu. J'ai dit que j'avais commencé FreeDOS quand j'étais étudiant à l'université. Après avoir obtenu mon diplôme et mon premier emploi, j'ai été très occupé au travail. Les choses ne risquaient pas de s'améliorer de sitôt, alors j'ai demandé si quelqu'un pouvait prendre en charge le projet FreeDOS pendant un certain temps. C'est alors que j'ai rencontré M. « Hannibal » Toal. Il a assumé le rôle de coordinateur du projet pendant un certain temps. Pendant cette période, Hannibal a également créé notre premier site web FreeDOS. J'ai abandonné FreeDOS bien des années plus tard. Encore une fois, j'étais très occupé au travail. J'avais récemment été promu pour gérer l'ensemble des opérations et infrastructures informatiques de l'entreprise (mes équipes géraient plus de 1 100 serveurs pour soutenir 65 000 étudiants sur les 5 campus du système universitaire, délivrer 33 000 chèques de paie, etc.) Pat Villani (qui a écrit notre premier noyau) s'est porté volontaire pour être le coordinateur du projet.
- A quelle fréquence utilisez-vous FreeDOS ?
Je n'utilise pas FreeDOS comme système principal. Ce serait vraiment impressionnant ! Mais j'utilise FreeDOS régulièrement. Comme la plupart de nos utilisateurs, j'utilise FreeDOS principalement lorsque je veux jouer à un jeu DOS favori. Oui, plusieurs de ces jeux DOS sont disponibles sous forme de « ports source » sous Linux, comme DOOM. Et d'autres peuvent être exécutés sur DOSBox. J'aime l'expérience complète du DOS, je préfère donc démarrer FreeDOS et y exécuter le jeu. Je fais tourner FreeDOS dans une machine virtuelle. J'avais l'habitude de démarrer FreeDOS dans DOSEmu lorsque j'écrivais beaucoup de code FreeDOS. DOSEmu était vraiment pratique parce qu'il mappait un dossier de mon répertoire Linux comme le lecteur C : pour FreeDOS. Je pouvais donc utiliser GNU Emacs sur Linux pour écrire du code et le compiler immédiatement dans FreeDOS via DOSEmu. Aujourd'hui, je fais tourner FreeDOS avec un émulateur PC appelé QEMU, ou GNOME Boxes (qui n'est en fait qu'un frontal GNOME pour QEMU). Je n'écris pas de code pour FreeDOS. Je n'en ai tout simplement pas le temps. Mais je continue à travailler avec et à aider les autres de temps en temps.
- FreeDOS, maintenant qu'il a atteint son objectif initial, va-t-il continuer à évoluer et à offrir de nouvelles fonctionnalités ?
Je pense que FreeDOS a atteint l'objectif de fournir un système d'exploitation compatible DOS qui exécute les applications DOS classiques. Nous avons atteint cet objectif avec la distribution FreeDOS 1.0 en 2006. Depuis, les distributions FreeDOS 1.1 et FreeDOS 1.2 ont amélioré FreeDOS. La prochaine distribution FreeDOS 1.3 continue à faire évoluer FreeDOS vers un DOS moderne. Nous ne pouvons pas modifier FreeDOS à un niveau fondamental. FreeDOS est un DOS, et cela signifie que nous devons être capables d'exécuter des programmes DOS classiques. Cela s'accompagne d'un ensemble d'hypothèses de base, comme une architecture Intel 16 bits avec un BIOS. Il est donc pratiquement impossible de faire évoluer FreeDOS vers d'autres architectures comme ARM. Je pense que FreeDOS continuera à faire évoluer la ligne de commande. Nous avons inclus des utilitaires de type Unix dans FreeDOS depuis longtemps - et avec la distribution FreeDOS 1.3, nous allons séparer ces utilitaires de type Unix dans leur propre groupe pour les rendre plus faciles à installer. Au fur et à mesure que FreeDOS se développe, je pense que la plupart des changements concerneront les programmes en ligne de commande. Mais un groupe de développeurs est en train d'écrire un nouveau noyau DOS, qui fonctionnera en mode protégé (PM) multitâche. Ce noyau s'appelle NightDOS. Ils ont beaucoup de travail devant eux, et NightDOS en est encore au tout début de son développement. S'ils parviennent à écrire un noyau DOS capable d'exécuter des programmes 16 bits classiques, je serais très intéressé. Mais je pense que c'est dans quelques années.
- Qu'est-ce que la communauté FreeDOS a fait qui vous a le plus plu ? Inversement, qu'est-ce que la communauté FreeDOS a fait qui vous a le moins plu ?
Un développeur a utilisé FreeDOS comme système d'exploitation embarqué dans un flipper. J'ai toujours pensé que c'était génial ! Je ne sais pas trop comment il a fait. Une façon que je peux imaginer est de créer une application DOS qui utilise les entrées du clavier pour représenter différents éléments de score sur la table de flipper (pare-chocs, cibles, etc.) et ajouter au score du joueur à chaque fois qu'il touche ces éléments. Je ne suis pas sûr qu'il y ait eu quelque chose dont je n'ai pas été satisfait.
- En quoi FreeDOS est-il meilleur que MS-DOS ?
Je pense que le plus grand avantage est que nous travaillons toujours sur FreeDOS, alors que Microsoft a arrêté de travailler sur MS-DOS en 2000. En fait, ils ont arrêté de vendre MS-DOS en 2000 ; Microsoft a arrêté de développer DOS après MS-DOS 6.22, sorti en 1994. Nous restons très proches de l'idée originale du « DOS ». Ainsi, FreeDOS n'a pas d'interface utilisateur graphique (GUI) standard, bien que nous incluions plusieurs GUI dans la distribution FreeDOS. Mais vous pouvez exécuter à peu près n'importe quel programme DOS sur FreeDOS aujourd'hui. Lors du développement de FreeDOS et de l'ajout de nouvelles fonctionnalités, nous avons essayé de n'ajouter que des fonctionnalités que la plupart des utilisateurs trouveraient utiles. De cette façon, FreeDOS est plus avancé que MS-DOS, simplement à cause des utilitaires supplémentaires que nous fournissons. FreeDOS dispose d'utilitaires d'archivage comme Zip et Unzip, d'outils de développement, de compilateurs et d'assembleurs pour que vous puissiez créer de nouveaux programmes, de plusieurs éditeurs, d'un support réseau, et bien sûr d'une tonne de nouveaux utilitaires dont MS-DOS ne pourrait que rêver. Nous avons également inclus plusieurs utilitaires qui imitent la ligne de commande Unix, de sorte que FreeDOS sera plus familier aux utilisateurs de Linux. Par exemple, FreeDOS inclut des versions de cal, du, grep, head, less, tee, touch, uptime, which et plusieurs autres commandes de type Unix. Voici une courte liste des fonctionnalités supplémentaires de FreeDOS : Voici une courte liste des fonctionnalités supplémentaires de FreeDOS :
- Support des
CD-ROM
avecXCDROM
etSHSUCDX
(similaire àMSCDEX
) - Pilote de souris
CUTEMOUSE
avec support de la molette de défilement - Éditeurs de texte multifenêtres
EDIT
etSETEDIT
. - Support du système de fichiers
FAT32
- Gestion de l'énergie
FDAPM
:APM
info/control/suspend/poweroff,ACPI
throttle,HLT
économie d'énergie - Anti-virus et scanner de virus
FDAV
- Gestionnaire de paquets
FDNPKG
, avec support réseau GRAPHICS
imprime sur des imprimantesESC/P
,HP PCL
etPostScript
.- Visionneuse d'aide
HTMLHELP
. - Gestionnaire de mémoire
JEMM386
(XMS
,EMS
) - Pilotes 32 bits en mode protégé sous forme de
JLMs
(JEMM
Loadable Modules) - Cache disque
LBACACHE
- Support des grands disques
LBA
- Support
LFN
via le piloteDOSLFN
. - Lecteur multimédia
MPXPLAY
: mp3, ogg, wmv avec les pilotes intégrésAC97
etSB16
. - Visionneuse de texte
PG
(similaire àLIST
) - Plusieurs utilitaires portés depuis Linux grâce à
DJGPn
.