ReactOS a été reconnu pour ses informations sur lesAPI Windows non publiées et plus généralement comme un projetopen source. L'objectif affiché du projet est de permettre aux utilisateurs d'applications sous Windows de renoncer complètement à l'utilisation de logiciels commerciaux propriétaires sans avoir à basculer vers un autre système d'exploitation, commeLinux. Cependant, le manque de bailleurs de fonds des entreprises et développeurs dédiés a limité ses efforts pour le réaliser.
Le nom ReactOS a été inventé lors d'une conversation IRC entre plusieurs membres du projet. Alors que le terme « OS » est synonyme de système d'exploitation, le terme « React » (réagir) représente l'insatisfaction envers le groupe Microsoft, leur position monopolistique et leurs réactions à cela[20].
En1996, un groupe de personnes forme un projet nomméFreeWin95, avec pour but de développer un système d'exploitation qui serait un clone deWindows 95. Le projet stagnait dans ses discussions à propos de la conception du système.
Fin1997, le projet ne donnait toujours aucun résultat. Les développeurs décidèrent de faire renaître le projet, qui fut renomméReactOS, et sa cible devintWindows NT. Le projet débute en, avec le développement du noyau et des pilotes de base.
Le projet avance ensuite significativement : en2008, la branche 0.3 permettait une compatibilité avec un nombre important d'applications développées pourMicrosoft Windows.
En2011, le projet est accepté au Google Summer of Code de 2011. Cela aura pour effet de stimuler l'avancement du projet.
Le, le développeurHartmut Birr déclara sur laliste de diffusion des développeurs de ReactOS que le système contenait du code d'éléments deMicrosoft Windowsdésassemblés[21] (décompilés). Les sources du système furent bloquées et il fut demandé aux contributeurs de faire unerétro-ingénierie propre. L'accusation suscita une réaction négative de la part de la communauté des logiciels libres. C'est pourquoi de à, unaudit interne fut effectué sur le code source pour le nettoyer[22].
Tous les développeurs durent montrer qu'ils faisaient une rétro-ingénierie légale[23]. Lorsque l'audit fut terminé, les résultats ne furent pas rendus publics : il s'agissait seulement d'un effort interne afin d'assurer un code source propre[24], et non d'une décision de justice.
Cette affaire conduisit un certain nombre de membres fondateurs à quitter le projet. Aujourd'hui le doute est levé et ReactOS continue son chemin vers la 1.0.
La fondation ReactOS cherche à engager de façon formelle autant de développeurs principaux que possible, afin qu'ils puissent investir tout leur temps sur le projet ReactOS. Pour cela, une collecte de fonds de 30 000 euros a été menée.
Le, après avoir entretenu le mystère pendant deux semaines, l'équipe de développement annonce ReactOS Community Edition. Il s'agit d'une volonté de remettre la communauté au centre du développement. Pour cela est lancée une campagne de collecte de fondsIndiegogo. Parmi les récompenses destinées aux donateurs figurait la possibilité de voter pour une application ou un matériel donné dont l'équipe de développement aurait alors comme objectif premier d'assurer le support des plus demandés. Les modifications apportées devaient être visibles dans la version 0.4.
Les développeurs de ReactOS ont notamment travaillé sur la prise en charge de l'USB (la mise en œuvreCromwell du noyau Linux (portage)), ainsi que l'amélioration de la gestion deDirectX etOpenGL.
Les développeurs ont également travaillé à l'amélioration de l'interface graphique. La prise en charge des plates-formesJava etMicrosoft .NET via la plate-forme de développementMono.
Le projet prévoyait de faire ressembler ReactOS à Windows Server 2003 jusqu'à la fin de 2015[26].
En, après la publication de la version 0.4.0, le site du projet mentionnait, à titre indicatif, que les ambitions pour la version 0.5.0 pouvaient se résumer aux objectifs suivants : pouvoir accéder en lecture et en écriture aux partitions NTFS ; le support despilotes WDM ; l'impression ; DirectX Core[27].
Lafoire aux questions du site de ReactOS explique que« ReactOS n'est pas un clone de Windows mais un OS de typeWindows NT compatible avec les applications et drivers Microsoft Windows. Les motivations peuvent être les mêmes que celles ayant amené à la création de Linux (OS detype Unix). En clair, Linux est un grand système d'exploitation, mais il n'est pas la solution idéale pour tout le monde. Nous sommes beaucoup à aimer Windows tout en étant frustrés de la politique de Microsoft à certains égards. »
Le site Internet du projet écrit que« la raison d'être de ReactOS est simple : il y a des gens, et c'est encore plus vrai pour des entreprises, qui ne passeront — jamais — à Linux, et ce quel que soit le niveau d'excellence que Linux pourra atteindre. Il y a des personnes qui utilisent encore le Kernel Linux 2.2 et refusent de le mettre à jour. Il y aura toujours des gens pour qui changer d'OS n'est pas une option, et c'est compréhensible. Jusqu'à maintenant, aucun programme libre n'avait d'intérêt pour eux. Évidemment, d'autres applications gratuites permettent de se débarrasser petit à petit de programmes Microsoft comme Office ou Internet Explorer, mais il est autrement difficile de se débarrasser de l'OS lui-même. C'est cette catégorie de gens qui est visée par ReactOS, car avec sa compatibilité et son apparence commune avec Windows, ce projet évite nombre des problèmes que l'on peut rencontrer en passant à Linux (entraîner tout le monde à maîtriser le nouvel OS, des coûts de maintenance qui augmentent, acquérir ou créer de nouveaux programmes, gérer des incompatibilités matérielles, la liste est longue…). »
Le noyau est maintenant assez stable, de nombreuses API sont prêtes pour un travail de niveau supérieur et une interface basique est disponible. ReactOS propose ReactOS Explorer, unshell basique pour ReactOS, similaire à l'Explorateur Windows. Le système est pour le moment mono-utilisateur mais les développeurs travaillent à le rendremulti-utilisateur.
À sa version 0.2.5, des copies d'écran du navigateurLynx surfant sur internet ont été dévoilées.
Une versionLive CD est disponible en téléchargement pour utiliser ce système sans l'installer. Les développeurs soulignent l'accroissement des téléchargements de ReactOS depuis la version 0.3.12.
Choix du formatage à l'installation de ReactOS 0.3.14
ReactOS gère les disques durSerial ATA depuis. Le système de fichier utilisé par défaut estFAT 32, cependant depuis la version 0.2.5 les systèmes de fichierExt2 etExt3 sont supportés et l'assistant d'installation propose ces options lors du formatage de la partition système. Les travaux pour supporter le formatNTFS en lecture/écriture sont en cours et son ajout est dans les prérequis pour passer à la version 0.5[28]. Le support de partitions de plus de 8 Go est disponible depuis la version 0.3.10. La version 0.4.10 va supporter les partitions en BTRFS.
Le support deGRUB et deNTLDR a été ajouté avec la version 0.2.5, et permet à ReactOS de coexister respectivement avec lespartitions deLinux et Windows.
Cependant, le chargeur de démarrage de Windows et celui de ReactOS ne sont pas interchangeables.
Le support du réseau fut introduit avec la version 0.2.5 de manière partielle. Avec la version 0.3.0 (en) celui-ci fut complété et la sécurité accrue. Depuis la version 0.3.14, ReactOS prend en charge leWi-Fi ainsi que le protocoleWEP et inclut une nouvelle pile réseau (lwIP), bien qu'aucune GUI ne soit disponible pour le Wi-Fi.
Le son est supporté depuis la version 0.2.5. Cependant, à l'heure actuelle, seulement les anciennescartes son au standardAC'97 ou antérieur fonctionneront. Les "High-Definition Audio" ne sont pas encore supportées.
Jusqu'au, le support de l'USB était sommaire : le pilote fourni était un pilote NT4 introduit avec la version 0.3.10 pour permettre l'utilisation de claviers et de souris USB mais qui ne permettait pas à ReactOS de démarrer depuis uneclé USB.
Grâce au soutien du projetHaiku, ReactOS dispose désormais d'un pilote qui, bien que toujours incomplet, est capable d'utiliser les périphériques de stockage USB, une fonctionnalité attendue depuis longtemps[29].
La communauté ReactOS essaye régulièrement la compatibilité de certains jeux avec le système d'exploitation au fur et à mesure du développement de ce dernier. Ces essais sont surtout effectués pour juger de la fluidité du jeu compatible plutôt que des possibles bogues étant donné le faible avancement au niveau despilotes de son et permettant l'accélération matérielle.
ReactOS travaille avec le projetWine, le projet ReactOS peut donc bénéficier des progrès de Wine dans l'implémentation de l'APIWin32. Ces travaux concernent principalement lesbibliothèques logicielles, dont la plupart peuvent être échangées entre ReactOS et Wine. Les deux projets travaillent sur la compatibilité croisée, de sorte que le peu de bibliothèques restantes puissent être employées dans ReactOS.
Le système d'exploitationHaiku est un soutien de ReactOS : ils ont soutenu la candidature ReactOS au Google Summer of Code 2011 et fourni au projet leur pilote USB, que les développeurs de ReactOS ont par la suite adapté.
SupportSATA initial, support USB clavier / souris, clone dePaint, InitialMSVC[30],[31].
0.3.11
Alpha
16/12/2009
Réécriture du kdcom,polices de caractères pour le chinois et le coréen, compatibilité mise à jour, système de sons amélioré.
0.3.12
Alpha
20/10/2010
Amélioration de la compatibilité matérielle (CPU), gestion des services améliorée, 259 bugs corrigés[32]. L'équipe ReactOS code maintenant le noyau en C et non en assembleur.
0.3.13
Alpha
22/03/2011
Correction de 282 bugs, notamment pour le support des cartes graphiques, l’allocation mémoire et la compatibilité avec Windows.
0.3.14
Alpha
07/02/2012
Amélioration de la compatibilité NT5.1 (notamment les pilotes), support hautement amélioré des réseaux TCP/IP. Support duWi-Fi (non chiffré etWEP), des thèmes Windows XP. Réécriture de shell32. ACPI activé par défaut. Correction de 789 bugs[33].
0.3.15
Alpha
30/05/2013
Support préliminaire des claviers, souris et supports de stockage USB. Support AHCI. Utilisation de CMAKE pour la compilation (au lieu de rbuild jusque-là).
0.3.16
Alpha
06/02/2014
Réécriture du CSRSS et un début de réécriture du shell32. La version 0.3.16 prépare plusieurs fonctionnalités qui seront ajoutées par la suite et qui apporteront des améliorations visible pour l'utilisateur final. Mise à jour du pilote de la carte réseau RTL8139, permettant d'utiliser ReactOS sur les dernières versions de QEMU et cela de manière « clefs en main » pour l'utilisateur.
0.3.17
Alpha
05/11/2014
Dernière version de la série 0.3.x. Prise en charge des applications 16 bits, correction de nombreux bugs et améliorations de la compatibilité avec les logiciels existants. La mise à jour suivante portera le numéro de version 0.4.0[34]. Actuellement, la communauté déclare essayer de faire compatible les applicationsWindows Server 2003 (Windows XP).
ReactOS Community Edition est annoncé. Mise à jour majeure de l'explorateur de fichiers, amélioration de l'interface graphique[36]. Support USB amélioré, support pourVirtualBox etVirtualPC, ajout du support en lecture/écriture pourext2, ajout du support en lecture pourNTFS, améliorations pour l'installation réseau et Wi-Fi, améliorations du support audio.
Ajout du support du système de fichiersBTRFS, améliorations des Activation Contexts (SxS), améliorations du Shell, corrections de bugs USB, support des Dossiers Partagés Virtual Machine, correction de bugs[38].
Amélioration de la prise en charge de BTRFS etExtended file system,ReiserFS et UFS/FFS, introduction de la prise en charge des Framework 2.0 et 4.0 support de la plateforme dot net, corrections de Shell et améliorations.
Version améliorée du gestionnaire d'applications RAPPS, implémentation de la barre « Quick-Launch » dans l'explorateur ; diverses corrections de bugs dans les pilotes de système de fichiers, améliorations du support RDBSS/RXCE et NFS. Ajout du support permettant que les images ISO de ReactOS flashées directement sur des clés USB puissent être bootées.
Capacité à compiler ReactOS depuis ReactOS ; amélioration de la stabilité liée aux entrées/sorties ; intégration native d'un utilitaire Zip, amélioration de l'interface graphique.
Travail sur le noyau et sur le système win32, contribuant à améliorer la stabilité globale du système. Pilotes pour la gestion de la batterie avec icône dans la barre des tâches. Le système d'installation USETUP permet désormais la mise à jour du système sans formater le disque[49].
Stabilité améliorée par un travail sur les pilotes systèmes de fichiers, gestion appropriée de l'alimentation des périphériques et meilleur rendu des polices.
Améliorations de la pile USB, du processus de démarrage du port Xbox, du fichiers Explorer pour le module Shell, ainsi que de nombreuses autres modifications.
Améliorations du shell, portage sur ordinateursNEC PC-9800, meilleur support du protocole ICMP, mises à jour du noyau, nouvelle interface réseau VirtIO et diverses autres modifications.
Améliorations du plug and play, corrections audio et gestion mémoire, améliorations des accessoires et outils système dont le bloc-notes et Paint, et diverses autres modifications.
0.5.0
Bêta
?
ReactOS passera au stade de développement bêta, supportera la lecture et l'écriture NTFS, les pilotes WDM, l'impression et le cœur de DirectX[54].