name = ReactOS
caption = ReactOS 0.3.4 showing the
developer = ReactOS Foundation
latest_release_version = 0.3.6
latest_release_date = release date and age|2008|08|06
working_state = Alpha
Graphical User Interface
license = Various
website = [http://www.reactos.org/ www.reactos.org]
ReactOS is a computer
operating systemintended to be binary-compatible with application softwareand device drivers made for Microsoft Windows NTversions 5.x and up ( Windows 2000and its successors). It is composed entirely of free software, by means of a complete clean room reverse engineeringprocess.
Although the project is in the alpha
development stageas of 2008, many Windows programs already work well. While the ReactOS kernel has been written from scratch, the userland is based on the Wine compatibility layer for Unix-like operating systems.
ReactOS is primarily written in the C programming language, with some elements, such as ReactOS Explorer, written in
C++. Various components of ReactOS are licensed under the GNU General Public License, the GNU Lesser General Public Licenseand the BSD License.
FreeWin95 to ReactOS
Around 1996 a group of
free and open source softwaredevelopers started a project called "FreeWin95", to implement a clone of Windows 95. The project stalled in discussions of the design of the system.
At the end of 1997 the project had yet to release any software. The project members, led by coordinator Jason Filby, got together to revive the project. The project's target was changed to Windows NT and the project's name was changed to "ReactOS". The ReactOS project began in February 1998, started by developing the kernel and basic drivers.
Alpha version 0.2.0 of ReactOS, released in March 2004, is able to run many
Win32applications, including Notepad(a basic text editor), Regedit(the Registry editor), cmd.exe(the command-line interpreter), and several other applications (such as AbiWord) and some older games (such as Quakeand Quake II, and the Wine clone of Minesweeper).
Some games like
Unreal Tournamentand Deus Exare confirmed to work, using software rendering. OpenGLruns with some minor problems, using the nVidiadriver or the software implementation Mesa 3D. The first Web server ("Tiny Web Server") [ [http://www.ritlabs.com/tinyweb/ Tiny Web Server] ] and VNC client ( UltraVNC) are reported to work, and OpenOffice.orgversion 1.x works partly.
Version 0.2.2, released on
April 28 2004, has basic bugfixes and feature improvements
Version 0.2.5, released on
January 5 2005, has large improvements in networking and stability.
In version 0.2.8 some elements of
TCP/IPnetworking work, as well as a larger number of applications. Sound and USB support is still being worked on ( SB16works partially, and USB OHCIand UHCIwork is still being undertaken). The USB functionality is derived from the Cromwell project. Plug-and-playwork has also begun, as has the move to support the Windows Driver Model. In addition to the Lynx text-based browser, ReactOS can use DCOM components from Mozillato browse web pages graphically.
ReactOS 0.2.8 can also detect whether it is running in a
VMwareenvironment and can install the SVGA driver from the VMware Tools ISO to provide a better level of GUI performance. CSRSS has also been totally rewritten, and a "written-from-scratch" implementation of Winsock2 is scheduled to arrive very soon. Also present in the trunk are somewhat-working elements of ddraw, dplay, and dplayx.
ReactOS "0.3.0 Release Candidate 1" was released on
June 15 2006. It is also an alpha build. Improved network (TCP/IP) and Plug & Play support are the headline improvements of this version. Version "0.3.0 Release Candidate 2" was released when the audit reached 94%. It was deemed appropriate to release another candidate version at this time because so many bug fixes had been made during the audit.
ReactOS 0.3.1, released on
March 11 2007, was the first release after the start of a massive kernel rewrite, which made many parts more compatible to NT 5.2. This release also features the addition of a Registry library, which greatly improved the Registry support. An easy tool for downloading popular free and Shareware applications also debuted in this release.
The release of ReactOS 0.3.3 on
September 12 2007brought more improvements in the kernel, bringing many areas closer to NT 5.2. It also brought stability increase in many core modules, especially win32k.
Version 0.3.2 had been skipped due to many complex blockers, which could not be fixed in the scheduled time frame.
ReactOS 0.3.4, released on
January 22 2008, brought a rewrite of registry support, syncing of DLLs with the Wine project, improved plug'n'play support, improvements to user32, Win32k, many core user mode components, shell32, the Control Panel, and the addition of a remote desktop client. [ [http://www.reactos.org/en/news_page_40.html News #40 - ReactOS Website ] ]
Version 0.3.5 was released on
June 30 2008, contains fixes for many old bugs, some having been present since 0.3 or even earlier and some being regressions introduced in further releases due to rewrites of certain components. [ [http://www.reactos.org/en/news_page_44.html News #44 - ReactOS Website] ]
Version 0.3.6 was released on
August 6 2008, also contains bug fixes in the kernel and a RTL heap implementation. Note: Unlike stated in the news entry on the website this release does not contain the initial AMD64 support (currently being developed in a separate branch). [ [http://www.reactos.org/de/news_page_45.html news #45 - Reactos Website] ]
Version 0.4 is expected to have a 50% compatible Windows NT Kernel, SMB support, initial audio support, Winlogon, support for USB input devices, support for the 5 most common network cards, and networking improvement.cite web | title = Roadmap for ReactOS | url = http://www.reactos.org/en/about_roadmap.html | accessdate = 2008-04-14]
Version 0.5 will be marked as beta rather than alpha.
Current and future development
The ReactOS developers are currently working on support for USB. For this, the Cromwell version of the
Linuximplementation is being ported. Development is also taking place to add networking, multimedia, plug-and-playhardware support, and improving the GUIsystem. Java and .NET support (through Mono) has also been stubbed. After a multi-user environment is developed, Terminal Service and Remote desktop will be developed; for this xrdp, Virtual Network Computing(VNC), and rdesktopwill be used. Provisions for DOS, OS/2, and POSIXsubsystems have also been made, similarly to the Windows NTsubsystems. [ [http://www.reactos.org/en/news_page_38.html News #38 - ReactOS Website ] ]
The developers aim to make the kernel more compatible with Windows NT versions 5 and 6, and add support for more applications. Improved USB, networking, and other hardware support may also be available, while support for file sharing services with SMB and
NTFSfile system support may be added. Most of these changes are already underway, while more advanced features will take longer to develop.
Work is also being done to improve 3D gaming support and complete
OpenGLsupport, and progress is being made in developing ReactX, the project's open-source equivalent of DirectX. [ [http://www.reactos.org/en/newsletter_34.html#sec4 ReactOS Newsletter #34] ]
17 January 2006a (now former) developer named Hartmut Birr alleged on the ReactOS Developers mailing list(ros-dev) that ReactOS contained code derived from disassembling Microsoft Windows. [ [http://www.reactos.org/archives/public/ros-dev/2006-January/007389.html [ros-dev Bye bye ] ] As a result of the allegations, the project's developers decided to temporarily suspend access to files of the operating system for non-developers while the contributors were contacted to ensure clean reverse engineering. Since ReactOS is a free/open-source software development project, this action caused a negative reaction by the free software community. Contributors to its development were not affected by this action, and all access to the software development tools was restored shortly afterwards.
Consequently, from March 2006 through December 2007, an internally conducted source code
auditwas carried out to ensure that only clean room reverse engineeringwas used. [ [http://www.reactos.org/wiki/index.php/Audit Audit - ReactOS Wiki] ] All developers were also made to sign an agreement committing them to use only clean room reverse engineering. [ [http://www.reactos.org/en/news_page_14.html News #14 - ReactOS Website ] ] In September 2007, with the audit nearing completion, the audit status was removed from the ReactOS homepage. Though the audit was completed, specific details were not made public as it was only an internal effort to ensure legally produced code. [ [http://www.reactos.org/archives/public/ros-dev/2007-September/009801.html Archive from September 2007 of the ReactOS developer mailing list, ros-dev: Audit] ]
It has also been alleged by some that the most suspect files were missing from the list of files selected for the audit, [ [http://betov.free.fr/ReactOS.html The story] from
RosAsm's developer point of view.] which would make the audit unavailing. Concern has also been raised as to the exact licensing of some components such as the storage class drivers.
ReactOS works with the Wine project so that the ReactOS project can benefit from Wine's progress in implementing the Win32 API. These efforts mainly concern Wine's DLLs, most of which can be shared between ReactOS and Wine. Both projects work on cross-compatibility issues, so that the remaining few DLLs can be used in ReactOS.
The minimum hardware requirements for ReactOS to run are: [ [http://www.reactos.org/wiki/index.php/Installing_ReactOS Installing ReactOS - ReactOS ] ]
* 32MB RAM [Debug builds may require 72MB of RAM.]
* IDE harddisk (not SATA)
* FAT16/FAT32 primary boot partition [The boot partition must be the first and only partition on the disk.]
* VGA compatible video card (VESA BIOS version v2.0 and higher)
* Standard (PS/2) keyboard
* PS/2 compatible mouse or Microsoft Mouse compatible serial mouse
Furthermore, TCP/IP networking works with one of the following Ethernet cards:
* NE2000 clones (Such as Realtek 8139)
* AMD PCnet32 LANCE
* ADMtek AN983B
Other cards might also work with the appropriate driver. Please mind that at the moment ReactOS works with NIC drivers up to NDIS 5.0 (Windows 2000).
ReactOS developers are currently working on a number of ports of ReactOS:
* x86 (working)
Xbox(regressed, but will be revived later)
PowerPC(initial booting) [ [http://www.reactos.org/wiki/index.php/PowerPC PowerPC - ReactOS ] ]
* ARM (not working, in progress) [ [http://www.reactos.org/en/newsletter_37.html#sec4 #37 - ReactOS Website ] ]
As noted, ReactOS can also be run on software which emulates or virtualizes the above hardware, such as
VMware, VirtualBoxand QEMU(support for Microsoft Virtual PCis currently unavailable, but may be revived in the future).
Windows NT 4.0ran on MIPS, Alpha AXP, and PowerPC architectures in addition to the i386 architecture, and NT-derived operating systems such as Windows XPand Windows Server 2003have been ported to several architectures (i.e. AMD64, IA-32, and IA-64), ReactOS developers have also taken initial steps in view of portability. For example, support for a variant IA-32 architecture, the Xbox platform, was added to the 0.2.5 release, and efforts toward a ReactOS port on the PowerPC and the Xen architecture are also underway as of 2005. Also currently they are working on porting ReactOS for ARM platform with the hope for a pocketPC-type ReactOS which at this point can fit better than a full featured operating system.
HX DOS Extender
* [http://www.reactos.org/ Official website]
* [http://www.sky.franken.de/explorer/index.html ReactOS Explorer]
* [http://neosmart.net/blog/archives/220 Detailed review of ReactOS]
* [http://sourceforge.net/projects/reactos/ ReactOS project page] at
* [http://www.winehq.com/?interview=14 Interview with Steven Edwards of ReactOS and Wine] (WineHQ)
* [irc://irc.freenode.net/reactos #reactos] on freenode
Wikimedia Foundation. 2010.