- Reactos
-
ReactOS Bildschirmfoto
ReactOS auf DeutschBasisdaten Entwickler ReactOS-Team & Mitwirkende Version 0.3.9
(26. April 2009)Abstammung \ ReactOS (NT) Architekturen x86, PowerPC in Entwicklung Lizenz GPL Sonstiges Preis: kostenlos
Status: Alpha-Phase
Sprachen: Deutsch uvm.Website www.reactos.org ReactOS (kurz ROS bzw. R/OS) (von engl. react „reagieren“, Operating System „Betriebssystem“) ist ein Softwareprojekt zur Entwicklung eines freien Betriebssystems gleichen Namens. Kennzeichnend ist das Ziel vollständiger Microsoft-Windows-Kompatibilität.
Inhaltsverzeichnis
Überblick
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.
Das Betriebssystem ist unter der GNU GPL veröffentlicht. ReactOS könnte somit in Zukunft ein von Microsoft unabhängiges und kostenfreies Pendant zu Windows darstellen.
Ein Problem 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 4.000-€-Spendenkampagne gestartet und am 11. Februar 2007 mit einer Summe von 4.450 € 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
Legende: Alte Version Ältere Version; noch unterstützt Aktuelle Version Aktuelle Vorabversion Zukünftige Version Version Veröffentlichung Anmerkungen Ältere Version; nicht mehr unterstützt: 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. Ältere Version; nicht mehr unterstützt: 0.2.0 25. Januar 2004 Beginn der, an den Windows Explorer und die Taskleiste angelehnten, grafischen Oberfläche. Sehr instabil. Ältere Version; nicht mehr unterstützt: 0.2.2 28. April 2004 Verbesserungen an der grafischen Oberfläche und deren Stabilität. Ältere Version; nicht mehr unterstützt: 0.2.5 5. Januar 2005 Stabilerer Kernel und viele kleine Verbesserungen. Ältere Version; nicht mehr unterstützt: 0.2.6 10. April 2005 Neben OpenOffice.org 1.x erstmals auch namhafte Spiele (Deus Ex, Unreal Tournament) per Software Rendering startbar. Ältere Version; nicht mehr unterstützt: 0.2.7 21. August 2005 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. Ältere Version; nicht mehr unterstützt: 0.2.8 30. Oktober 2005 Wichtige, vorbereitende Schritte zu funktionierendem USB, der Installation von Programmen und Behebung einiger Darstellungsfehler der Oberfläche. Ältere Version; nicht mehr unterstützt: 0.2.9 22. Dezember 2005 Verbesserte Hardwareerkennung und ACPI, stark verbesserte API-Unterstützung. Ältere Version; nicht mehr unterstützt: 0.3.0 28. August 2006 Verbesserte Netzwerk- (TCP/IP) sowie verbesserte PnP-Unterstützung, uvm. Ältere Version; nicht mehr unterstützt: 0.3.1 10. März 2007 sehr viele Fehlerbehebungen und Verbesserungen, Winlogon-Implementierung, besserer Bootmanager Ältere Version; nicht mehr unterstützt: 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. Ältere Version; nicht mehr unterstützt: 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 PnP-Treiber für Maus und Tastatur, wesentliche Fehlerbereinigungen, v. a. von PnP und im Hinblick auf künftige komplexe Anwendungen, Übersetzungen Ältere Version; nicht mehr unterstützt: 0.3.5 30. Juni 2008 Bessere Integration der Usermode-DLLs und des Win32-Subsystems, Unicode-Portierung aus dem ICU-Projekt, verschiedene Verbesserungen an Sicherheit, Stabilität und Kompatibilität (u. a. von Visual Studio-Kompilierungen)[1] sowie umfangreiche Ergänzungen in der Regionalisierung und in den Übersetzungen Ältere Version; nicht mehr unterstützt: 0.3.6 6. August 2008 Unterstützung der ARM-Architektur, Beginn der x64-Unterstützung, Kernelverbesserungen (APC, Timer, Memory-Manager), verschiedene Verbesserungen am Win32-Subsystem, Synchronisierung der User-mode DLLs mit Wine sowie weitere Verbesserungen im Bereich Speicherverwaltung, Netzwerk und Internationalisierung.[2] Ältere Version; nicht mehr unterstützt: 0.3.7 4. November 2008 Fehlerbereinigungen, Kompatibilität und Stabilität. Darunter Kernelverbesserungen, Netzwerkstapelspeicher (Stack), Win32-Subsystem und x64-Prozessorarchitektur[3] Ältere Version; nicht mehr unterstützt: 0.3.8 4. Februar 2009 Fehlerbereinigung in Kernel Kerndiensten, Win32-Subsystem-Verbesserungen, Fehlerbehebung in Basis-Gerätetreibern, Synchronisation mit Wine, RTL-Verbesserungen und verschiedene kleinere Fehlerbehebungen und Erweiterungen in Systemanwendungen und Buildsystem[4] Vorabversion: 0.3.9 26. April 2009 Optimierungen von Speicherbedarf (32MByte), Netzwerkstapel und Geschwindigkeit, Sicherheitscheck für den Object Manager verbessert, Treiberkompatibilität erhöht, provisorische Soundunterstützung durch Kernel Streaming und Erweiterung der Kommandozeile, verschiedene Fehlerbereinigungen (v.a. GDI und Zeichen-Engine)[5] Anmerkung: einige Entwicklungsschritte werden regelmäßig mit jedem neuen Release durchgeführt, wie etwa allgemeine Fehlerbereinigungen, Synchronisierung der DLL-Bibliotheken des Wine-Projekts, Treiberaktualisierungen etc.
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.
Legende: Alte Version Ältere Version; noch unterstützt Aktuelle Version Aktuelle Vorabversion Zukünftige Version Version Veröffentlichung1 Anmerkungen (beruhen auf dem alten Entwicklungsplan) Zukünftige Version: 0.3.10 frühstens Juni 2009 unter anderem verbesserte Sound-Unterstützung, verbesserte Kompatibilität und evtl. Zusammenführung von Boot-CD (für Installation) und Live-CD (erste Setup-Stufe im grafischen Modus) Zukünftige Version: 0.4 unbekannt 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 Zukünftige Version: 0.5 unbekannt 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. Zukünftige Version: 0.6 unbekannt Vollständige Audio- und USB-Unterstützung. Erste DirectX-Implementierung. Zukünftige Version: 0.7 unbekannt Fehlerbehebungen, Verbesserung des Netzwerk-Systems. Unterstützung für das NTFS-Dateisystem. Photoshop und Internet Explorer 6/7/8 Zukünftige Version: 0.8–0.9 unbekannt zahlreiche Verbesserungen, Optimierungen und neue Features auf dem Weg zu 1.0 Gold Zukünftige Version: 1.0 Gold unbekannt Ausgereifter, zu Windows kompatibler Kernel 1 Derzeit wird der Entwicklungsplan (Roadmap) auf den Seiten des Projekts überarbeitet.[6] Die bisherigen Anmerkungen gelten bis zur Überarbeitung weiter. Ein Datum ist jedoch lediglich für die direkte Folgeversion 0.3.x verfügbar.
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 verwendetem Rechner noch teils häufige Abstürze auf (z.B. „einfrierendes“ Bild).
- Bootzeit und Installationszeit – Momentan noch deutlich unter der eines frisch installierten Windows, was auch noch am wesentlich geringeren Funktionsumfang liegt. Die Installation benötigt auf vielen Systemen nur wenige Minuten.
- 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. Der Speicherbedarf wurde zuletzt auf 32 MB gesenkt (durch Optimierungen).[7][5] Derzeit ist die Funktionsfähigkeit auf realer Hardware aufgrund des Alpha-Status noch stark eingeschränkt, grundsätzlich funktioniert ältere Hardware eher als neuere. Es werden derzeit nur IDE-Festplatten und praktisch keine USB-Geräte (insbesondere für Tastatur und Maus) unterstützt.
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äre Dateisystem NTFS 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 den 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 sich die Entwickler die komplexesten Aufgaben bis zuletzt aufgehoben hatten und bei fehlerhaftem Code fallweise sogar entschieden hatten, Teile des Codes vollkommen neu zu schreiben.[8]
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.[9]
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 – Eine Linux-Distribution, die sich zum Ziel gesetzt hatte, Programme von Microsoft Windows, Mac OS X, OS/2 und DOS zu unterstützen. Die Entwicklung wurde jedoch eingestellt.
- FreeDOS
- Haiku − Open-Source-Projekt mit dem Ziel, das eingestellte Betriebssystem BeOS nachzuprogrammieren
- TinyKRNL – Einseitiger Codeaustausch aufgrund der Lizenzen.
- Wine – Kooperationspartner von ReactOS.
Weblinks
Einzelnachweise
- ↑ Newsletter Nr. 41 vom 15.5.2008
- ↑ Newsletter Nr. 44 vom 6.8.2008
- ↑ Angaben des Newsletters vom 4. November 2008
- ↑ Angaben der News vom 4. Februar 2009
- ↑ a b Angaben der News vom 26. April 2009
- ↑ Eine neue Roadmap wird angekündigt, die bisherige Entwicklung geht unverändert weiter
- ↑ reactos.org: [1]
- ↑ FOSDEM Interview mit Aleksey Bragin
- ↑ ReactOS Newsletter Nr. 11 vom 2. Februar 2006
Wikimedia Foundation.