Das Ziel von ReactOS soll sein, dass Programme und Treiber, die für Windows NT und dessen Nachfolger entwickelt wurden, auch unter ReactOS verwendbar sind. Das freie Betriebssystem ist in großen Teilen unter der GNU GPL lizenziert. Einige Bestandteile stehen hingegen unter BSD- und LGPL-Lizenz. Das Projekt selbst betitelt ReactOS nicht als Windows-Nachbau, sondern als ein zu Windows binärkompatibles Betriebssystem.
Hinweis: Dieser Artikel erschien bereits in der Januar-Ausgabe 2012 von freiesMagazin.
Allgemeines
ReactOS wird anhand von öffentlichen Dokumentationen zu Windows geschrieben. Die Entwickler versuchen durch diese Dokumentationen zu verstehen, wie Windows funktioniert und arbeitet. Die gesamte Entwicklung geschieht durch Reverse Engineering, da die Systemfunktionen rekonstruiert werden. Problematisch für die Entwicklung des Systems ist, dass viele Applikationen Programmierschnittstellen aufrufen, die nicht öffentlich dokumentiert sind. Es fließt kein originaler Windows-Code hinein, sodass ReactOS völlig legal bleibt, da nur öffentliche Informationen zur Entwicklung genutzt werden. ReactOS basiert weder auf Unix noch auf Microsoft Windows. Die Kernbestandteile des Systems wurden von Grund auf neu geschrieben, da nichts von anderen Projekten wie Linux oder BSD übernommen werden konnte. Es werden jedoch die unabhängigen Bibliotheken des Wine-Projektes verwendet, da diese ohne größere Probleme genutzt werden können.
Geschichte
Die Geschichte von ReactOS beginnt im Jahr 1996. Damals wurde das Projekt unter dem Namen „FreeWin95“ ins Leben gerufen. Zu Projektbeginn wurde lange Zeit reichlich diskutiert, wie man das Projekt gestalten soll, bis es nach und nach zum Erliegen kam ohne etwas vorweisen zu können. Der Projektkoordinator Jason Filby rief im Jahr 1998 in der Mailingliste das Projekt erneut auf. Das Projekt wurde fortan unter dem Namen „ReactOS“ weitergeführt, so wie es heute noch heißt. Einige Jahre lang wurde der Kernel von einem engen Entwicklerkreis geschrieben, sodass die Entwicklung nur ziemlich langsam voran ging. Nachdem der Kernel stabiler wurde und die ersten Treiber eingeflossen waren, konnten dann mehr Personen in die Entwicklung einsteigen. Über die Jahre entwickelte das Team von ReactOS das System weiter. Die aktuelle Version ist eine Alpha-Version mit der Versionsbezeichnung 0.3.13, die im März 2011 veröffentlicht wurde.
Download und Installation
Die Webseite von ReactOS bietet vier verschiedene Endbenutzer-Pakete zum Herunterladen an. Neben einer normalen Installations-CD gibt es noch eine Live-CD und vorinstallierte virtuelle Maschinen für QEMU und VMWare. Die Größe der Installations-CD beträgt knapp 63 MB und liegt als 32-Bit-Variante vor. Die Installation von ReactOS ist sehr stark an den Installationsprozess von Windows XP angelehnt. Beim Start der Installation ist es zunächst möglich, die Sprache zu wählen, die das System verwenden soll. Darunter ist auch die deutsche Sprache. Im nächsten Schritt erscheinen einige Warnhinweise. Da ReactOS eine frühe Alpha-Version ist, ist auch der Installationsprozess mit einigen Einschränkungen verbunden. So kann das Setup nur eine primäre Partition auf der Festplatte verwalten, und es ist nicht möglich, eine primäre Partition von der Festplatte zu löschen. Ebenfalls kann das Setup die erste erweiterte Partition nicht löschen, bis weitere erweiterte Partitionen auf der Festplatte existieren. Weiterhin wird nur FAT als Dateisystem unterstützt. In der nächsten Stufe sind nochmals die aktuellen Geräteeinstellungen aufgelistet, darunter unter anderem die Bildschirmauflösung und das Tastaturlayout. In der darauf folgenden Phase kann man die Festplatte partitionieren. Da für diesen Artikel die Installation in einer VirtualBox-Instanz durchgeführt wurde, wurde nur eine Partition mit der Größe von 8 GB verwendet, welche mit dem FAT32-Dateisystem formatiert wird.
Nach der Partitionierung muss man das Installationsverzeichnis für ReactOS wählen. Als Vorschlag wird hier \ReactOS
aufgeführt, das in diesem Installationsprozess auch verwendet wird. Im nächsten Schritt wird die Installation ausgeführt, welche recht zügig vonstatten geht und innerhalb weniger Sekunden beendet ist. Danach gibt es ein Auswahlmenü, um den Boot-Loader auf die Festplatte oder auf eine Diskette zu installieren. Es ist auch möglich, den Boot-Loader nicht zu installieren. Nach diesem Schritt ist der Installationsprozess fertig und die Einrichtung des Systems kann nach einem Neustart fortgeführt werden.
Nach dem Neustart läuft zuerst der Setup-Assistent von ReactOS. Ab diesem Punkt ist eine graphische Oberfläche vorhanden. Zunächst bedankt sich ReactOS bei vielen Open-Source-Projekten, von denen teilweise Code verwendet wird. Darunter unter anderem Wine, FreeBSD und X. Auch die weiteren Schritte sind an die Windows-XP-Installation angelehnt. Nach der Angabe des eigenen Namens geht es mit dem Setzen des Computernamens und eines Administratorpassworts weiter. Im nächsten Abschnitt kann man nochmals die regionalen Einstellungen ändern. Darunter fällt nicht nur das Tastaturlayout, sondern auch die Darstellung von Zahlen, Währungen und des Datums. Nach dem Setzen der aktuellen Uhrzeit und des Datums wird die Installation fertig gestellt und nach einem weiteren Neustart wird das System erstmals richtig gestartet.
Der erste Start
Beim ersten Start des Systems zeigt sich nun auch der Desktop. Zunächst erscheint jedoch bei dieser Systeminstallation der Aufruf zur Installation der Treiber für die Audiogeräte. Die Treiber können wahlweise automatisch oder aus einem bestimmten Verzeichnis installiert werden. Vor der Installation wird jedoch auch ausdrücklich gewarnt, dass durch den Prozess der Rechner abstürzen kann oder auch das Starten des Systems dann nicht mehr ordnungsgemäß funktioniert. Die automatische Installation schlug im Test jedoch sowohl für die Audio-Treiber als auch für „System-Device“ fehl.
Während der Installationsprozess stark an Windows XP angelehnt ist, sieht der Desktop wiederum nach Windows 2000 aus. Auf der Arbeitsoberfläche liegen standardmäßig sechs Icons. Auf der Schnellstartleiste liegen zwei Icons. Mit dem einen kann man alle offenen Fenster minimieren und den Desktop darstellen lassen. Mit dem anderen kann der ReactOS-Explorer geöffnet werden. Daneben gibt es Schaltflächen, um zwischen zwei Desktops zu wechseln, wie man es unter Linux kennt.
Anwendungen
Die Anzahl der vorinstallierten Anwendungen ist sehr überschaubar. Neben einem Editor und einem Taschenrechner sind zudem noch Nachbauten von Paint und Wordpad installiert. Des Weiteren ist unter anderem ein Multimedia-Player und ein Audio-Recorder mit dabei. Neben einigen wenigen weiteren Programmen sind auch drei Spiele-Klone mit an Bord, darunter die Windows-Spiele-Klassiker „Spider Solitaire“ und „Minesweeper“ unter dem Namen „WineMine“. Das System wird standardmäßig mit einer Paketverwaltung mit dem Namen „ReactOS-Anwendungsmanager“ ausgeliefert, womit man einige Programme installieren kann. Die Anzahl der Programme ist jedoch sehr übersichtlich und besteht derzeit aus 76 Anwendungen. Die Anwendungen sind in verschiedene thematische Kategorien unterteilt. Viele Kategorien wie Video, Edutainment, Technische Anwendungen, Finanzen und Wissenschaft sind allerdings leer. Unter den Programmen finden sich durchaus bekannte Anwendungen, wie beispielsweise VLC Media Player, LibreOffice und Firefox. Jede dieser Anwendungen liegt in einer aktuellen Version vor. Der Versuch, LibreOffice zu installieren, schlug fehl. Es erschien lediglich kurzzeitig ein Fenster, welches sehr schnell wieder verschwand. OpenOffice.org in Version 3.3 ließ sich zwar problemlos installieren, stürzte jedoch beim Start des Programms mit einer Fehlermeldung ab. Die Installation und der Betrieb des Browsers Firefox funktionierte hingegen problemlos. Im Anwendungsmanager gibt es zwar eine Sektion, in dem die bereits installierten Anwendungen aufgelistet werden, die probeweise installierten Programme Firefox und OpenOffice.org wurden dort aber nicht aufgelistet.
In einem weiteren Test wurde ebenfalls über den ReactOS-Anwendungsmanager versucht, 7-Zip zu installieren. Diese Installation funktionierte und auch das Programm ließ sich normal starten. Diesmal gab es sogar einen Eintrag von 7-Zip in der entsprechenden Liste des Anwendungsmanagers. Danach wurde noch versucht, GIMP und Pidgin zu installieren, wobei beide Programme direkt von den Projekt-Webseiten heruntergeladen wurden. Auch hier funktionierte die Installation, der Start scheiterte hingegen erneut. Bei GIMP folgte eine Fehlermeldung, dass eine Bibliothek von GIMP fehlt und eine Neuinstallation das Problem möglicherweise beheben könnte. Die Meldung erschien dann noch weitere Male, sodass nur ein Neustart half, die Meldungen zu beenden.
Die Deinstallation von Programmen läuft ebenfalls über den Anwendungsmanager. Problematisch ist, dass dort nicht alle installierten Programme aufgelistet werden. Ein Entfernen von GIMP oder Pidgin war daher nicht möglich. Da nur 7-Zip unter den getesteten Programmen enthalten war, konnte auch nur dieses deinstalliert werden. Beim Versuch es zu entfernen, startete ReactOS plötzlich neu. Nach dem Start des Systems waren die Menüeinträge von 7-Zip entfernt, der Eintrag im Anwendungsmanager war hingegen noch vorhanden.
System
Das System ist momentan noch ziemlich schlicht gehalten, sowohl optisch als auch vom Funktionsumfang. Es startet in einer VirtualBox-Instanz innerhalb von wenigen Sekunden, was jedoch damit zu erklären ist, dass es nicht eine annähernd große Funktionalität mit sich bringt wie Windows oder eine aktuelle Linux-Distribution. Die Geschwindigkeit des Systems lässt sich auch nur relativ ausdrücken. Momentan funktioniert das meiste relativ flott, was – wie beim Systemstart auch – mit der fehlenden Funktionalität zusammenhängt, die bis zu einer möglichen finalen Version noch hinzukommt. Die Auslastung des Arbeitsspeichers ist verhältnismäßig gering und beträgt bei einem frisch installierten System knapp 60 MB. Es steigert sich während der Benutzung jedoch recht schnell auf etwa 100 MB. Auf der Festplatte werden anfangs 558 MB belegt. Wie bereits oben erwähnt, lässt sich ReactOS zur Zeit nur auf einer FAT32-Partition installieren. Der größte Nachteil, der dadurch entsteht ist, dass die Größe einer Datei 4 GB nicht überschreiten kann. Auf der Seite über die meist gestellten Fragen nennt das Projekt die Gründe, warum noch kein NTFS als Dateisystem unterstützt wird. Zum einen existieren zu NTFS keine Dokumentationen, dadurch ist es für die Entwickler sehr schwierig, ein einwandfrei funktionierendes Dateisystem zu programmieren. Zum anderen ist NTFS ein sehr komplexes Dateisystem. Bei diesem Punkt stellt sich daher auch die Frage, wie die NTFS-Unterstützung unter Linux funktioniert. In dem Fall wird unter Linux kein natives NTFS unterstützt, sondern es wird NTFS-3G verwendet, welches nur als Treiber für NTFS-Dateisysteme fungiert. Es setzt hierbei auf FUSE auf. FUSE ist ein Kernel-Modul, das es ermöglicht, das Einbinden von Dateisystem-Treibern vom Kernel-Mode in den User-Mode zu verlagern. ReactOS möchte im Gegensatz zu Linux oder anderen Systemen eine native NTFS-Unterstützung haben. Zur Zeit ist die Priorität für NTFS seitens der Entwickler eher gering, da andere Teile von ReactOS aktuell wichtiger sind. Beim Durchstöbern des Systems fällt schnell auf, dass einige Programme vorhanden sind, für die unter Windows keine Menüpunkte existieren. Dazu zählen zum Beispiel der Registry-Editor oder das Tool msconfig, um unter anderem Autostart-Programme zu deaktivieren. Weiterhin wird klar, dass Einiges zwar schon grafisch implementiert wurde, die wirkliche Funktion dahinter aber noch fehlt. So stößt man durchaus mal auf einen Button, der beim Klick nur ein Fenster öffnet, in dem man informiert wird, dass die Funktion noch nicht implementiert ist.
Mitmachen
Die Webseite von ReactOS bietet eine spezielle Seite für den Einstieg in die Entwicklung von ReactOS. Wie auch bei anderen Open-Source-Projekten ist das Mitmachen bei dem Projekt wichtig, damit die Entwicklung stets voran geht. Es werden neben Entwicklern auch Autoren für Dokumentationen und Server-Administratoren für die Infrastruktur benötigt. Bei neuen Entwicklern ist zu beachten, dass nur die Entwickler programmieren dürfen, die keinen Kontakt zu originalem Microsoft-Code haben, sofern es diesen Bereich betrifft, da hier eine Beeinflussung vorhanden sein könnte. ReactOS möchte so sicherstellen, dass der Quelltext des Projekts legal bleibt. Neben den bereits genannten Einsatzgebieten werden ebenfalls noch weitere Helfer für das Übersetzen und Designen von ReactOS benötigt. Spenden werden ebenfalls entgegen genommen.
Blick in die Zukunft
Die Zukunft von ReactOS sieht langfristig den Ausbau der aktuellen Alpha-Version in eine Beta-Version mit der Nummer 0.5 vor. Später soll dann das erste stabile Release mit der Versionsnummer 1.0 folgen. Wie lange dies noch dauert, lässt sich nicht abschätzen, da eine große Anzahl der Entwickler nicht kontinuierlich zum Projekt beiträgt. Aus diesen Gründen sei es schwierig, einen Zeitplan zu nennen, da dieser nicht einzuhalten wäre, so die Aussage des ReactOS-Teams auf der Wikiseite der Roadmap. Das Team versucht trotzdem, etwa jedes halbe Jahr eine weitere Alphaversion zu veröffentlichen. Der Entwicklungsplan von ReactOS ist momentan nur ziemlich spärlich vorhanden. Für die nächste Version 0.4.0 sind ein Plug-and-play-Manager und einige Netzwerk- und Serverapplikationen geplant, wie etwa ein DHCP- und ein Telnet-Server. Des Weiteren ist die volle Unterstützung von USB-Tastaturen und -Mäusen, Audio-Treibern und Windows 7 geplant. Außerdem soll es dann auch eine volle native Unterstützung des Dateisystems NTFS geben. Weiterhin ist noch die Unterstützung von Mehrkernprozessoren angedacht, da bisher lediglich ein Prozessorkern unterstützt wird. Zudem ist zur Zeit nur eine 32-Bit-Version von ReactOS verfügbar. Wann eine 64-Bit-Version erscheint, ist noch unklar. Im September 2011 wurde das Projekt dem damaligen russischen Präsidenten Dmitri Medwedew vorgestellt, als dieser eine Schule besuchte. Ein 17-jähriger Schüler erhielt dadurch die Möglichkeit, ReactOS dem russischen Präsidenten zu zeigen. Laut den Informationen des Schülers brauche das Projekt etwa eine Million Euro, um die Entwicklung innerhalb eines Jahres abschließen zu können. Medwedew fand das Projekt interessant, sagte jedoch nichts über eine finanzielle Unterstützung. So wurde zumindest das Projekt der Regierung eines Staates bekannt und machte deutlich, dass das Projekt durch einen großen Geldbetrag sehr gut gefördert werden kann, damit die Entwicklung zügig voran geht. Bis dahin kann die Entwicklung bis zur ersten stabilen Version durchaus noch einige Jahre in Anspruch nehmen.
Kritik
Es gibt einige Kritiker, die keinen Sinn in der Entwicklung von ReactOS sehen. Als Grund wird häufig angeführt, dass man die Entwicklungsarbeit lieber in andere Projekte, wie etwa Wine, stecken sollte, statt in ein binärkompatibles Windows. Zudem ist ReactOS mittlerweile ziemlich alt, da die Entwicklung schon vor einigen Jahren begann. Windows selbst hat sich seit dieser Zeit deutlich weiterentwickelt. Fakt ist, dass ReactOS kein Linux ist, und mit Linux an sich nichts zu tun hat. Daher wird es normale Linux-Nutzer auch kaum ansprechen. Der Vorteil, den ReactOS gegenüber Wine unter Linux hat, ist, dass ein fertiges ReactOS Windows-Treiber installieren kann. Das ist ein wichtiger Punkt, besonders für sehr alte Hardware, für die es weder lauffähige Treiber für aktuelle Windows-Versionen noch für Linux gibt. Für mich hat ReactOS den Vorteil, dass es als Windows-Ersatz auf alten Rechnern dienen kann, besonders für die Nutzer, die kein Linux verwenden möchten. Allerdings nur unter der Voraussetzung, dass in naher Zukunft eine stabile Version erscheint.
Fazit
Zum aktuellen Entwicklungsstand kann man kaum ein richtiges Fazit ziehen. Klar ist, dass es wirklich eine sehr frühe Alpha-Version ist und viele Systemkomponenten noch nicht bzw. nicht einwandfrei implementiert sind. Die Installation des Systems war der Punkt, der bei den Tests größtenteils problemlos funktionierte. Dies ist jedoch bislang noch mit Einschränkungen verbunden, da u. a. nur FAT32-Partitionen unterstützt werden. Besonders schlecht sieht es im Moment im Bereich der Anwendungen aus. Gängige Programme ließen sich zwar installieren, aber am Ende funktionierten nur Firefox und 7-Zip. Man darf gespannt sein, wie sich ReactOS weiter entwickeln wird. Bis zu einer Beta-Version fehlt neben der Funktionalität auch die Stabilität. Bis ReactOS ein fertiges und reifes Betriebssystem ist, kann durchaus noch viel Zeit vergehen, da bis zum jetzigen Zeitpunkt die Entwicklung eher mäßig voran geht. Beschleunigt werden kann dies möglicherweise nur durch größere Spenden.