Lancé le 22 janvier 1996, le projet ReactOS vient de souffler ses 30 bougies. Depuis trois décennies, l'objectif reste le même : créer un clone open source de Windows capable de faire tourner les applications et pilotes Microsoft.

ReactOS, le Windows open source, fête ses 30 ans
ReactOS, le Windows open source, fête ses 30 ans

Initialement baptisé FreeWin95, le projet visait à cloner Windows 95. Sauf que ce premier essai a échoué. Les contributeurs passaient sans doute un peu trop de temps à planifier le système dans ses moindres détails et pas assez à passer à l'action concrète.

De FreeWin95 aux premiers pilotes fonctionnels

Jason Filby a décidé de reprendre les choses en main en changeant la cible : plutôt que Windows 95, pourquoi ne pas viser Windows NT, une architecture plus modulaire et pérenne ?

Le changement de nom intervient en février 1998. "ReactOS" signifie littéralement "réaction à l'OS", en pointant la position de monopole de Microsoft sur le marché des systèmes d'exploitation grand public. Mais les débuts restent laborieux. Les développeurs doivent d'abord construire un noyau minimal avant de pouvoir écrire les premiers pilotes. Une fois ces drivers créés, ils servent alors d'exemple aux contributeurs suivants. C'est un processus de bootstrap technique qui prend des années.

Eric Kohl, qui a rejoint le projet en 1998, raconte qu'il cherchait des exemples de code pour contribuer à Wine quand il est tombé sur ReactOS. Il a proposé son portage Win32 de l'interpréteur de commandes FreeDOS pour remplacer le shell.exe primitif du projet. Quelques patchs plus tard, les mainteneurs lui ont donné un accès direct au gestionnaire de versions. L'édition 0.0.8 qu'il a testée n'était qu'un bootloader DOS, quelques pilotes basiques et un noyau qui lançait des routines de test. Pas de chargeur d'applications, pas de processus, pas de threads. Chaque petite fonctionnalité représentait un jalon.

Trois décennies de progression méthodique

La première version publique arrive le 1er février 2003. ReactOS 0.1.0 permet de booter depuis un CD et offre une interface en ligne de commande. Aucun bureau graphique. Les années suivantes apportent le réseau, le gestionnaire de paquets Download! (ancêtre de RAPPS), puis un vrai environnement de bureau. Mais en 2006, le projet traverse une crise majeure. Des inquiétudes émergent : certains contributeurs auraient-ils eu accès à du code source Windows divulgué illégalement ? La direction décide d'auditer l'intégralité du code et de geler temporairement les contributions. Alors forcément, le développement ralentit drastiquement.

Les versions 0.3.x s'étalent de 2006 à 2016. Le projet avance malgré tout avec la prise en charge des architectures x86_64 en 2008, l'intégration du pilote UniATA en 2009 pour gérer le SATA et les partitions supérieures à 8 Go, la compilation MSVC (Microsoft Visual C++) et la prise en charge des styles visuels en 2012. ReactOS 0.4.0 sort en février 2016 avec un shell graphique proche d'Explorer et surtout la possibilité de déboguer le noyau avec WinDbg. Ce dernier point accélère significativement le développement.

En début de cette année, les développeurs ont synchronisé leur implémentation du Microsoft C Runtime avec celle de Wine 10.0. Cette mise à jour a réduit d'environ 30% les défaillances lors des tests de compatibilité, en corrigeant 7 574 des 25 517 erreurs détectées. Ces travaux préparent ReactOS au passage vers Windows NT 6.0, l'architecture de Vista et des versions ultérieures. Windows NT 6.0 apporte des modèles de sécurité renforcés et une meilleure prise en charge du matériel. Le projet, qui ciblait jusque-là Windows Server 2003, pourra ainsi exécuter des applications plus récentes tout en conservant la compatibilité avec les anciens logiciels.

Aujourd'hui, le dépôt compte 88 198 commits répartis sur 301 contributeurs, 31 025 fichiers et près de 15 millions de lignes de code. Plusieurs chantiers majeurs se préparent en coulisses : nouveau pilote NTFS, nouveau pilote ATA, support multiprocesseur, boot UEFI classe 3, ASLR pour le noyau et l'espace utilisateur, et pilotes GPU modernes basés sur WDDM (Windows Display Driver Model). Le projet cherche toujours des soutiens financiers, des contributions au code ou simplement des testeurs pour remonter des bugs.

Source : ReactOS