ReactOS (kurz ROS bzw. R/OS) (von engl. react âreagierenâ, Operating System âBetriebssystemâ) ist ein Softwareprojekt zur Entwicklung eines freienBetriebssystems gleichen Namens. Kennzeichnend ist das Ziel vollstĂ€ndiger Microsoft-Windows-KompatibilitĂ€t.
ReactOS ist zum Kernel von Windows NT kompatibel, wodurch es möglich ist, Programme und Treiber fĂŒr Microsofts Windows NT und dessen Nachfolger Windows 2000, XP und Vista zu verwenden. Dazu wird an der Nachbildung der Programmierschnittstellen (API) Win32, Win16, OS/2, Java und DOS gearbeitet, was derzeit oberste PrioritĂ€t hat.
Das Betriebssystem ist unter der GNU GPL veröffentlicht. ReactOS könnte somit in Zukunft eine von Microsoft unabhÀngige und kostenfreie Alternative zu Windows darstellen.
Eine Herausforderung ist dabei das Erreichen der BinÀrkompatibilitÀt, einerseits da einige API-Aufrufe, die von vielen Programmen eingesetzt werden, nicht öffentlich dokumentiert sind, andererseits wegen der abweichenden Architektur von ReactOS.
Geschichte
Das Projekt wurde 1996 als âFreeWin95â ins Leben gerufen und sollte nur zu Windows-95-Programmen kompatibel sein. Nachdem es in einer lĂ€ngeren Spezifikationsphase hĂ€ngen geblieben war, belebte 1998 Jason Filby als Projektkoordinator das Projekt neu, das seither als ReactOS bekannt ist. Dabei wurde die KompatibilitĂ€t zu Windows NT als neues Projektziel festgelegt.
Lange Zeit war das ReactOS-Team mit der Entwicklung des Kernels beschĂ€ftigt, so dass kaum ein Erfolg sichtbar wurde. Mit dem Erscheinen von Version 0.2 bot ReactOS erstmals eine grafische BenutzeroberflĂ€che, dadurch wurde die Presse verstĂ€rkt auf ReactOS aufmerksam. Die UnterstĂŒtzung von Java-, OS/2- und DOS-Programmen wurde auf die Agenda gesetzt, bisher jedoch nicht weiter verfolgt. Eine Implementierung des TCP/IP-Netzwerkprotokolls ist dagegen schon benutzbar, sie basiert auf dem TCP/IP-Stack von FreeBSD. Am Einbau der USB- und dazugehörigen Plug-and-Play-FunktionalitĂ€t wird gearbeitet. Die derzeit 30 aktiven Entwickler tragen etwa tausend Ănderungen pro Monat bei, die von der Korrektur von Tippfehlern bis zu groĂen Funktionserweiterungen reichen.
Am 8. Januar 2007 wurde die erste 4000-âŹ-Spendenkampagne gestartet und am 11. Februar 2007 mit einer Summe von 4450 ⏠beendet. Das Geld wird hauptsĂ€chlich fĂŒr die Serverpflege und Steigerung des Bekanntheitsgrades von ReactOS verwendet. So erhoffen sich die Programmierer, durch ein steigendes öffentliches Interesse am Projekt neue Entwickler und Tester anzulocken.
Das Projekt prĂ€sentierte sich am 25. Februar 2007 erstmals beim jĂ€hrlichen Treffen europĂ€ischer Entwickler von freier und Open-Source-Software in BrĂŒssel (FOSDEM).
Versionshistorie
Version
Veröffentlichung
Anmerkungen
0.1.0
2. Februar 2003
Erste von CD installierbare Version, noch ohne grafische OberflĂ€che. Einige Kommandozeilenwerkzeuge sind verfĂŒgbar. Dateioperationen wie Kopieren und Löschen funktionieren nur unzuverlĂ€ssig.
0.2.0
25. Januar 2004
DebĂŒt der an Windows Explorer und Taskleiste angelehnten grafischen OberflĂ€che. Sehr instabil.
0.2.2
28. April 2004
Verbesserungen an der grafischen OberflÀche und deren StabilitÀt.
0.2.5
05. Januar 2005
Stabilerer Kernel und viele kleine Verbesserungen.
Abgleich der Header-Datei-Struktur mit Windows und fast vollstÀndige Lokalisierung. Meldet sich zwecks KompatibilitÀt zu neueren Programmen als Windows 2000 SP4, statt NT 4.
0.2.8
30. Oktober 2005
Wichtige, vorbereitende Schritte zu funktionierendem USB, der Installation von Programmen und Behebung einiger Darstellungsfehler der OberflÀche.
0.2.9
22. Dezember 2005
Verbesserte Hardwareerkennung und ACPI, stark verbesserte API-UnterstĂŒtzung.
sehr viele Fehlerbehebungen und Verbesserungen, Winlogon-Implementierung, besserer Bootmanager
0.3.3
12. September 2007
sehr viele Fehlerbehebungen, Win32-Kernel-Module z. T. neu geschrieben, umfangreiche Ănderungen am DirectX-System. Version 0.3.2 wurde ĂŒbersprungen, da mehrere komplexe Probleme eine termingerechte Veröffentlichung verhinderten.
0.3.4
22. Januar 2008
KompatibilitĂ€t mit NT 5.2 (Windows 2003) verbessert, Usermode-DLLs aus dem aktuellen Wine-Projekt synchronisiert, neuer Remote-Desktop-Client, OpenOffice.org lĂ€uft besser, fortschreitende Regionalisierung, neuer Plug-and-Play-Treiber fĂŒr Maus und Tastatur, wesentliche Fehlerbereinigungen, v. a. von Plug and Play und im Hinblick auf kĂŒnftige komplexe Anwendungen, Ăbersetzungen
0.3.5
30. Juni 2008
Bessere Integration der Usermode-DLLs bzw. des Win32-Subsystems, Unicode-Portierung aus dem ICU-Projekt, verschiedene Verbesserungen an Sicherheit, StabilitĂ€t und KompatibilitĂ€t (u. a. von Visual Studio-Kompilierungen)<ref>Newsletter Nr. 41 vom 15.5.2008</ref> sowie umfangreiche ErgĂ€nzungen in der Regionalisierung und in den Ăbersetzungen
Legende:
alt
aktuell
Zukunft
SpĂ€testens bis zur Version 0.4 soll der Treiber ext2fsd fĂŒr das ext2- und ext3-Dateisystem hinzugefĂŒgt werden. Die Ziele der 0.4-Reihe sind 50 % KernelkompatibilitĂ€t, Implementierung des SMB-Protokolls, des Winlogon- und des Usermode-Netzwerks und bessere HardwareunterstĂŒtzung (Netzwerk-, AudiogerĂ€te, USB-Tastatur und -Maus).
Die Alpha-Phase soll mit Version 0.5 beendet werden. Ab hier soll das Projekt in die Beta-Phase ĂŒbergehen und somit erstmals als echte Betriebssystemalternative geeignet sein. Die Ziele dieser Versionsreihe sind 70 % KernelkompatibilitĂ€t, Verbesserung der Usermode-Bibliotheken und des Explorer-Shells, Implementierung des LSA-Servers, des Drucker-Systems und eines Windows-2003-Server-kompatiblen Storage-Stacks.
Die Versionsreihe 0.6.x soll eine ausgereifte HardwareunterstĂŒtzung und eine Implementierung von DirectX bieten. Dabei soll die KompatibilitĂ€t zu bekannten Spielen bedeutend steigen. In der 0.7.x-Reihe kommt eine UnterstĂŒtzung des NTFS-Dateisystems hinzu, auĂerdem soll das Netzwerksystem von schwerwiegenden Fehlern befreit werden.
Bei den nachfolgenden Versionen soll vor allem mit dem Ziel am Kernel gearbeitet werden, die âBetaâ-Entwicklungsphase mit einer stabilen 1.0-Version abzuschlieĂen.
50% KernelkompatibilitĂ€t, letzte Versionsreihe mit âAlphaâ-Status. SMB-Protokoll, vollstĂ€ndiges Winlogon, USB-Tastatur- und -Maus-UnterstĂŒtzung, UnterstĂŒtzung der fĂŒnf meistgenutzten Netzwerkkarten, erste AudiounterstĂŒtzung
0.5
2009
70% KernelkompatibilitĂ€t, Druckersystem, erste Version mit âBetaâ-Status. Starke Verbesserung der Explorer-Shell. Microsoft Office sowie die Instant Messenger von MSN, AOL und Yahoo sollen laufen. VollstĂ€ndige WDM-TreiberunterstĂŒtzung.
0.6
unbekannt
VollstĂ€ndige Audio- und USB-UnterstĂŒtzung. Erste DirectX-Implementierung.
0.7
unbekannt
Fehlerbehebungen, Verbesserung des Netzwerk-Systems. UnterstĂŒtzung fĂŒr das NTFS-Dateisystem. Photoshop und Internet Explorer 6/7/8
0.8-0.9
unbekannt
zahlreiche Verbesserungen, Optimierungen und neue Features auf dem Weg zu 1.0 Gold
1.0 Gold
unbekannt
Ausgereifter, zu Windows kompatibler Kernel
Legende:
geplant
Status
Das Projekt befindet sich zurzeit noch in der Alpha-Phase, weshalb ReactOS fĂŒr den alltĂ€glichen Gebrauch kaum zu empfehlen ist.
Sicherheit: Die Herausforderung fĂŒr die Entwickler liegt darin, trotz angestrebter KompatibilitĂ€t keine SicherheitslĂŒcken des Vorbildes ânachzubauenâ.
Geschwindigkeit â Die Geschwindigkeit des fertigen Systems ist derzeit noch schwer abschĂ€tzbar. Durch die noch unvollstĂ€ndige Windows-FunktionalitĂ€t ist ReactOS zur Zeit noch vergleichsweise schnell und kompakt. Trotz allem haben Leistungsoptimierungen in der momentanen Entwicklungsphase nur geringe PrioritĂ€t.
StabilitĂ€t â Sie soll der von Windows nicht nachstehen. Dem frĂŒhen Alpha-Status des Projekts ist aber auch der Umstand geschuldet, dass die Entwickler ihren Fokus noch nicht auf solche Aspekte lenken. Die Anzahl der Blue-Screens konnte inzwischen deutlich verringert werden, es treten aber je nach BIOS-Version noch teils hĂ€ufige AbstĂŒrze auf (âeinfrierendesâ Bild).
Bootzeit â Momentan noch deutlich unter der eines frisch installierten Windows, was selbstverstĂ€ndlich auch noch am wesentlich geringeren Funktionsumfang liegt. Analoges gilt fĂŒr die Installationszeit, die auf vielen Systemen in der GröĂenordnung weniger Minuten liegt.
Testmöglichkeiten â Wer zum Testen von ReactOS eine Installation vermeiden möchte, findet eine bootbare Live-CD jeder Version vor. Versiertere Tester und Entwickler verwenden aber zumeist einen Emulator, der allerdings auch GeschwindigkeitseinbuĂen mit sich bringt. Hierzu stehen vorgefertigte Qemu- und VMware-Images zur VerfĂŒgung.
Hardware-Anforderungen
Die Hardware-Anforderungen von ReactOS erlauben die Nutzung auf Àlterer Hardware. So kommt es durchaus noch mit Prozessoren der 486er-Generation zurecht und benötigt nur 32 MB Festplattenplatz.<ref>reactos.org: Hardware-Anforderungen</ref>
Einige verwendbare Programme können jedoch höhere Anforderungen an die Hardware stellen.
Verwendungen
Das Projekt Captive verwendet Teile von ReactOS, um Schreibzugriff auf das proprietÀreDateisystemNTFS durch andere Betriebssysteme als Windows zu ermöglichen.
Rechtliche Fragen
Infolge einer projektinternen Diskussion wurde die Weiterentwicklung am 26. Januar 2006 kurzzeitig gestoppt. Um sicherzustellen, dass die bei der Entwicklung angewandten Verfahren zur Re-Implementierung undokumentierter Windows-Funktionen durch Reverse Engineering mit dem US-amerikanischen Urheberrecht in Einklang stehen, wurde eine vollstĂ€ndige Durchsicht des Quelltextes â ein so genanntes Code-Audit â begonnen, das erst im Dezember 2007 fertiggestellt wurde. Zu Beginn des Code-Audits wurde auf der Projekt-Webseite ein ZĂ€hler platziert, anhand dessen sich Interessierte ĂŒber dessen Fortgang des Code-Audits informieren konnten. Der ZĂ€hler zeigte an, wie viel Prozent des ReactOS-Codes bereits durchgearbeitet wurden. Das Audit schwankte vor Beendigung des Audits mehrere Monate lang um die 96-%-Marke. Der Grund dafĂŒr war, dass die Entwickler sich die komplexesten Aufgaben bis zuletzt aufgehoben hatten und sie bei fehlerhaftem Code fallweise sogar entschieden hatten, Teile des Codes vollkommen neu zu schreiben.<ref name="FOSDEM Interview">FOSDEM Interview mit Aleksey Bragin</ref>
Strittig war, ob und wie wĂ€hrend des Audits die Entwicklung des Betriebssystems weitergefĂŒhrt werden soll. Anfang Februar sprach sich eine deutliche Mehrheit fĂŒr ein Verfahren aus, bei welchem parallel zum Audit die Entwicklung am alten Code fortgefĂŒhrt wird. Nach diesem Plan wird erst die ĂŒbernĂ€chste Version 0.4 ausschlieĂlich ĂŒberprĂŒften Quelltext enthalten. Der von einer kleineren Entwicklergruppe favorisierte Plan sah demgegenĂŒber eine vollstĂ€ndige Sperrung des alten Codes und eine Löschung der ReactOS-Veröffentlichungen von den Download-Servern vor. Weiterentwicklung hĂ€tte nach diesem Plan ausschlieĂlich am bereits geprĂŒften Code erfolgen dĂŒrfen, was zu mehrmonatigen Verzögerungen gefĂŒhrt, jedoch die Rechtssicherheit maximiert hĂ€tte.<ref name= "ReactOS-Newsletter">ReactOS Newsletter Nr. 11 vom 2. Februar 2006</ref>
Im Zuge dieser Entwicklung haben mehrere Mitarbeiter das Projekt verlassen.
Zuvor waren im November 2004 erstmals rechtliche Konflikte mit einem den Quelltext plagiierenden Projekt aufgetreten. Daher wurde die Bildung eines âLegal Defense Fundâ geplant, mit dessen Hilfe die juristischen Interessen von ReactOS vertreten werden sollen.
Ăhnliche Projekte
E/OS â soll Windows, Mac OS, OS/2 und DOS emulieren.