ReactOS

Betriebssystem mit angestrebter Kompatibilität zu Microsoft Windows
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 19. August 2007 um 19:40 Uhr durch DasBee (Diskussion | Beiträge) (Revert auf Version von Benutzer:Djj (18. Aug. 2007, 19:59). Grund: Vandalismus.). Sie kann sich erheblich von der aktuellen Version unterscheiden.

ReactOS (kurz ROS bzw. R/OS) ist ein Softwareprojekt zur Entwicklung eines freien Betriebssystems gleichen Namens. Kennzeichnend ist das Ziel vollständiger Microsoft-Windows-Kompatibilität.

ReactOS
Entwickler Aleksey Bragin [1]
Lizenz(en) GPL
Akt. Version 0.3.3 RC (21. Juli 2007)
Abstammung \ FreeWin95 (DOS)
  \ ReactOS (NT)
Architektur(en) x86
Sonstiges Preis: kostenlos
Status: Alpha-Phase
Sprachen: Deutsch uvm.
www.reactos.org/de

Überblick

 
ReactOS auf Deutsch

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 zu den nicht öffentlich dokumentierten API-Aufrufen, die von vielen Programmen eingesetzt werden, sowie das Entfernen von Designschwächen des Windows-NT-Kernels, die in das Design von ReactOS übernommen wurden.

Geschichte

Das Projekt wurde 1996 als „FreeWin95“ ins Leben gerufen und sollte nur zu Windows-95-Anwendungen 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 es eine grafische Benutzeroberfläche, und die Presse wurde dadurch 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, am Einbau der USB- und dazugehörigen Plug-and-Play-Funktionalität wird gearbeitet. In allen drei Fällen werden die funktionierenden Linux-Äquivalente als Basis verwendet. 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-€-Spendekampagne 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).

Versionen der Vergangenheit und der Gegenwart

Legende: alt aktuell geplant
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.
0.2.6 10. April 2005 Neben OpenOffice.org 1.x erstmals auch namhafte Spiele (Deus Ex, Unreal Tournament) per Software Rendering startbar.
0.2.7 21. August 2005 Abgleich der Header-Datei-Struktur mit Windows und fast komplettierte 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.
0.3.0 28. August 2006 verbesserte Netzwerkunterstützung (TCP/IP), verbesserte Plug-and-Play-Unterstützung, uvm.
0.3.1 11. März 2007 sehr viele Fehlerbehebungen und Verbesserungen, Winlogon-Implementierung, besserer Bootmanager

Zukunft

Die nächsten zu erwartenden Veröffentlichungen / Daten

Version Veröffentlichung Anmerkungen
0.3.3 nicht sicher

siehe "Status"

Liegt derzeit als Release Candidate vom 21. Juli vor. Version 0.3.2 wurde übersprungen, da mehrere komplexe Probleme eine termingerechte Veröffentlichung verhinderten.
0.3.x unbekannt Benutzung von OpenOffice.org möglich, Einbindung des ext2fsd Treiber
0.4 Anfang 2008 letzte Versionsreihe mit „Alpha“-Status. SMB-Protokoll, vollständiges Winlogon, vollständige USB-Tastatur- und -Maus-Unterstützung
0.5 Anfang 2009 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 NTFS-Dateisystem- und WDM-Treiberunterstützung.
0.6 unbekannt Vollständige Audio- und USB-Unterstützung. Erste vollständige DirectX-Implementierung.
0.7 unbekannt Fehlerbehebungen, Verbesserung des Netzwerk-Systems. 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

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 zurzeit noch vergleichsweise schnell und kompakt. Trotz allem haben Leistungsoptimierungen in der momentanen Entwicklungsphase nur geringe Priorität.
  • Stabilität – Diese 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. Zurzeit ist ein Blue-Screen jedenfalls nichts Ungewöhnliches.
  • Bootzeit – Diese liegt 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 durchaus 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.


Status von 0.3.3

Die Veröffentlichung der finalen Version von 0.3.3, die eigentlich schon für Juli zugesagt wurde, wird sich laut dieser Information vom 13.8. [1] wohl noch um mehrere Wochen verzögern. Offenbar werden im Moment noch kleinere Schönheitsfehler beseitigt.

Der Plan

Spätestens bis zur Version 0.4 wird der Treiber ext2fsd für das ext2 und ext3 Dateisystem importiert. 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 der Version 0.5 beendet werden. Ab hier soll das Projekt in die Beta-Phase übergehen und somit erstmals als echter Ersatz als Betriebssystem geeignet sein. Die Ziele dieser Versionsreihe sind 70 % Kernelkompatibilität, Verbesserung der Usermode-Bibliotheken und des Explorer-Shells und Implementierung des LSA-Servers, 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 vielen bekannten Spielen bedeutend steigen. In der 0.7.x-Reihe kommt eine Unterstützung des NTFS-Dateisystems hinzu. Des Weiteren soll das Netzwerk-System von schwerwiegenderen 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.

Es ist u. a. anzunehmen, dass nach dem Abschluss der Beta-Phase vor allem an der Servertauglichkeit gearbeitet wird.

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 [2].

Einige verwendbare Anwendungsprogramme 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 zur Vermeidung möglicher Konflikte mit dem US-amerikanischen Urheberrecht die Weiterentwicklung am 26. Januar 2006 kurzzeitig gestoppt. Um sicherzustellen, dass die angewendeten Verfahren zur Erschließung undokumentierter Windows-Funktionalitäten (Reverse Engineering) mit dem amerikanischen Recht in Einklang stehen, wurde eine vollständige Durchsicht (Audit) des Quelltextes begonnen, die voraussichtlich 2007 beendet wird.[3] Das Audit schwankte zuletzt mehrere Monate lang um die 96,3-%-Marke. Der Grund dafür war, dass die Entwickler stattdessen beschlossen haben, den Code neu zu schreiben.[4] Seit der Version 0.3.1, welche viele von diesen nötigen Veränderungen mit sich brachte, steigt der Fortschritt des Audits wieder. Aktuell liegt dieser bei 99,4 % (Stand 08. August 2007).

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 hätte, jedoch die Rechtssicherheit maximiert hätte.[5]

Im Zuge dieser Entwicklung haben mehrere Mitarbeiter das Projekt verlassen, sodass mit weiteren Verzögerungen gerechnet werden muss.

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 alle juristischen Interessen von ReactOS vertreten werden sollen.

Ähnliche Projekte

  • E/OS – soll Windows, Mac OS, OS/2 und DOS emulieren.
  • FreeDOS
  • Wine – Kooperationspartner von ReactOS.
  • TinyKRNL – Einseitiger Codeaustausch aufgrund der Lizenzen

Einzelnachweise

  1. Meldung über Rücktritt des bisherigen Projektleiters
  2. http://www.reactos.org/wiki/index.php/ReactOS_installieren#ReactOS_Hardware_Anforderungen
  3. ReactOS-Audit-Statusseite
  4. FOSDEM Interview mit Aleksey Bragin
  5. ReactOS Newsletter 2. Februar 2006