ReactOS ist der Versuch, Windows per Reverse Engineering komplett neu aufzustellen. Am Ende der Bemühungen steht ein uns allen bekanntes Betriebssystem ohne juristische Beschränkungen und ganz ohne den Software-Konzern aus Redmond. Anfang Dezember wurde ReactOS V. 0.4.7 veröffentlicht. Bis zur Fertigstellung der ersten einsatzfähigen Version (1.0) ist es also noch immer ein weiter Weg. Ich habe einen der deutschen Entwickler vor 9 Jahren zu diesem interessanten Projekt befragt.
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.
Ein weiterer Punkt sind die von dir schon angesprochenen undokumentierten Funktionen. Wer solche Funktionen implementiert oder Testprogramme schreibt, um deren Verhalten zu untersuchen, hilft gleich doppelt: Auf der einen Seite wird dabei ReactOS kompatibler zu Windows. Zum anderen wird aber auch häufig neues Wissen geschaffen, da diese Funktionen halt vorher undokumentiert waren. Dieses Wissen kann darüber hinaus auch von ganz anderen Personen zur Entwicklung von Windows-Software eingesetzt werden.
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
Lars Sobiraj: Gibt es ungefähre Schätzungen, wann ReactOS benutzbar sein wird? Oder anders gefragt: Wie viele Personen arbeiten derzeit an der Entwicklung?Colin Finck: Solche Schätzungen sind recht schwierig, da dies besonders von der Entwicklerzahl abhängt. Wir haben leider noch keine festen Sponsoren und sind somit ausschließlich auf freiwillige Entwickler angewiesen, welche jederzeit kommen und gehen können. Unser Ziel besteht daher unter anderem auch darin, dass durch die ständig verbesserten Releases mehr Entwickler angelockt werden und somit die Entwicklungszeit bis zu einer Version 1.0 weiter verkürzt wird.
Momentan sind wir um die 30 aktive Entwickler plus einige weitere, welche ab und zu Patches beisteuern. Weiterhin leisten Tester auch einen erheblichen Beitrag zur Entwicklung, da sie beim Aufspüren von Fehlern sehr behilflich sind. Wir freuen uns über jeden Neuzugang!
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.
Der Vergleich von ReactOS mit einer Windows-Version lässt sich momentan in zwei Bereiche unterteilen: Als Ziel für den Systemkern und die Treiber wurde momentan Windows Server 2003 SP1 definiert und daran wird sich in der nahen Zukunft wohl auch wenig ändern. Bei der Anwendungskompatiblität implementieren wir allerdings auch schon Schnittstellen von Windows Vista und Windows Server 2008. Dies liegt ganz einfach daran, dass diese Schnittstellen oft weitgehend dokumentiert und einfach zu testen sind und zudem eine Änderung auf diesem Gebiet nicht das ganze System betrifft.
Ein allgemeines Ziel für ReactOS 1.0 ist die Unterstützung der Anwendungen und Treiber, der bis dahin am weitesten verbreiteten Windows-Version.
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.Lars Sobiraj: Ihr habt aktuell in eurem Forum fast 19.000 Benutzer, macht sich das bei der Entwicklung bemerkbar? Kommt da viel Unterstützung vonseiten der Anwender?Colin Finck: Diese Zahl ist ein wenig irreführend, da auf unserer Website ein gemeinsames Login für alle Dienste benutzt wird. Alle rund 19.000 Benutzer, die einen solchen Zugang angelegt haben, benutzen nicht zwangsweise auch das Forum.
Auf der anderen Seite kann man aber schon sagen, dass einige der heutigen Entwickler ursprünglich aus dem Forum kommen. Speziell auch im Bereich der Grafiken und Designs sind in unserem Design-Forum oft viele Ideen und Helfer zu finden.
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.
ReactOS läuft auch auf älteren Rechnern
Lars Sobiraj: Wie viel RAM wird ReactOS maximal bearbeiten können, oder wie viel wird es minimal brauchen?Colin Finck: Hier sind wir, wie alle anderen Betriebssysteme auch, an die Limitierungen der Rechnerarchitektur gebunden.
Unter einem 32-Bit ReactOS lassen sich daher mit den normalen Speicheradressierungsmethoden maximal 4 GB RAM ansprechen (sofern das BIOS keinen dieser Speicherbereiche selbst belegt). Allerdings bieten alle modernen x86-Prozessoren auch die PAE-Funktion, welche unter einem 32-Bit System bis zu 64 GB RAM möglich macht. Microsoft bietet diese Unterstützung nur Käufern der teureren Windows Server-Versionen an, insofern könnte ein ReactOS mit PAE-Funktion hier einen Vorteil ausspielen.
Ein 64-Bit ReactOS ist da natürlich die Alternative und ein solcher Port ist bereits in Arbeit. Der nutzbare Speicher wird hier betriebssystemseitig auf 16 TB beschränkt sein, was erst mal für einige Jahre ausreichen sollte. Dies entspricht zwar nicht den vollen 64 Bit, doch hat dies seine Ursache in einer Beschränkung der ersten 64-Bit Prozessoren. Die Details hinter dieser Beschränkung hat unser ehemaliger Entwickler Alex Ionescu in einem Blogeintrag ausführlich erläutert.
ReactOS‘ RAM-Minimalanforderung konnten wir erst kürzlich wieder senken, sie liegt momentan bei ca. 32 MB.
Projekt hat Roadmap entfernt
Lars Sobiraj: Die Roadmap habt ihr entfernt, warum?Colin Finck: Die bis dato auf der Website verfügbare Roadmap entsprach nicht mehr dem tatsächlichen Entwicklungsprozess. Zum Beispiel fand bis jetzt noch keine eigene Entwicklung an dem SMB-Protokoll statt, welches als Element von ReactOS 0.4 aufgeführt war. Auf der anderen Seite arbeitet man bereits seit einiger Zeit an Win32k, eine neue Explorer-Shell ist ebenfalls in der Entwicklung. Diese beiden Punkte standen erst für ReactOS 0.5 auf der Liste.
In naher Zukunft will man die Roadmap durch eine neue ersetzen, die sich näher an der tatsächlichen Entwicklung orientiert.
Lars Sobiraj: Colin, viel Glück und vielen Dank für das ausführliche Gespräch! Das Original des Interviews wurde hier veröffentlicht. Anmerkung: ReactOS kann man kostenlos wahlweise als BootCD oder LiveCD von hier herunterladen, um es auszuprobieren.
Tarnkappe.info