digplanet beta 1: Athena
Share digplanet:

Agriculture

Applied sciences

Arts

Belief

Business

Chronology

Culture

Education

Environment

Geography

Health

History

Humanities

Language

Law

Life

Mathematics

Nature

People

Politics

Science

Society

Technology

ReactOS
ReactOS logo.svg
ReactOS0314.png
ReactOS 0.3.14 Desktop
Company / developer ReactOS Foundation
Programmed in C, C++
OS family Windows NT-like
Working state Alpha
Source model Free and open source software
Latest unstable release 0.3.14 / February 7, 2012; 15 months ago (2012-02-07)
Marketing target Personal computing
Available language(s) Multi-lingual
Update method CD-ROM
Supported platforms IA-32, x86-64, ARM
Kernel type Hybrid (based on Windows NT)
Default user interface Graphical (ReactOS Explorer)
License GNU GPL, LGPL and BSD licenses
Official website www.reactos.org

ReactOS is an open source computer operating system intended to be binary compatible with application software and device drivers made for Microsoft Windows NT versions 5.x and up (Windows 2000 and its successors). A spin-off of a previous attempt to clone Windows 95, development started in early 1998, and has continued with the incremental addition of features already found in Windows.

ReactOS is primarily written in C, with some elements, such as ReactOS Explorer, written in C++. The project has been ported to the ARM and AMD64 processor architectures, and partially implements Windows API functionality. The latter is assisted by including parts from the Wine compatibility layer for Unix-like operating systems, but other functionality is implemented by the developers themselves. However, progress has been hampered by a lack of developers with the relevant skill-sets.

An extensive code audit is in place to protect against legal problems, such that implementation of the Windows API is only done by means of a complete clean room reverse engineering process. The audit was initiated following claims made in 2006 by a former developer[1] that the project contained disassembled assembly code from Windows. The allegations did not conclusively prove the existence of—and the audit has not found—any legally compromised code, and the claims have not resulted in any adverse legal consequences for the project.[2] Nevertheless, the audit has since been turned into an ongoing continuous effort as part of a generally cautious approach.

ReactOS has been noted for its information on undocumented Windows APIs and more generally as a potential open-source drop-in replacement for Windows. As stated on their website, "The main goal of the ReactOS project is to provide an operating system which is binary compatible with Windows ... such that people accustomed to the familiar user interface of Windows® would find using ReactOS straightforward. The ultimate goal of ReactOS is to allow you to remove Windows® and install ReactOS without the end user noticing the change."[3]

Contents

Etymology [edit]

The name ReactOS was coined by Jeff Knox. While the term "OS" stood for Operating System, the term "react" referred to the group's dissatisfaction with—and reaction to—Microsoft's monopolistic position.[4]

History [edit]

Early development: FreeWin95 to ReactOS [edit]

Around 1996, a group of free and open source software developers started a project called FreeWin95 to implement a clone of Windows 95. The project stalled in discussions of the design of the system.

While FreeWin95 had started out with high expectations, there still hadn't been any builds released to the public by the end of 1997. As a result, the project members, led by coordinator Jason Filby, joined together to revive the project. The revived project sought to duplicate the functionality of Windows NT. In creating the new project, a new name, ReactOS, was chosen. The project began development in February 1998 by creating the basis for a new NT kernel and basic drivers.[5]

Internal audit [edit]

A claim was made on January 17, 2006 by now former developer Hartmut Birr on the ReactOS Developers mailing list (ros-dev) that ReactOS contained code derived from disassembling Microsoft Windows.[1] The code that Birr disputed involved the function BadStack in syscall.S.[6] as well as other unspecified items.[7] Comparing this function to disassembled binaries from Windows XP, Birr argued that the BadStack function was simply copy-pasted from Windows XP, given that they were identical. Alex Ionescu, the author of the code, asserted that while the Windows XP binary in question was indeed disassembled and studied, the code was not merely copy-pasted, but reimplemented; the reason why the functions were identical, Ionescu claimed, was because there was only one possible way to implement the function.[8]

On January 27, 2006, the developers responsible for maintaining the ReactOS code repository disabled access after a meeting was held to discuss the allegations. However, when approached by NewsForge, Microsoft declined to comment about the incident. Since ReactOS is a free and open source software development project, the claim triggered a negative reaction by the free software community; in particular, Wine barred several now inactive developers from providing contributions and formal high level cooperation between the two projects still[when?] remains difficult.[9] Contributions from several active ReactOS developers, however, have been accepted post-audit, and low level cooperation for bug fixes still occurs.

In a statement on its website, ReactOS cited differing legal definitions of what constitutes clean-room reverse engineering as a cause for the conflict, as some countries, including the United States, require that reimplementation of disassembled code be written by someone other than the person having disassembled and examined the original code[citation needed], whereas other countries allow both tasks to be performed by the same individual. Consequently, ReactOS clarified that its Intellectual Property Policy Statement requirements on clean room reverse engineering conform to US law. An internal source code audit was conducted to ensure that only clean room reverse engineering was used, and all developers were made to sign an agreement committing them to comply with the project's policies on reverse engineering.[9] Contributors to its development were not affected by these events, and all access to the software development tools was restored shortly afterward. 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 compliance with the project's own policies.[10] Much of the assembly code that was allegedly copied has also been replaced as a natural progression in ReactOS development, with developers having reimplemented the functionality in C for portability reasons.

ReactOS was a featured project on SourceForge for the week beginning February 27, 2012, and April 25, 2013[11] along with several others.

Version history [edit]

Color Meaning
Red Release no longer supported
Green Current release
Blue Future release
Gray Skipped release
System Version Release Date Release Information
0.2.0 2004-01-25 first release with working GUI
0.2.1 2004-03-03 bug fixes only
0.2.2 2004-04-27
0.2.3 2004-06-26
0.2.4 2004-09-13
0.2.5 2005-01-02
0.2.6 2005-04-09
0.2.7 2005-08-21
0.2.8 2005-10-29 VMWare detection, CSRSS rewrite
0.2.9 2005-12-22 bug fixes only
0.3.0 2006-08-27 first version to officially support networking
0.3.1 2007-03-10 program manager included, start of kernel rewrite
0.3.2 skipped branch created but never released
0.3.3 2007-09-12 kernel and win32k improvements
0.3.4 2008-01-22 registry support rewrite, remote desktop client and Plug 'N' Play
0.3.5 2008-06-30 bug fixes only
0.3.6 2008-08-06 RTL support
0.3.7 2008-11-04 improved x86-64; MSVC, new stacks
0.3.8 2009-02-04 introduced PSEH and multipartition HDD support in LiveCD
0.3.9 2009-04-26 24MB minimum RAM, faster hyperspace mapping, initial sound support
0.3.10 2009-07-05 initial SATA support, USB keyboard/mouse support, Paint clone, initial MSVC.[12][13]
0.3.11 2009-12-16 kdcom rewrite; Chinese/Korean fonts; compatibility updates; sound system improvements
0.3.12 2010-10-20 trap handler rewrite; timer and message handling rewrite; NMI support; SxS support; partial EMS support[14]
0.3.13 2011-03-22 heap manager rewrite, improved SATA support, fixed graphics issues[15]
0.3.14 2012-02-07 ACPI enabled by default, WiFi support (unencrypted and WEP), theme support, new TCP/IP driver (LwIP), MSVC compatibility, Scatter/Gather DMA operations supported, shell32 rewrite[16]
0.3.15 TBA Partial USB 2.0 support (HID and storage), SATA 1,2,3 support improvements, first release with working AHCI[17]

Development [edit]

ReactOS is primarily written in C, with some elements, such as ReactOS Explorer and sound stack, written in C++. The project relies on MinGW for compilation, and contributes to its development through the submission of patches to its components.[18]

The developers aim to make the kernel more compatible with Windows NT version 5.2 (Windows Server 2003), the usermode APIs with Windows NT 6.1 (Windows 7),[19] and to add support for more applications and hardware. DirectX support is undertaken through ReactX, an in-house implementation. 2D hardware-accelerated rendering is done natively, while other drawing functionality is redirected to OpenGL as a stopgap solution.[20]

Development progress is influenced by the size of the development team and the level of experience amongst them. As an estimate of the effort required to implement the Windows API, there are 1000 or so developers who worked on Windows 7 alone, organized into 25 teams, with each team averaging 40 developers.[21] As of 2 September 2011 (2011-09-02), in the ReactOS entry in Ohloh, the page followed through the "Very large, active development team" link lists 33 developers who have contributed over a 12-month period and a cumulative total of 104 present and former users who have contributed code to the project via Subversion since its inception.[22] In his presentation at Hackmeeting 2009 in Milan, ReactOS developer Michele C. noted that most of the developers learn about Windows architecture while working on ReactOS and have no prior knowledge.[23]

Dependencies [edit]

ReactOS makes use of code from other projects where possible, so that developers can avoid duplicating readily available functionality and focus on binary compatibility with Windows.

Wine [edit]

A simplified architecture diagram of ReactOS, with Wine dependencies indicated with the Wine logo.

ReactOS uses portions of the Wine project so that it can benefit from Wine's progress in implementing the Win32 API.[24] Wine's NTDLL, USER32, KERNEL32, GDI32 and ADVAPI components cannot be used by ReactOS due to architectural differences, but the other parts of the code can be shared between both projects. Components that are not available from Wine, such as the kernel, are developed separately.[18][23]

Separately, the experimental Arwinss branch was created as an alternative means to improve USER32 and GDI32 support through an alternative implementation of the Win32 API. Whereas ReactOS's original Win32 subsystem was closely modeled after its equivalent in Windows, Arwinss combines the architecture of that subsystem with the corresponding implementation in Wine. To this end, Arwinss uses Wine's GDI32 and USER32 libraries with few changes to take fuller advantage of Wine's existing software compatibility. Arwinss also allows the user to optionally use a remote X server instead of a local display.[25]

Networking [edit]

As part of its participation in the Google Summer of Code held in 2011,[26] ReactOS mentored a student project which integrated lwIP into the network stack.[27] This replaced a previous implementation built from an import of the TCP portion of OSKit's port of the network stack in FreeBSD, along with an internally developed implementation for packet-oriented protocols like IP.[28]

USB [edit]

ReactOS makes use of the USB stack from Haiku both as a reference and as a foundation for its USB support. The data structures used to define USB requests and messages were adapted to help plug holes in ReactOS's own USB stack.[29]

Other [edit]

FreeType is used for the rendering of fonts in the GUI, while Mesa 3D provides OpenGL rendering.[18] Serial ATA drivers are provided by UniATA.[30] The project has also experimented with using the FullFAT library in its rewrite of its FAT Installable File System.[31]

Architecture support [edit]

ReactOS has been partially ported to the AMD64 and ARM architectures.[20] Support for the Xbox, a variant IA-32 architecture, was added through the use of an architecture-specific HAL,[23] although this, along with a port to PowerPC, are no longer actively maintained.[32]

Usability [edit]

At Chemnitz 2010, the ReactOS development team considered ReactOS 0.3.12 as alpha-stage software, not feature-complete and not suitable for everyday use.[32] The kernel is incomplete, and only a few Windows applications run without problems. At the same presentation however, the operating system was described as quite stable, with a very short installation and boot time.

Reception [edit]

ReactOS project coordinator Aleksey Bragin (left) shows ReactOS to Viktor Alksnis.
Dmitry Medvedev is given a demonstration of ReactOS.

Various people have acknowledged ReactOS and the implications of having a viable open-source drop-in replacement for Windows.

In his column for Free Software Magazine, David Sugar noted that ReactOS would allow the use of applications depending on older versions of Windows whose APIs have been deprecated. He also recognized its potential to expand the total deployed base of free software, and as a resource for developers wanting to know undocumented Windows APIs in the course of writing portable applications.[33] PC Magazine columnist John C. Dvorak remarked that the Windows NT architecture has remained largely the same to this day, making it an ideal candidate for cloning, and believes that ReactOS could be "a bigger threat than Linux to Microsoft's dominance".[34] Indeed, Aleksey Bragin has mentioned in a comment to German weekly magazine Der Spiegel that ReactOS is directed at Windows users who want to renounce use of proprietary commercial software without having to switch to Linux.[4]

However, ReactOS has been observed to have challenges. In response to Dvorak's column, ZDNet technology journalist Dana Blankenhorn has noted that a lack of corporate sponsors and partners has currently rendered the project harmless to Microsoft.[35][36] Echoing this, Thom Holwerda of OSNews categorized ReactOS under a family of hobby operating systems that are maintained only by small groups of developers working in their spare time, and lack the financial support of more mainstream operating systems as well as the legacy of formerly mainstream ones such as RISC OS.[37]

Demonstrations of the operating system have been given, mainly to Russian political figures. Viktor Alksnis has met with current project coordinator Aleksey Bragin, who gave a presentation and demonstration of the project, showing ReactOS running with Total Commander and Mozilla Firefox.[38] Dmitry Medvedev was also given a demonstration during a visit as President of Russia to a high school in Verhnerusskoe, Stavropol, attended by one of the development team members.[39]

On July 31, 2012 Vladimir Putin was also given a demonstration during his visit as President of Russia to Seliger Youth Forum, attended by Marat Karatov, one of the development team members.[40]

Related projects [edit]

See also [edit]

References [edit]

  1. ^ a b Birr, Hartmut (January 18, 2006). "Bye bye". ros-dev mailing list. http://marc.info/?l=ros-dev&m=118775346131642&w=2. Retrieved 2009-01-03.
  2. ^ Murphy, Ged. "ReactOS audit status". Ged Murphy. Retrieved 9 November 2012. 
  3. ^ "Frontpage". ReactOS Web-page. ReactOS Foundation. Retrieved 8 May 2012. 
  4. ^ a b Sixtus, Von Mario (2004-02-20). "ReactOS: Das Nicht-Windows" (in german). Spiegel Online. Retrieved 2009-12-11. 
  5. ^ Loschwitz, Martin (March 2004), "Projects on the Move", Linux Magazine: 87, retrieved 2009-11-18 
  6. ^ "BadStack in syscall.S". ReactOS. January 17, 2006. Retrieved 2009-11-16. 
  7. ^ Birr, Hartmut (January 18, 2006). "Bye bye". ros-dev mailing list. http://marc.info/?l=ros-dev&m=118775346131646&w=2. Retrieved 2009-11-16.
  8. ^ Ionescu, Alex (January 18, 2006). "Bye bye". ros-dev mailing list. http://marc.info/?l=ros-dev&m=118775346131654&w=2. Retrieved 2009-11-16.
  9. ^ a b Feller, Stephen (2006-02-01). "ReactOS suspends development for source code review". Linux.com. Retrieved 2009-12-10. 
  10. ^ Bragin, Aleksey (September 18, 2007). "Audit". ros-dev mailing list. http://marc.info/?l=ros-dev&m=119018479822866&w=2. Retrieved 2009-01-03.
  11. ^ "Featured projects, February 27, 2012". SourceForge. 2012-12-27. Retrieved 2012-12-20. 
  12. ^ "ReactOS 0.3.10". OS Revolution. Retrieved 2009-12-09. 
  13. ^ Holwerda, Thom (2009-07-06). "ReactOS 0.3.10 Released". OSNews. Retrieved 2009-12-09. 
  14. ^ Holwerda, Thom (2010-10-20). "ReactOS 0.3.12 Released". OSNews. Retrieved 2010-11-08. 
  15. ^ 0.3.13 - ReactOS 
  16. ^ 0.3.14 - ReactOS 
  17. ^ 0.3.15 - ReactOS 
  18. ^ a b c Ionescu, Alex (2006-02-26). The ReactOS Project – An Open Source OS Platform for Learning (Speech). University of Waterloo, Canada. http://mirror.csclub.uwaterloo.ca/csclub/alex-ionescu.pdf. Retrieved 2009-12-10.
  19. ^ "ReactOS Newsletter 54". Retrieved 2012-08-19. 
  20. ^ a b Holwerda, Thom (2009-01-17). "ReactOS: Looking Back Upon 2008". OS News. Retrieved 2009-12-10. 
  21. ^ Sinovsky, Steven (2008-08-18). "The Windows 7 Team". Engineering Windows 7, MSDN. Retrieved 2009-12-09. 
  22. ^ "ReactOS". Ohloh. Retrieved 2011-09-02. 
  23. ^ a b c C., Michele (19–21 June 2009). "ReactOS is (not) Windows". Hackmeeting 2009. Milan. Retrieved 2009-12-09. 
  24. ^ "Acknowledgements". Wine. Retrieved 2009-11-15. 
  25. ^ Holwerda, Thom (2010-01-18). "ReactOS Proposes Radical New Win32 Subsystem". OSNews. Retrieved 2010-01-18. 
  26. ^ "TCP/IP diriver replacement for ReactOS, using lwIP". Google. Retrieved 2011-08-09. 
  27. ^ Gutman, Cameron (2011-08-07). "ReactOS is now using lwIP for TCP". lwip-devel mailing list. http://lists.nongnu.org/archive/html/lwip-devel/2011-08/msg00010.html. Retrieved 2011-08-09.
  28. ^ "An interview with Art Yerkes, Network Developer for the ReactOS Project". Network Performance Daily. 2007-03-28. Retrieved 2010-02-22. 
  29. ^ "ReactOS gets USB Stack, with Help from Us". Haiku. 2012-02-20. Retrieved 2012-03-02. 
  30. ^ http://alter.org.ua/soft/win/uni_ata/ Universal ATA driver for Windows NT3.51/NT4/2000/XP/Vista/7/ReactOS With PATA/SATA/AHCI support
  31. ^ Walmsley, James (2009). "Features - Portability". Retrieved 2010-02-19. 
  32. ^ a b Kupfer, Matthias; Bragin, Aleksey (2010-03-14). "ReactOS - Das zu Windows binärkompatible Open-Source-Betriebssystem (German)[[Category:Articles with German language external links]]". Chemnitzer Linux-Tage. Chemnitz, Germany. Retrieved 2010-03-15.  Wikilink embedded in URL title (help)
  33. ^ Sugar, David (2006-01-31). "A reaction to ReactOS". Free Software Magazine. Retrieved 2009-12-11. 
  34. ^ Dvorak, John C. (2008-04-04). "What A New OS Needs". PC Magazine. Retrieved 2009-12-11. 
  35. ^ Blankenhorn, Dana (2008-05-13). "ReactOS no threat to Windows". ZDNet. Retrieved 2009-12-22. 
  36. ^ Blankenhorn, Dana (2008-05-13). "ReactOS needs a channel". ZDNet. Retrieved 2009-12-22. 
  37. ^ Holwerda, Thom (2009-12-20). "My OS Is Less Hobby Than Yours". OSNews. Retrieved 2009-12-22. 
  38. ^ Alksnis, Viktor (2007-06-06). "Виктор Имантович Алкснис – Знакомство с проектом ReactOS" (in russian). Retrieved 2009-12-11. 
  39. ^ "Russian President Medvedev asked to fund Windows clone". BBC News. 2011-09-13. Retrieved 2011-09-14. 
  40. ^ Z98 (2012-08-05). ReactOS Presented to President Putin "ReactOS Presented to President Putin". ReactOS News. Retrieved 2012-08-06. 

External links [edit]


Original courtesy of Wikipedia: http://en.wikipedia.org/wiki/ReactOS — Please support Wikipedia.
A portion of the proceeds from advertising on Digplanet goes to supporting Wikipedia.
3259 videos foundNext > 

Mum tries out ReactOS 0.3.14 (2012)

ReactOS is a free, open source windows clone. It is written in C and C++ completely from scratch and is not based on the Linux kernel or even UNIX. It's inte...

ReactOS 0.3.10 Preview!

Hi everyone, this is a video to show you how well is performing ReactOS 0.3.10, I've tested just a few programs, everything virtualized inside VirtualBox. Th...

ReactOS 0.3.13.....Blue Screen Sir ??

Here we have the latest release from the react os team, and as i have not looked at it for some time i thought lets.... now its not looking good at the momen...

Checking Out ReactOS

Just checking out the stuff in React Operating System. It's programs and interface is similar to Windows so it'll be easy to get use to. Skip to 2:30 for ins...

ReactOS 0.3.12 Review Install Tutorial for FOSS Windows Screencast Overview

Screencast Overview Review How-to Install Tutorial for the awesome FOSS Windows project ReactOS which just released version 0.3.12 which is still Alpha but a...

Revision de ReactOS

En este video mostramos un sistema operativo similar a Windows muy ligero de tan sólo 36 MB y que no requiere mucho hardware, y que es de código abierto. Des...

ReactOS Review

Today I am Demonstrating ReactOS. ReactOS is a Window XP clone and is attempting to be binary compatible with Windows Software Programs. Unfortunately it has...

Стивен Возняк и ReactOS на Инновационном Конвенте 2011

Напарник Стива Джобса -- Стивен Возняк приехал в Москву. Советовал, как дерзать российским учёным. То, что ему показали на выставке -- понравилось. http://ww...

ReactOS running a windows 7 msstyle

This is a "expermental" build of ReactOS that has some support for windows msstyles, here you can see the default dark theme that is included in this build, ...

ReactOS .3.13 First-Look Review Overview Open Source Windows demo

ReactOS 0.3.13 First-Look Review Overview Open Source Windows demo Original video production by http://www.OSGUI.org Tech Shows. Follow on Twitter = http://t...

3259 videos foundNext > 

1 news items

 
Heise Newsticker
Wed, 22 May 2013 05:59:43 -0700

... der Python Software Verband e. V., Qt, der Windows-Nachbau ReactOS, Skolelinux und XMBC. Im CMS Garden stellen Contenido, Django CMS, Drupal, Joomla, OpenCMS, Papaya, Plone, Scientific CMS, Typo3 und WordPress aus. (Stefan Krempl) / (odi) ...
Loading

Oops, we seem to be having trouble contacting Twitter

Talk About ReactOS

You can talk about ReactOS with people all over the world in our discussions.

Support Wikipedia

A portion of the proceeds from advertising on Digplanet goes to supporting Wikipedia. Please add your support for Wikipedia!