25 ans de FreeDOS, l'interview de Jim Hall, son créateur

par colivier

Le 18 juin à 14h56

308

English version : here

Cette interview est disponible sous forme de vidéo (sous-titrée) ici


Bonjour ! Savez-vous en quel mois nous sommes ? En Juin 2019 ! Et ce mois-ci, le système d'exploitation FreeDOS fête ses 25 ans ! Étant fan de rétro informatique, je me devais d'en parler, voici une rapide présentation du projet avant d'enchainer avec l'interview de Jim Hall.


Présentation

FreeDOS est un système d'exploitation libre et open source 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 (operating system = système d'exploitation) appartient à la famille DOS, dont le père était MS-DOS, l'ancêtre de Windows, développé par Microsoft.

C'est quand Microsoft annonce la fin du support de MS-DOS que Jim Hall entreprend 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 écris pour MS-DOS et apporter quelques nouvelles fonctionnalités adaptées aux nouvelles avancées technologiques, même aussi simple que le support des longs noms de fichiers. Et devinez quoi ? C'est chose faite ! FreeDOS fonctionne parfaitement et permet d'émuler un DOS en plus de l'avoir remis au goût du jour. 

L'OS qui fête ce mois-ci ses 25 ans ravira les retro-gamers en leurs permettant de retrouver les jeux favoris de leurs enfances, tel Wolfenstein 3D et Doom, et permettra à ceux qui en ont besoins de réutiliser certains de leur vieux logiciels.


Interview

- Pouvez-vous présenter FreeDOS et expliquer le but de ce projet ?

FreeDOS est une implémentation gratuite du système d’exploitation DOS.


DOS est un ancien système d’exploitation, à l’origine destiné aux ordinateurs personnels IBM. DOS était omniprésent à la fin des années 1980 et au début des années 1990. Il est juste de dire que DOS dominait le marché des PC à l’époque.


J’étais un « utilisateur avancé » de DOS pendant cette période, et j’ai préféré MS-DOS de Microsoft à un environnement graphique comme Microsoft Windows. Si vous regardez les captures d’écran de Windows de cette époque, vous verrez pourquoi je préférais DOS. Windows n’était pas grand. En plus Windows n’était pas encore un système d’exploitation autonome, vous deviez d’abord démarrer MS-DOS avant de pouvoir exécuter Windows 3.


J’ai utilisé beaucoup d’applications et de jeux sur DOS. Au début des années 1990, j’étais étudiant à l’université (majeure en physique) et j’ai fait presque toutes mes analyses de laboratoire à l’aide d’une feuille de calcul DOS, et j’ai écrit tous mes documents 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 flexible.


En 1993, j’ai découvert Linux - qui m’a donné un système d’exploitation Unix gratuit que je pouvais utiliser sur mon PC 386. J’ai utilisé Linux pendant beaucoup de temps, mais j’ai toujours utilisé DOS pour exécuter 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 efficacement MS-DOS. Je n’ai pas aimé cela. J’ai décidé que je préférais continuer à utiliser DOS. Et la seule façon de le faire était d’écrire notre propre version de 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 tournant sous MS-DOS, l’avez-vous fait pour un logiciel en particulier ?

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 une feuille de calcul shareware appelée AsEasyAs, de TRIUS Inc. « Shareware » signifie que vous pouvez utiliser le logiciel, et même le partager avec d’autres, mais vous devez de payer un petit frais si vous continuez à 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. Elle avait une fonction robuste de régression linéaire (alignement) qui fournissait les valeurs d’incertitude dont nous avions besoin dans notre analyse.


TRIUS a publié plus tard AsEasyAs gratuitement sur son site Web. Vous pouvez trouver leur annonce [ici](http://www.triusinc.com/forums/viewtopic.php?f=9&t=10&sid=155e27408d729859c7ac2ee62868c87f)(blank)


J’ai utilisé plusieurs logiciels de traitement de texte sur DOS, donc je ne sais pas si j’ai vraiment un favori. Mais WordPerfect était probablement le plus puissant que j’ai utilisé. Plus tard, je me suis tourné vers GalaxyWrite, qui était un shareware.


Et j’ai joué à une tonne de jeux DOS. Wolfenstein 3D et DOOM (tous les deux par iD Software) sont les tireurs à la première personne (FPS) classiques. Il y avait beaucoup de tireurs à la première personne, comme Blood et Duke Nukem 3D. J’aimais aussi les jeux de flipper. Mon jeu préféré absolu DOS était TIE Fighter, par LucasArts. J’ai acheté un exemplaire de GOG il y a quelques années et j’y joue parfois. Beaucoup de plaisir!


- Ce système d’exploitation, quand vous l’avez créé, à quelle utilisation était-il d’abord destiné ?

Quand j’ai commencé FreeDOS, je voulais juste faire un système d’exploitation compatible DOS qui pourrait exécuter les applications DOS que j’ai utilisées, y compris les jeux.


De nos jours, on trouve des gens qui installent FreeDOS pour 3 ou 4 raisons :


1. Jouer à des jeux DOS classiques

2. Exécuter d’anciens logiciels DOS

3. Soutenir des systèmes intégrés

4. Installer des mises à jour du BIOS


Je ne sais pas si je devrais inclure « Mises à jour du BIOS » dans cette liste, parce que les gens n’installent habituellement 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 qu’ils puissent exécuter la mise à jour du BIOS. Je ne sais pas si ces personnes installent réellement FreeDOS après ça, elles utilisent juste FreeDOS pour exécuter une mise à jour occasionnelle du BIOS.


- Est-ce qu’il a été impératif dès le lancement du projet de faire un OS open source ?

En passant, FreeDOS précède en fait le terme « open source ». Christine Peterson a proposé le terme « open source » lors d’une réunion en 1998, mais FreeDOS a commencé en 1994. Donc, l’expression que nous avons utilisée en 1994 était « logiciel libre ».


Pour moi, il était important que FreeDOS soit quelque chose où tout le monde pouvait voir le code source et apporter des améliorations. Les développeurs devraient pouvoir partager les programmes entre eux, y compris les modifications qu’ils y ont apportés. En libérant le code source, nos utilisateurs étant également des développeurs, FreeDOS évoluait chaque fois que quelqu’un utilisait le code source pour corriger un bug ou ajouter une nouvelle fonctionnalité.


Je pense que c’est cette ouverture qui a aidé FreeDOS à être attractif dès le début. Et nous avons écrit les composants « de base » de FreeDOS en utilisant l’Assembleur et le C, mais surtout le C. Beaucoup de gens sont compétents en C, ce qui a rendu plus facile pour les autres le fait de contribuer à FreeDOS.


Notre règle générale est que la « base FreeDOS » (les composants qui reproduisent le MS-DOS original) doit être écrite en C ou en Assembleur. Nous utilisons OpenWatcom C comme compilateur C standard, et NASM comme Assembleur standard. Les programmes supplémentaires comme les utilitaires peuvent être écrits en n’importe quoi; nous voyons encore beaucoup de C et d’Assembleur ici, mais aussi du Pascal et d’autres langages de programmation.


- Comment avez-vous réunis toutes les compétences pour créer FreeDOS ? Comment avez-vous trouvé des collaborateurs ?

J’ai commencé à programmer dès mon plus jeune âge. Donc quand j’ai commencé FreeDOS, j’avais déjà assez de compétences en programmation pour écrire un ensemble de commandes DOS. Et les commandes DOS sont assez simples. Les commandes comme CLS, ECHO, MORE, PAUSE ou TYPE sont triviales à écrire. D’autres commandes « de base » comme CHOICE, DATE, TIME et FIND ne sont pas non plus si difficiles. Donc écrire la plupart des utilitaires FreeDOS n’a pas demandé beaucoup d’efforts de ma part.


J’ai collecté les utilitaires DOS que j’avais écrits pour étendre la ligne de commande MS-DOS, les programmes que j’avais initialement écrits uniquement pour moi-même, et les ai partagés sur un serveur FTP. Les gens au Sunsite à l’UNC (maintenant appelé Ibiblio) étaient très gentils et nous ont offert un compte sur leur système afin 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 ils ont fourni leurs propres utilitaires qui reproduisaient les fonctionnalités de MS-DOS. Il n’a pas fallu beaucoup de temps pour que quelqu’un remplace COMMAND.COM, par exemple.


C’est ainsi que nous avons développé FreeDOS. Nous avons partagé notre travail, et l’avons fait savoir aux gens. Les développeurs n’ont qu’à nous contacter s’ils sont intéressés par la contribution à FreeDOS.


Je pense que la clé est de ne jamais dire « non » à un contributeur. Nous avons toujours essayé de trouver un moyen d’inclure la contribution de quelqu’un à FreeDOS.


- Avez-vous déjà eu envie de laisser tomber le projet ? Peut-être, je ne sais pas… Parce que c’était trop dur ou par manque de temps.

J’ai abandonné FreeDOS plusieurs fois, mais je suis toujours revenu.


J’ai mentionné que j’ai commencé FreeDOS quand j’étais étudiant à l’université. Après avoir obtenu mon diplôme et obtenu mon premier emploi, je suis devenu vraiment occupé au travail. Les choses n’étaient pas susceptibles de s’améliorer de sitôt, alors j’ai demandé si quelqu’un pouvait reprendre le projet FreeDOS pendant un certain temps. C’est à ce moment-là que j’ai rencontré M. « Hannibal » Toal. Il a occupé le poste de coordonnateur de projet pendant un certain temps. Pendant ce temps, Hannibal a également créé notre premier site FreeDOS.


J’ai abandonné FreeDOS de nombreuses années plus tard. Encore une fois, je commençais à être très occupé au travail. J’ai récemment été promu à la gestion de l’ensemble de nos opérations et de l’infrastructure de TI d’entreprise (mes équipes ont géré plus de 1 100 serveurs pour soutenir 65 000 étudiants sur les cinq campus du système universitaire, ont livré 33 000 chèques de paie, etc.) Pat Villani (qui a écrit notre premier noyau) s’est porté volontaire pour être coordonnateur de projet. Mais je suis revenu !


- Quel est votre fréquence d’utilisation de FreeDOS ?

Je n’utilise pas FreeDOS comme système principal. Ce serait vraiment impressionnant !


Mais j’exécute FreeDOS régulièrement. Comme la plupart de nos utilisateurs, je démare principalement FreeDOS quand je veux jouer à mes jeux DOS préféré. Oui, plusieurs de ces jeux DOS sont disponibles sous forme de "ports sources" sur Linux, comme DOOM. Et d’autres peuvent être exécutés sur DOSBox. J’aime l’expérience DOS complète, donc je préfère démarrer FreeDOS et y lancer le jeu.


J’exécute FreeDOS dans une machine virtuelle. Je démarrais FreeDOS dans DOSEmu quand j’écrivais beaucoup de code FreeDOS. DOSEmu est très pratique car il mappe un dossier de mon répertoire Home Linux comme le lecteur C: de FreeDOS. Donc je pouvais utiliser GNU Emacs sous Linux pour écrire du code et le compiler immédiatement dans FreeDOS via DOSEmu.


Ces jours-ci, je lance FreeDOS avec un émulateur de PC appelé QEMU, ou GNOME Boxes (qui est en fait juste un front end GNOME à QEMU).

Je n’écris pas de code pour FreeDOS en ce moment. Je n’ai tout simplement plus le temps. Mais je travaille toujours dessus et j’aide les autres de temps en temps.


- Est-ce que FreeDOS, maintenant qu’il a rempli son objectif de départ, va continuer à évoluer et proposer de nouvelles fonctionnalités ?

Je pense que FreeDOS a atteint l’objectif de fournir un système d’exploitation compatible DOS qui exécute des applications DOS classiques. Nous avons atteint cet objectif avec la distribution FreeDOS 1.0 en 2006.


Depuis lors, les distributions FreeDOS 1.1 et FreeDOS 1.2 sont des améliorations de FreeDOS. La prochaine distribution FreeDOS 1.3 continue de faire évoluer FreeDOS en DOS moderne.


Nous ne pouvons pas modifier FreeDOS à un niveau fondamental. FreeDOS est DOS, et cela signifie que nous devons être en mesure d’exécuter des programmes DOS classiques. Cela vient avec un ensemble de contraintes, comme une architecture Intel 16 bits avec un BIOS. Il est donc pratiquement impossible de rendre FreeDOS compatible avec 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. Comme FreeDOS grandit, je pense que la plupart des changements seront des programmes en ligne de commande.


Mais il y a un groupe de développeurs qui écrivent un nouveau noyau DOS, qui s’exécutera en Mode Protégé (PM) multitâche. Ce noyau s’appelle NightDOS. Ils ont beaucoup de travail devant eux, et NightDOS est encore très jeune dans le développement. S’ils parviennent à écrire un noyau DOS qui peut exécuter des programmes 16 bits classiques, je serai très intéressé. Mais je pense que c’est dans quelques années.


- Qu’à fait la communauté FreeDOS et que vous avez le plus aimé ? À l’inverse, qu’à fait la communauté FreeDOS et qui vous ais le moins plut ?

Un développeur a utilisé FreeDOS comme système d’exploitation intégré dans un flipper. J’ai toujours pensé que c’était habile ! Je ne suis pas sûr de la façon dont il a fait cela. Une manière que je peux imaginer est de créer une application DOS qui utilise des entrées de 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’ils frappent les éléments.

Je ne suis pas sûr qu’il y ait eu quelque chose qui ne m’ait pas plu.


- En quoi FreeDOS est meilleur que MS-DOS ?

Je pense que le plus grand avantage est que nous travaillons toujours sur FreeDOS, alors que Microsoft a cessé de travailler sur MS-DOS en 2000. En fait, ils ont cessé de vendre MS-DOS en 2000; Microsoft a cessé de développer DOS après MS-DOS 6.22, publié en 1994.


Nous sommes très près de l’idée originale de « DOS ». Donc FreeDOS n’a pas d’interface utilisateur graphique (GUI) standard bien que nous incluions plusieurs interfaces graphiques dans la distribution FreeDOS. Mais vous pouvez exécuter à peu près n’importe quel programme DOS sur FreeDOS ces jours-ci.


Lors du développement de FreeDOS et de l’ajout de nouvelles fonctionnalités, nous avons essayé d’ajouter seulement des fonctionnalités que la plupart des utilisateurs trouveraient utiles. De cette façon, FreeDOS est plus avancé que MS-DOS, simplement en raison des utilitaires supplémentaires que nous fournissons. FreeDOS a des utilitaires d’archive comme Zip et Unzip, des outils de développement et des compilateurs et assembleurs afin que vous puissiez faire de nouveaux programmes, plusieurs éditeurs, support réseau, et bien sûr une tonne de nouveaux utilitaires dont MS-DOS pourrait seulement rêver.


Nous incluons également plusieurs utilitaires qui imitent la ligne de commande Unix, donc FreeDOS sera plus familier aux utilisateurs de Linux. Par exemple, FreeDOS inclut des versions de cal, du, grep, head, less, tee, touch, uptime, wich et plusieurs autres commandes de type Unix.


Voici une courte liste des fonctions supplémentaires de FreeDOS :


- Support des CD-ROM avec XCDROM et SHSUCDX (similaire à MSCDEX)

- Pilote de souris CUTEMOUSE avec le support de la molette

- Éditeurs de texte multi-fenêtres EDIT et SETEDIT

- Prise en charge du système de fichiers FAT32

- Gestion de la puissance FDAPM : info/contrôle/suspension/mise hors tension APM, accélérateur ACPI, économie d’énergie HLT

- Scanner anti-virus et virus FDAV

- Gestionnaire de paquets FDNPKG, avec support réseau

- Impression GRAPHIQUE sur imprimantes ESC/P, HP PCL et PostScript

- Visionneuse d’aide HTMLHELP

- Gestionnaire de mémoire JEMM386 (XMS, EMS)

- Pilotes de mode protégés 32 bits en tant que JLM (modules chargeables JEMM)

- Cache disque LBACACHE

- Support de grand disque LBA

- Soutien du LFN via le pilote DOSLFN

- Lecteur multimédia MPXPLAY : mp3, ogg, wmv avec pilotes AC97 et SB16 intégrés

- Visualisateur de texte PG (semblable à la LISTE)

- Plusieurs utilitaires portés depuis Linux grâce à DJGPP

COMMENTAIRES

Vous devez être connecté pour ajouter un commentaire !
SE CONNECTERS'INSCRIRE

Aucun commentaires... Soyez le premier à en ajouter un !