ReactOS ist der Versuch, die älteren Windows-Versionen per Reverse Engineering komplett neu aufzustellen. Nur quelloffen und frei von MS.
ReactOS – das freie Betriebssystem im Interview
Wenn dieses Team mit ihrer Arbeit fertig ist, könnte das Ergebnis geradezu himmlisch ausfallen. Am Ende aller Bemühungen steht ein kostenloses, quelloffenes und vor allem freies Betriebssystem, was man schon kennt und mit den alten Versionen von Windows kompatibel sein soll. Die eigenen Treiber sollen so viel exotische Hardware wie möglich unterstützen. Aber gerade dabei dürften die meisten Probleme auftauchen, sobald ReactOS eines schönen Tages einsatzbereit sein wird. Ich traf den Entwickler Colin Finck erstmals auf der Brüsseler Open-Source-Konferenz Fosdem im Jahr 2009. Lars Sobiraj: Colin, vielleicht stellst du dich zu Beginn des Interviews einfach mal unseren Lesern vor. Colin Finck: Mein Name ist Colin Finck, ich bin 18 Jahre alt und wohne in Rheda-Wiedenbrück (Nordrhein-Westfalen). Zurzeit bin ich Schüler und meine Hobbys liegen insbesondere in den Bereichen Computer und Technik. 2005 bin ich das erste Mal mit dem ReactOS-Projekt in Kontakt gekommen und seit Ende 2006 beteilige ich mich aktiv an der Entwicklung. Anmerkung: Das Interview ist ursprünglich aus dem Jahr 2009. Mittlerweile hat Colin in Informatik seinen Master an der RWTH in Aachen abgeschlossen und arbeitet in den USA. Lars Sobiraj: Eine Herausforderung ist sicher das Erreichen der Kompatibilität, zumal viele API-Aufrufe nie öffentlich dokumentiert wurden. Oder was reizt dich persönlich an der Entwicklung? Colin Finck: An ReactOS mitzuwirken kann viele Gründe haben. Eine Besonderheit an dem Projekt ist seine Einzigartigkeit. Es ist nicht einfach noch eine weitere Linux-Distribution oder ein Unix-Derivat. Es existiert kein anderes aktives Projekt, welches sich sowohl Anwendungs- als auch Treiberkompatibilität zu Windows als Ziel gesetzt hat.Kompatibilität mit Windows als Herausforderung
Somit existiert für ReactOS auch der größte Pool an Programmen und Hardware-Treibern. Bei einem Umstieg von Windows auf ReactOS würde der typische Grund entfallen, dass diese Software für ein anderes Betriebssystem neu zusammengesucht werden muss oder gar nicht erst existiert. Auch ist es unser Anliegen, eine zu Windows vergleichbare Oberfläche zu schaffen, damit sich Windows-gewohnte Anwender sofort zurechtfinden. Durch die breite Verfügbarkeit an Windows-Programmen macht es auch häufig Spaß, aktuelle ReactOS-Versionen zu testen. Es ist oft recht erstaunlich, was unter ReactOS schon alles lauffähig ist oder sich mit wenigen Codeänderungen lauffähig machen lässt.
Major-Release noch dieses Jahr?
Lars Sobiraj: Wann und was kann man von Version 0.5 erwarten, die die erste Betaversion sein wird? Colin Finck: Diese Darstellung bezieht sich noch auf die alte Roadmap, welche Version 0.5 als erste Beta-Version gelistet hatte. Nach der aktuellen Planung kann allerdings auch schon eine 0.4.x-Version die Beta-Phase einleiten, sofern sie unsere Anforderungen an Stabilität und Kompatibilität (sowohl mit Hardware-Treibern als auch mit Anwendungsprogrammen) erfüllt. Unser aktueller Plan sieht vor, dass noch dieses Jahr Version 0.4 als großes Major-Release erscheint. Gegenüber den aktuellen Versionen wird es mit weit besserer Hardwareunterstützung (insbesondere in den Bereichen Massenspeicher, Netzwerk, Sound und USB) und einer erweiterten Oberfläche aufwarten. Dies sollte das Projekt attraktiver für viele Entwickler und Tester machen. Über die darauf folgenden Versionen lassen sich bisher nur grobe Vorhersagen treffen. Es wird in jedem Fall noch Arbeit an den verschiedenen Kompatibilitätsschichten anstehen, um auch speziellere Windows-Software zu unterstützen. Auch werden ReactOS noch einige Spezialfunktionen fehlen, um ein Windows wirklich vollständig zu ersetzen. Weiterhin wurde bereits die Entwicklung an Ports auf andere Prozessorarchitekturen (wie z. B. AMD64, ARM und PowerPC) begonnen, diese könnte besonders in dieser Entwicklungsphase große Fortschritte machen.Fertigstellung von ReactOS lässt sich nicht voraussagen

Alle Win-Treiber sollen kompatibel sein
Lars Sobiraj: Wird ReactOS einmal denselben komfortablen Funktionsumfang haben wie Windows? Welcher Version von Windows wird ReactOS am ehesten gleichen? Colin Finck: Ein Ziel von ReactOS ist das Erreichen von vollständiger Anwendungs- und Treiber-Kompatibilität mit Windows. Wie bereits gesagt, soll aber auch die Oberfläche mit Windows vergleichbar sein, damit sich Anwender unter ReactOS nicht umgewöhnen müssen.
Support von Multicore-PCs
Lars Sobiraj: Wird ReactOS Multicore-Computer unterstüzen ? Wird es eine Umsetzung von DirectX geben? Wie viel Hard- und Software wird auf eurem Betriebssystem lauffähig sein? Colin Finck: Es existiert bereits eine ältere ReactOS-Version, die mehrere Prozessoren bzw. Multicore-Prozessoren unterstützt. Allerdings wurde dieser Bereich im Laufe von gravierenden Umbauten am Systemkern erst mal außen vor gelassen. Da Multicore-Prozessoren aber heutzutage nicht mehr wegzudenken sind, wird es selbstverständlich in Zukunft auch eine ReactOS-Version geben, die mit Multicore-Prozessoren vernünftig umgehen kann. Eine Umsetzung von DirectX wurde bereits begonnen. Ab einer bestimmten Entwicklungsstufe könnte man dann auch die kostenlos verfügbare DirectX-Version von Microsoft unter ReactOS installieren. Allerdings haben wir in diesem Bereich bisher nur sehr wenige Entwickler. Als Zwischenlösung wurden daher erst mal die DirectX-Bibliotheken des WINE-Projektes importiert, welche DirectX-Aufrufe auf OpenGL umsetzen. Damit sind viele DirectX-Anwendungen schon mal lauffähig, sie nutzen nur noch nicht das gesamte Potenzial der Grafik-Hardware aus. Sobald alle entsprechenden Schnittstellen implementiert sind, sollte die ReactOS-Kompatibilität vergleichbar mit der von Windows XP oder einer neueren Version sein. Dies heißt natürlich auch, dass Software, welche ausschließlich für ältere Windows-Versionen geschrieben wurde und auch nicht unter Windows XP lauffähig ist, höchstwahrscheinlich nicht unter ReactOS funktionieren wird.
Bisher keine offizielle Reaktion von Microsoft
Lars Sobiraj: Das Betriebssystem ist unter der GNU GPL veröffentlicht. Es könnte also nach der Fertigstellung eine von Microsoft unabhängige und kostenfreie Alternative zu Windows darstellen. Hat der Gigant aus Redmond bisher darauf reagiert? Ist es eher Zufall oder Absicht, dass dieses OS primär in Russland entwickelt wird? Denn dort hin reicht keine Klage des Softwareriesen. Colin Finck: Zu einer offiziellen Stellungnahme von Microsoft bezüglich ReactOS ist es bisher nicht gekommen. Man kann allerdings auch nicht sagen, dass das Betriebssystem hauptsächlich in Russland entwickelt wird. Unser Projektkoordinator lebt in Russland und ein paar weitere Entwickler auch, aber das war es dann auch schon. Wie zum Beispiel unsere Personen-Karte zeigt, kommen sehr viele Entwickler aus Deutschland und anderen europäischen Ländern. Ein weiterer Großteil lebt auch in Nordamerika. Lars Sobiraj: Ich habe gehört, ihr dürft/sollt nicht zum Google Summer of Code? Was hat es damit auf sich? Colin Finck: Ja, wir durften bis jetzt erst einmal teilnehmen und wurden seit 2007 drei Mal in Folge nicht zugelassen. Eine offizielle Erklärung seitens Google gibt es dazu leider nicht. Anmerkung: Seit dem Jahr 2006 wurde den Entwicklern des Windows-Klons die Teilnahme bei diesem Event insgesamt vier Mal erlaubt.Zusammenarbeit mit WINE und Mingw-w64
Lars Sobiraj: Ich habe gehört, dass ReactOS nicht nur am WinNT-Kompatibilitäts-Project arbeitet, auch andere Projekte arbeiten mit euch zusammen. Welche sind das? Colin Finck: Wir benutzen einige Komponenten des WINE-Projektes und versuchen auch, so weit wie es geht, mit dem Projekt Code auszutauschen. In jüngster Zeit kooperieren wir auch mit dem Mingw-w64 Projekt, welches angepasste Versionen der frei verfügbaren GNU-Entwicklungswerkzeuge für Windows bereitstellt. Daneben verwenden wir natürlich noch kleinere Open-Source Bibliotheken für verschiedene Zwecke. Sei es beispielsweise um eine JPEG-Datei darzustellen. Falls wir hier Fehler finden oder Verbesserungen am Code vornehmen, versuchen wir selbstverständlich auch, diese den ursprünglichen Entwicklern zukommen zu lassen. Lars Sobiraj: Vor ein paar Jahren war das Auditing, in dessen Verlauf der Code von Aleksey Bragin (Projekt Coordiantor) nochmals überprüft wurde. Was war der Grund dafür und welche Ergebnisse wurden erzielt? Colin Finck: Ein Entwickler hatte damals rechtliche Bedenken über die verwendeten Reverse Engineering-Verfahren geäußert. Um die Legalität des gesamten Quellcodes sicherzustellen, wurde daraufhin nach einer Abstimmung aller aktiven Entwickler ein „Code Auditing“ durchgeführt, bei dem parallel zur ReactOS-Entwicklung der gesamte Code auf eventuelle rechtliche Probleme untersucht wurde. Das Ergebnis dieser Überprüfung war, dass wir keinen solchen Code gefunden haben. Vielmehr hatte dieser Prozess aber auch einen positiven Nebeneffekt: Durch die Untersuchung des gesamten Codes konnten Fehler in einigen älteren Codeteilen aufgespürt und behoben werden.