Jump to content

ReactOS: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Undid revision 605997767 by 195.174.125.21 (talk): theme support is important, name of theme is not
copyedit. squeezing the table to 70% of screen size looks awful on smaller (1024) screens. key/legend after table.
Line 27: Line 27:
'''ReactOS''' is an [[open-source]] computer [[operating system]] intended to be [[binary code compatibility|binary compatible]] with [[application software]] and [[device driver]]s 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 an [[open-source]] computer [[operating system]] intended to be [[binary code compatibility|binary compatible]] with [[application software]] and [[device driver]]s 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 (programming language)|C]], with some elements, such as ReactOS Explorer, written in [[C++]]. The project has been ported to the [[ARM architecture|ARM]] and [[AMD64]] processor architectures, and partially implements [[Architecture of Windows NT|Windows API]] functionality. The latter is assisted by including parts from the [[Wine (software)|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 relevant skill-sets.
ReactOS is primarily written in [[C (programming language)|C]], with some elements, such as ReactOS Explorer, written in [[C++]]. The project has been ported to the [[ARM architecture|ARM]] and [[AMD64]] processor architectures, and partially implements [[Architecture of Windows NT|Windows API]] functionality. The latter is assisted by including parts from the [[Wine (software)|Wine]] compatibility layer for [[Unix-like]] operating systems, but other functionality is implemented by the developers themselves. Progress has been hampered by a lack of developers with 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 design|clean room]] [[reverse engineering]] process. The audit was initiated following claims made in 2006 by a former developer that the project contained [[disassembler|disassembled]] [[Assembly language|assembly code]] from Windows.<ref name="byebye"/> 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.<ref>{{cite web|last=Murphy |first=Ged |title=ReactOS audit status |archiveurl=http://web.archive.org/web/20120118015307/http://www.reactos.org/serendipity/index.php?/archives/26-ReactOS-audit-status.html |url=http://www.reactos.org/serendipity/index.php?/archives/26-ReactOS-audit-status.html |archivedate=2012-01-18 |publisher=Ged Murphy |accessdate=2013-06-23}}</ref> Nevertheless, the audit has since been turned into an ongoing continuous effort as part of a generally cautious approach.
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 design|clean room]] [[reverse engineering]] process. The audit was initiated following claims made in 2006 by a former developer that the project contained [[disassembler|disassembled]] [[Assembly language|assembly code]] from Windows.<ref name="byebye"/> 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.<ref>{{cite web|last=Murphy |first=Ged |title=ReactOS audit status |archiveurl=http://web.archive.org/web/20120118015307/http://www.reactos.org/serendipity/index.php?/archives/26-ReactOS-audit-status.html |url=http://www.reactos.org/serendipity/index.php?/archives/26-ReactOS-audit-status.html |archivedate=2012-01-18 |publisher=Ged Murphy |accessdate=2013-06-23}}</ref> Nevertheless, the audit has since been turned into an ongoing continuous effort as part of a generally cautious approach.
Line 55: Line 55:
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 [[disassembler|disassembling]] Microsoft Windows.<ref name="byebye">{{cite mailing list|first=Hartmut |last=Birr |url=http://marc.info/?l=ros-dev&m=118775346131642&w=2 |title=Bye bye |date=January 18, 2006 |mailinglist=ros-dev |accessdate=2009-01-03}}</ref> The code that Birr disputed involved the function BadStack in syscall.S.<ref>{{cite web|url=http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ke/i386/syscall.S?revision=20935&view=markup&pathrev=20935#l_41 |title=BadStack in syscall.S |publisher=ReactOS |date=January 17, 2006 |accessdate=2009-11-16}}</ref> as well as other unspecified items.<ref>{{cite mailing list|first=Hartmut |last=Birr |url=http://marc.info/?l=ros-dev&m=118775346131646&w=2 |title=Bye bye |date=January 18, 2006 |mailinglist=ros-dev |accessdate=2009-11-16}}</ref> Comparing this function to disassembled binaries from [[Windows XP]], Birr argued that the BadStack function was simply [[copypaste|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.<ref>{{cite mailing list|first=Alex |last=Ionescu |url=http://marc.info/?l=ros-dev&m=118775346131654&w=2 |title=Bye bye |date=January 18, 2006 |mailinglist=ros-dev |accessdate=2009-11-16}}</ref>
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 [[disassembler|disassembling]] Microsoft Windows.<ref name="byebye">{{cite mailing list|first=Hartmut |last=Birr |url=http://marc.info/?l=ros-dev&m=118775346131642&w=2 |title=Bye bye |date=January 18, 2006 |mailinglist=ros-dev |accessdate=2009-01-03}}</ref> The code that Birr disputed involved the function BadStack in syscall.S.<ref>{{cite web|url=http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ke/i386/syscall.S?revision=20935&view=markup&pathrev=20935#l_41 |title=BadStack in syscall.S |publisher=ReactOS |date=January 17, 2006 |accessdate=2009-11-16}}</ref> as well as other unspecified items.<ref>{{cite mailing list|first=Hartmut |last=Birr |url=http://marc.info/?l=ros-dev&m=118775346131646&w=2 |title=Bye bye |date=January 18, 2006 |mailinglist=ros-dev |accessdate=2009-11-16}}</ref> Comparing this function to disassembled binaries from [[Windows XP]], Birr argued that the BadStack function was simply [[copypaste|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.<ref>{{cite mailing list|first=Alex |last=Ionescu |url=http://marc.info/?l=ros-dev&m=118775346131654&w=2 |title=Bye bye |date=January 18, 2006 |mailinglist=ros-dev |accessdate=2009-11-16}}</ref>


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<ref>{{cite web|url=http://www.winehq.org/interview/14|title=Interview with Steven Edwards|accessdate=2013-06-23 |first=Brian |last=Vincent |publisher=winehq.com |date=2004-05-25 |quote=''BV: You guys have certainly contributed a lot of your work back to Wine, including some of the utilities you've written. For instance, the task manager was recently ported from ReactOS.''}}</ref> and formal high level cooperation between the two projects still{{when|date=January 2013}} remains difficult.<ref name="suspend">{{cite web|url=http://www.linux.com/archive/feature/51800 |first=Stephen |last=Feller |title=ReactOS suspends development for source code review |publisher=[[Linux.com]] |date=2006-02-01 |accessdate=2009-12-10}}</ref> Contributions from several active ReactOS developers, however, have been accepted post-audit, and low level cooperation for bug fixes still occurs.
On January 27, 2006, the developers responsible for maintaining the ReactOS code repository disabled access after a meeting was held to discuss the allegations. 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<ref>{{cite web|url=http://www.winehq.org/interview/14|title=Interview with Steven Edwards|accessdate=2013-06-23 |first=Brian |last=Vincent |publisher=winehq.com |date=2004-05-25 |quote=''BV: You guys have certainly contributed a lot of your work back to Wine, including some of the utilities you've written. For instance, the task manager was recently ported from ReactOS.''}}</ref> and formal high level cooperation between the two projects still{{when|date=January 2013}} remains difficult.<ref name="suspend">{{cite web|url=http://www.linux.com/archive/feature/51800 |first=Stephen |last=Feller |title=ReactOS suspends development for source code review |publisher=[[Linux.com]] |date=2006-02-01 |accessdate=2009-12-10}}</ref> Contributions from several active ReactOS developers 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. Some countries, including the United States, require that a reimplementation based on disassembled code must be written by someone other than the person having disassembled and examined the original code,<ref name="cleanroom">{{cite web|url=http://www.computerworld.com/s/article/65532/Reverse_Engineering?pageNumber=1 |title=Reverse-Engineering|first=Mathew |last=Schwartz |date=2001-11-12 |accessdate=2013-06-23|publisher=computerworld.com |quote=''To protect against charges of having simply (and illegally) copied IBM's BIOS, Phoenix reverse-engineered it using what's called a "clean room," or "Chinese wall," approach. First, a team of engineers studied the IBM BIOS—about 8KB of code—and described everything it did as completely as possible without using or referencing any actual code. Then Phoenix brought in a second team of programmers who had no prior knowledge of the IBM BIOS and had never seen its code. Working only from the first team's functional specifications, the second team wrote a new BIOS that operated as specified.''}}</ref><ref>{{cite web|url=http://hoviblog.blogspot.de/2008/10/clean-room-defeats-software.html|date=2008-10-23 |accessdate=2013-05-23 |first=Sean |last=Hogle |title=Clean Room Defeats Software Infringement Claim in US Federal Court |quote=''[...] dirty room reverse engineering should be done in conjunction with clean room development by using two physically and electronically isolated teams where one team does dirty room reverse engineering and the other does clean room development. If a dirty room team exists, the clean room engineers can write a description of the portion of the specification that needs elaboration or clarification. The dirty room engineers then use that request to create additional functional specifications or tests.''}}</ref> 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.<ref name="suspend" /> 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.<ref name="audit">{{cite mailing list|first=Aleksey |last=Bragin |url=http://marc.info/?l=ros-dev&m=119018479822866&w=2 |title=Audit |mailinglist=ros-dev |date=September 18, 2007|accessdate=2009-01-03}}</ref> 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.
In a statement on its website, ReactOS cited differing legal definitions of what constitutes [[clean-room reverse engineering]] as a cause for the conflict. Some countries, including the United States, require that a reimplementation based on disassembled code must be written by someone other than the person having disassembled and examined the original code,<ref name="cleanroom">{{cite web|url=http://www.computerworld.com/s/article/65532/Reverse_Engineering?pageNumber=1 |title=Reverse-Engineering|first=Mathew |last=Schwartz |date=2001-11-12 |accessdate=2013-06-23|publisher=computerworld.com |quote=''To protect against charges of having simply (and illegally) copied IBM's BIOS, Phoenix reverse-engineered it using what's called a "clean room," or "Chinese wall," approach. First, a team of engineers studied the IBM BIOS—about 8KB of code—and described everything it did as completely as possible without using or referencing any actual code. Then Phoenix brought in a second team of programmers who had no prior knowledge of the IBM BIOS and had never seen its code. Working only from the first team's functional specifications, the second team wrote a new BIOS that operated as specified.''}}</ref><ref>{{cite web|url=http://hoviblog.blogspot.de/2008/10/clean-room-defeats-software.html|date=2008-10-23 |accessdate=2013-05-23 |first=Sean |last=Hogle |title=Clean Room Defeats Software Infringement Claim in US Federal Court |quote=''[...] dirty room reverse engineering should be done in conjunction with clean room development by using two physically and electronically isolated teams where one team does dirty room reverse engineering and the other does clean room development. If a dirty room team exists, the clean room engineers can write a description of the portion of the specification that needs elaboration or clarification. The dirty room engineers then use that request to create additional functional specifications or tests.''}}</ref> 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.<ref name="suspend" /> 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.<ref name="audit">{{cite mailing list|first=Aleksey |last=Bragin |url=http://marc.info/?l=ros-dev&m=119018479822866&w=2 |title=Audit |mailinglist=ros-dev |date=September 18, 2007|accessdate=2009-01-03}}</ref> 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.


===Demonstration to political figures===
===Demonstration to political figures===
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]] in 2007.<ref>{{cite web|url=http://v-alksnis2.livejournal.com/32900.html |title=Виктор Имантович Алкснис – Знакомство с проектом ReactOS |language=russian |first=Viktor |last=Alksnis |date=2007-06-06 |accessdate=2009-12-11}}</ref> [[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 in 2011.<ref name="medvedev">{{cite news|url=http://www.bbc.co.uk/news/technology-14899507 |title=Russian President Medvedev asked to fund Windows clone |agency=[[BBC News]] |date=2011-09-13 |accessdate=2011-09-14}}</ref>
Demonstrations of the operating system have been given, mainly to Russian political figures. [[Viktor Alksnis]] met with project coordinator Aleksey Bragin, who gave a presentation and demonstration of the project, showing ReactOS running with [[Total Commander]] and [[Mozilla Firefox]] in 2007.<ref>{{cite web|url=http://v-alksnis2.livejournal.com/32900.html |title=Виктор Имантович Алкснис – Знакомство с проектом ReactOS |language=russian |first=Viktor |last=Alksnis |date=2007-06-06 |accessdate=2009-12-11}}</ref> [[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 in 2011.<ref name="medvedev">{{cite news|url=http://www.bbc.co.uk/news/technology-14899507 |title=Russian President Medvedev asked to fund Windows clone |agency=[[BBC News]] |date=2011-09-13 |accessdate=2011-09-14}}</ref>


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.<ref>{{cite web |url=http://www.reactos.org/reactos-presented-president-putin ReactOS Presented to President Putin |title=ReactOS Presented to President Putin |author=Z98 |work=ReactOS News |date=2012-08-05 |accessdate=2013-06-23}}</ref>
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.<ref>{{cite web |url=http://www.reactos.org/reactos-presented-president-putin ReactOS Presented to President Putin |title=ReactOS Presented to President Putin |author=Z98 |work=ReactOS News |date=2012-08-05 |accessdate=2013-06-23}}</ref>
Line 71: Line 71:


=== Thorium Core Cloud Desktop project ===
=== Thorium Core Cloud Desktop project ===
When ReactOS was awarded as Project of the Month on [[Sourceforge]] on June 2013, an upcoming [[Kickstarter.com]] campaign was announced in an interview with the project's coordinator, Aleksey Bragin.<ref name="potm-201306">{{cite web |url=http://sourceforge.net/blog/potm-201306/ |title=Sourceforge POTM June 2013 |publisher=[[Sourceforge]] |date=2013-06-17 |accessdate=2013-06-17|quote=''Well I don’t want to spread too many rumors, but I can say that we do have something in the works. If all goes well, it’s going to be announced within a week. While I cannot go into too many details, I can say that it involves Kickstarter and what we believe to be a viable commercial product based off of ReactOS.''}}</ref>
When ReactOS was awarded as Project of the Month on [[Sourceforge]] on June 2013, a [[Kickstarter.com]] campaign was announced in an interview with the project's coordinator, Aleksey Bragin.<ref name="potm-201306">{{cite web |url=http://sourceforge.net/blog/potm-201306/ |title=Sourceforge POTM June 2013 |publisher=[[Sourceforge]] |date=2013-06-17 |accessdate=2013-06-17|quote=''Well I don’t want to spread too many rumors, but I can say that we do have something in the works. If all goes well, it’s going to be announced within a week. While I cannot go into too many details, I can say that it involves Kickstarter and what we believe to be a viable commercial product based off of ReactOS.''}}</ref>


On December 23, 2013 the announced project was revealed as a Kickstarter campaign with the goal of $120,000 was started. The ''Thorium Core Cloud Desktop'' dubbed [[Cloud computing]] service would use ReactOS as core and could allow the use of Windows compatible applications from [[mobile devices]] (like [[smartphone]]s, [[Tablet computer|tablet]]s), [[workstation]]s or any other connected device. However, on February 21, 2014, fundraising ended short of the target amount, with only $48,965 of $120,000 raised. <ref>{{cite web|url=http://www.kickstarter.com/projects/thorium/thorium-core-cloud-desktop |title=Thorium Core Cloud Desktop |authors=Aleksey Bragin/Steven Edwards |date=2013-12-23 |accessdate=2014-04-08 |publisher=[[Kickstarter.com]]}}</ref>
On December 23, 2013 the announced project was revealed as a Kickstarter campaign with the goal of $120,000 was started. The ''Thorium Core Cloud Desktop'' dubbed [[Cloud computing]] service would use ReactOS as core and could allow the use of Windows compatible applications from [[mobile devices]] (like [[smartphone]]s, [[Tablet computer|tablet]]s), [[workstation]]s or any other connected device. On February 21, 2014, fundraising ended short of the target amount, with only $48,965 of $120,000 raised. <ref>{{cite web|url=http://www.kickstarter.com/projects/thorium/thorium-core-cloud-desktop |title=Thorium Core Cloud Desktop |authors=Aleksey Bragin/Steven Edwards |date=2013-12-23 |accessdate=2014-04-08 |publisher=[[Kickstarter.com]]}}</ref>


=== ReactOS Community Edition ===
=== ReactOS Community Edition ===
Line 79: Line 79:


==Release history==
==Release history==
{| class="wikitable sortable" style="float:right; width:29%;"
{| class="wikitable sortable"
|-
! Color
! Meaning
|-
| style="background:salmon;"| Red
| Release no longer supported
|-
| style="background:#a0e75a;"| Green
| Current release
|-
| style="background:skyBlue;"| Blue
| Future release
|}

{| class="wikitable sortable" style="width:70%; float:left;"
|-
|-
! System Version !! Release Date !! Release Information
! System Version !! Release Date !! Release Information
Line 178: Line 163:
! 0.3.16
! 0.3.16
| style="background:#a0e75a;" | 2014-02-06 ||CSRSS rewrite; theme support; network card driver for the [[RTL8139]], allowing ReactOS to support newer versions of QEMU out of the box<ref>{{citation |url=http://www.reactos.org/node/772 |title=ReactOS 0.3.16 Released|publisher=Reactos.org|accessdate=2014-02-10}}</ref>
| style="background:#a0e75a;" | 2014-02-06 ||CSRSS rewrite; theme support; network card driver for the [[RTL8139]], allowing ReactOS to support newer versions of QEMU out of the box<ref>{{citation |url=http://www.reactos.org/node/772 |title=ReactOS 0.3.16 Released|publisher=Reactos.org|accessdate=2014-02-10}}</ref>
|}

Key:
{| class="wikitable sortable" style=""
|-
! Color
! Meaning
|-
| style="background:salmon;"| Red
| Release no longer supported
|-
| style="background:#a0e75a;"| Green
| Current release
|-
| style="background:skyBlue;"| Blue
| Future release
|}
|}
{{clear}}
{{clear}}
Line 209: Line 210:


==Usability==
==Usability==
At Chemnitz 2010, the ReactOS development team considered ReactOS 0.3.12 as [[Alpha version|alpha-stage]] software, not feature-complete and not suitable for everyday use.<ref name="chemnitz">{{cite conference|url=http://chemnitzer.linux-tage.de/2010/vortraege/detail.html?idx=424 |first1=Matthias |last1=Kupfer |first2=Aleksey |last2=Bragin |title=ReactOS - Das zu Windows binärkompatible Open-Source-Betriebssystem |language=german |conference=Chemnitzer Linux-Tage |conferenceurl=http://chemnitzer.linux-tage.de/2010/info/ |location=Chemnitz, Germany |date=2010-03-14 |accessdate=2010-03-15}}</ref> 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.
At Chemnitz 2010, the ReactOS development team considered ReactOS 0.3.12 as [[Alpha version|alpha-stage]] software, not feature-complete and not suitable for everyday use.<ref name="chemnitz">{{cite conference|url=http://chemnitzer.linux-tage.de/2010/vortraege/detail.html?idx=424 |first1=Matthias |last1=Kupfer |first2=Aleksey |last2=Bragin |title=ReactOS - Das zu Windows binärkompatible Open-Source-Betriebssystem |language=german |conference=Chemnitzer Linux-Tage |conferenceurl=http://chemnitzer.linux-tage.de/2010/info/ |location=Chemnitz, Germany |date=2010-03-14 |accessdate=2010-03-15}}</ref> The kernel is incomplete, and only a few Windows applications run without problems. At the same presentation, the operating system was described as quite stable, with a very short installation and boot time.


==Reception==
==Reception==
Line 216: Line 217:
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.<ref>{{cite web|url=http://www.freesoftwaremagazine.com/node/1474 |author=[http://www.freesoftwaremagazine.com/user/15 Sugar, David] |title=A reaction to ReactOS |publisher=[[Free Software Magazine]] |date=2006-01-31 |accessdate=2009-12-11}}</ref> [[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".<ref>{{cite web|url=http://www.pcmag.com/article2/0,2817,2290313,00.asp |first=John C. |last=Dvorak |title=What A New OS Needs |publisher=[[PC Magazine]] |date=2008-04-04 |accessdate=2009-12-11}}</ref> 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.<ref name="spiegel"/>
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.<ref>{{cite web|url=http://www.freesoftwaremagazine.com/node/1474 |author=[http://www.freesoftwaremagazine.com/user/15 Sugar, David] |title=A reaction to ReactOS |publisher=[[Free Software Magazine]] |date=2006-01-31 |accessdate=2009-12-11}}</ref> [[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".<ref>{{cite web|url=http://www.pcmag.com/article2/0,2817,2290313,00.asp |first=John C. |last=Dvorak |title=What A New OS Needs |publisher=[[PC Magazine]] |date=2008-04-04 |accessdate=2009-12-11}}</ref> 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.<ref name="spiegel"/>


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.<ref>{{cite web|url=http://blogs.zdnet.com/open-source/?p=2425 |author=[http://blogs.zdnet.com/bio.php#blankenhorn Blankenhorn, Dana] |title=ReactOS no threat to Windows |publisher=[[ZDNet]] |date=2008-05-13 |accessdate=2009-12-22}}</ref><ref>{{cite web|url=http://talkback.zdnet.com/5208-10535-0.html?forumID=1&threadID=47591&messageID=886507 |author=[http://blogs.zdnet.com/bio.php#blankenhorn Blankenhorn, Dana] |title=ReactOS needs a channel |publisher=[[ZDNet]] |date=2008-05-13 |accessdate=2009-12-22}}</ref> 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]].<ref>{{cite web|url=http://www.osnews.com/story/22638/My_OS_Is_Less_Hobby_than_Yours |first=Thom |last=Holwerda |title=My OS Is Less Hobby Than Yours |publisher=OSNews |date=2009-12-20 |accessdate=2009-12-22}}</ref>
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 rendered the project harmless to Microsoft.<ref>{{cite web|url=http://blogs.zdnet.com/open-source/?p=2425 |author=[http://blogs.zdnet.com/bio.php#blankenhorn Blankenhorn, Dana] |title=ReactOS no threat to Windows |publisher=[[ZDNet]] |date=2008-05-13 |accessdate=2009-12-22}}</ref><ref>{{cite web|url=http://talkback.zdnet.com/5208-10535-0.html?forumID=1&threadID=47591&messageID=886507 |author=[http://blogs.zdnet.com/bio.php#blankenhorn Blankenhorn, Dana] |title=ReactOS needs a channel |publisher=[[ZDNet]] |date=2008-05-13 |accessdate=2009-12-22}}</ref> 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]].<ref>{{cite web|url=http://www.osnews.com/story/22638/My_OS_Is_Less_Hobby_than_Yours |first=Thom |last=Holwerda |title=My OS Is Less Hobby Than Yours |publisher=OSNews |date=2009-12-20 |accessdate=2009-12-22}}</ref>


===Awards===
===Awards===

Revision as of 22:42, 27 April 2014

ReactOS
ReactOS 0.3.15 Desktop
DeveloperReactOS Foundation
Written inC, C++
OS familyWindows NT-like
Working stateAlpha
Source modelFree and open source software
Latest preview0.3.16 / February 6, 2014; 10 years ago (2014-02-06)
Repository
Marketing targetPersonal computing
Available inMultilingual
Update methodCD-ROM
PlatformsIA-32, x86-64, ARM
Kernel typeHybrid (designed to be compatible with Windows NT and beyond)
Default
user interface
Graphical (ReactOS Explorer)
LicenseGNU GPL, LGPL and BSD licenses
Official websitewww.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. Progress has been hampered by a lack of developers with 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 that the project contained disassembled assembly code from Windows.[1] 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 the official 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]

History

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

Early development: FreeWin95 to ReactOS

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 had not 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.[4] 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.[5]

Internal audit

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. 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[9] and formal high level cooperation between the two projects still[when?] remains difficult.[10] Contributions from several active ReactOS developers 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. Some countries, including the United States, require that a reimplementation based on disassembled code must be written by someone other than the person having disassembled and examined the original code,[11][12] 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.[10] 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.[13] 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.

Demonstration to political figures

Demonstrations of the operating system have been given, mainly to Russian political figures. Viktor Alksnis met with project coordinator Aleksey Bragin, who gave a presentation and demonstration of the project, showing ReactOS running with Total Commander and Mozilla Firefox in 2007.[14] 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 in 2011.[15]

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

Summer of Code participations

Starting in 2006[17] the ReactOS project participated in several Google Summer of Codes. For example, in the GSOC 2011[18] ReactOS mentored a student project which integrated lwIP into the network stack.[19]

Funding campaigns

On May 1, 2012 a 30,000 Euro funding campaign was started to finance additional development projects.[20] On the end of the year approximately 50% of the funding goal was achieved and it was decided to continue the funding campaign without deadlines.[21] The money went to ReactOS Deutschland e. V.. As the tax law in Germany for this form of a registered voluntary association (Eingetragener Verein) makes it problematic to pay developers directly,[22] indirect possibilities like Stipends were evaluated.

Thorium Core Cloud Desktop project

When ReactOS was awarded as Project of the Month on Sourceforge on June 2013, a Kickstarter.com campaign was announced in an interview with the project's coordinator, Aleksey Bragin.[23]

On December 23, 2013 the announced project was revealed as a Kickstarter campaign with the goal of $120,000 was started. The Thorium Core Cloud Desktop dubbed Cloud computing service would use ReactOS as core and could allow the use of Windows compatible applications from mobile devices (like smartphones, tablets), workstations or any other connected device. On February 21, 2014, fundraising ended short of the target amount, with only $48,965 of $120,000 raised. [24]

ReactOS Community Edition

In April 2014, the ReactOS project announced an Indiegogo campaign to launch ReactOS Community Edition, a version of ReactOS based on the upcoming 0.4 release. Development of ReactOS Community Edition would be community-centric, with ReactOS users voting and funding to decide which software and hardware drivers the project will aim to support. [25]

Release history

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.[26][27]
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[28]
0.3.13 2011-03-22 heap manager rewrite, improved SATA support, fixed graphics issues[29]
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[30]
0.3.15 2013-05-30 USB support for mice, keyboard, and storage devices; rewritten session management; AHCI support with updated UniATA driver; alternate ReactOS Memory Management Module has taken over all memory management responsibilities except for sections; preliminary support for debugging ReactOS components using windbg; improvements based on results from the AutoHotKey application functionality test suite; Bugfixes based on running Driver Verifier on several bundled drivers[31]
0.3.16 2014-02-06 CSRSS rewrite; theme support; network card driver for the RTL8139, allowing ReactOS to support newer versions of QEMU out of the box[32]

Key:

Color Meaning
Red Release no longer supported
Green Current release
Blue Future release

Development

ReactOS is primarily written in C, with some elements, such as ReactOS Explorer and the sound stack, written in C++. The project compiles using both MinGW and Microsoft Visual Studio, and contributes to the development of the build systems used through the submission of patches to its components.[33]

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.2 (Windows 8),[34] 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.[35]

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.[36] As of 2 September 2011, 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.[37] 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.[38]

Dependencies

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

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.[39] 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.[33][38]

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

Networking

As part of its participation in the Google Summer of Code held in 2011,[18] ReactOS mentored a student project which integrated lwIP into the network stack.[19] 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.[41]

USB

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

Other

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

Architecture support

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

Usability

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.[45] The kernel is incomplete, and only a few Windows applications run without problems. At the same presentation, the operating system was described as quite stable, with a very short installation and boot time.

Reception

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

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.[46] 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".[47] 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.[5]

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 rendered the project harmless to Microsoft.[48][49] 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.[50]

Awards

The ReactOS Project won on the annual Seliger Youth Forum "The Best Presentation" award with 100,000 Russian rubles in 2011, attended by Alexander Rechitskiy, one of the development team members.[51]

ReactOS was a featured project on SourceForge for the week beginning February 27, 2012, and April 25, 2013[52] along with several others. It was also Project of the Month on Sourceforge for June 2013.[23]

  • ReactOS shares some dependencies with Wine.
  • Samba/Samba TNG implements LSASS, SAM, NETLOGON, Print spooling and other Windows network services.
  • NDISwrapper recreated a partial Windows NT kernel inside a Linux Kernel making it possible to execute modern Windows drivers in Linux. It consists of a NTOSKRNL API, a basic WDM controller, and a set of Windows call wrappers such as Wireless/NDIS/USB/PnP to Linux APIs.
  • NTFS-3G, NTFS driver for Linux, Mac OS X, FreeBSD, NetBSD, OpenSolaris, QNX, Haiku, and other operating systems.
  • Serial ATA drivers are provided by UniATA
  • FreeType a software development library, available in source and binary forms, used to render text on to bitmaps and provides support for other font-related operations.
  • Tango Desktop Project an open-source initiative to create a set of design guidelines and to provide a consistent user experience for applications on desktop environments.
  • Linux Unified Kernel, an operating system kernel intended to be binary-compatible with application software and device drivers made for both Microsoft Windows and Linux.

System requirements

  • x86 or x86-64 compatible processor,[53] Pentium or later
  • 64 MB RAM (256 MB recommended)
  • IDE/SATA hard drive of at least 350 MB on the primary partition
  • FAT16/FAT32 primary boot partition
  • 2 MB VGA graphics adapter (VESA BIOS version 2.0 or later)
  • CD-ROM drive
  • Standard keyboard
  • USB mouse, PS/2 Compatible mouse or Microsoft Mouse-compatible serial mouse

Future implementations

  • Native support for file system NTFS, especially when installing and booting ReactOS
  • Native support for partition mapping scheme GUID Partition Table, especially when installing and booting ReactOS (x86-64 edition) on PCs using firmware UEFI
  • Native support for solid-state drives
  • Native support for touchscreen displays

See also

References

  1. ^ a b Birr, Hartmut (January 18, 2006). "Bye bye". ros-dev (Mailing list). Retrieved January 3, 2009. {{cite mailing list}}: Unknown parameter |mailinglist= ignored (|mailing-list= suggested) (help)
  2. ^ Murphy, Ged. "ReactOS audit status". Ged Murphy. Archived from the original on January 18, 2012. Retrieved June 23, 2013.
  3. ^ "Frontpage". ReactOS Web-page. ReactOS Foundation. Archived from the original on September 20, 2012. Retrieved June 23, 2013.
  4. ^ Loschwitz, Martin (March 2004), "Projects on the Move" (PDF), Linux Magazine, p. 87, retrieved November 18, 2009
  5. ^ a b c Sixtus, Von Mario (February 20, 2004). "ReactOS: Das Nicht-Windows" (in German). Spiegel Online. Retrieved December 11, 2009.
  6. ^ "BadStack in syscall.S". ReactOS. January 17, 2006. Retrieved November 16, 2009.
  7. ^ Birr, Hartmut (January 18, 2006). "Bye bye". ros-dev (Mailing list). Retrieved November 16, 2009. {{cite mailing list}}: Unknown parameter |mailinglist= ignored (|mailing-list= suggested) (help)
  8. ^ Ionescu, Alex (January 18, 2006). "Bye bye". ros-dev (Mailing list). Retrieved November 16, 2009. {{cite mailing list}}: Unknown parameter |mailinglist= ignored (|mailing-list= suggested) (help)
  9. ^ Vincent, Brian (May 25, 2004). "Interview with Steven Edwards". winehq.com. Retrieved June 23, 2013. BV: You guys have certainly contributed a lot of your work back to Wine, including some of the utilities you've written. For instance, the task manager was recently ported from ReactOS.
  10. ^ a b Feller, Stephen (February 1, 2006). "ReactOS suspends development for source code review". Linux.com. Retrieved December 10, 2009.
  11. ^ Schwartz, Mathew (November 12, 2001). "Reverse-Engineering". computerworld.com. Retrieved June 23, 2013. To protect against charges of having simply (and illegally) copied IBM's BIOS, Phoenix reverse-engineered it using what's called a "clean room," or "Chinese wall," approach. First, a team of engineers studied the IBM BIOS—about 8KB of code—and described everything it did as completely as possible without using or referencing any actual code. Then Phoenix brought in a second team of programmers who had no prior knowledge of the IBM BIOS and had never seen its code. Working only from the first team's functional specifications, the second team wrote a new BIOS that operated as specified.
  12. ^ Hogle, Sean (October 23, 2008). "Clean Room Defeats Software Infringement Claim in US Federal Court". Retrieved May 23, 2013. [...] dirty room reverse engineering should be done in conjunction with clean room development by using two physically and electronically isolated teams where one team does dirty room reverse engineering and the other does clean room development. If a dirty room team exists, the clean room engineers can write a description of the portion of the specification that needs elaboration or clarification. The dirty room engineers then use that request to create additional functional specifications or tests.
  13. ^ Bragin, Aleksey (September 18, 2007). "Audit". ros-dev (Mailing list). Retrieved January 3, 2009. {{cite mailing list}}: Unknown parameter |mailinglist= ignored (|mailing-list= suggested) (help)
  14. ^ Alksnis, Viktor (June 6, 2007). "Виктор Имантович Алкснис – Знакомство с проектом ReactOS" (in Russian). Retrieved December 11, 2009.
  15. ^ "Russian President Medvedev asked to fund Windows clone". BBC News. September 13, 2011. Retrieved September 14, 2011.
  16. ^ Z98 (August 5, 2012). ReactOS Presented to President Putin "ReactOS Presented to President Putin". ReactOS News. Retrieved June 23, 2013. {{cite web}}: Check |url= value (help)CS1 maint: numeric names: authors list (link)
  17. ^ "Google Summer of Code 2006". This is a page lists the students and organizations that participated in the Google Summer of Code 2006 program. [...] ReactOS
  18. ^ a b "TCP/IP driver replacement for ReactOS, using lwIP". Google. Retrieved August 9, 2011.
  19. ^ a b Gutman, Cameron (August 7, 2011). "ReactOS is now using lwIP for TCP". lwip-devel (Mailing list). Retrieved August 9, 2011. {{cite mailing list}}: Unknown parameter |mailinglist= ignored (|mailing-list= suggested) (help)
  20. ^ A personal appeal from ReactOS Project Coordinator Aleksey Bragin, accessed on April 15, 2013
  21. ^ Spenderliste December 24, 2012, accessed on April 15, 2013 (in german)
  22. ^ "January 2013 Meeting Minutes". February 7, 2013. Archived from the original on April 3, 2013. Retrieved June 19, 2013. Late last year the German foundation learned that the contracts it was issuing for developers might not be compliant with German regulations involving non-profits. Due to this, the German foundation needed to temporarily halt payment to developers and consult with tax attorneys to determine how to proceed in a compliant manner.
  23. ^ a b "Sourceforge POTM June 2013". Sourceforge. June 17, 2013. Retrieved June 17, 2013. Well I don't want to spread too many rumors, but I can say that we do have something in the works. If all goes well, it's going to be announced within a week. While I cannot go into too many details, I can say that it involves Kickstarter and what we believe to be a viable commercial product based off of ReactOS.
  24. ^ "Thorium Core Cloud Desktop". Kickstarter.com. December 23, 2013. Retrieved April 8, 2014. {{cite web}}: Unknown parameter |authors= ignored (help)
  25. ^ "ReactOS goes to Indiegogo, will run Windows apps natively". softpedia.com. April 4, 2014. Retrieved April 8, 2014. {{cite web}}: Unknown parameter |authors= ignored (help)
  26. ^ "ReactOS 0.3.10". OS Revolution. Retrieved December 9, 2009.
  27. ^ Holwerda, Thom (July 6, 2009). "ReactOS 0.3.10 Released". OSNews. Retrieved December 9, 2009.
  28. ^ Holwerda, Thom (October 20, 2010). "ReactOS 0.3.12 Released". OSNews. Retrieved November 8, 2010.
  29. ^ 0.3.13 - ReactOS, Reactos.org, retrieved February 10, 2014
  30. ^ 0.3.14 - ReactOS, Reactos.org, retrieved February 10, 2014
  31. ^ 0.3.15 - ReactOS, Reactos.org, retrieved February 10, 2014
  32. ^ ReactOS 0.3.16 Released, Reactos.org, retrieved February 10, 2014
  33. ^ a b c Ionescu, Alex (February 26, 2006). The ReactOS Project – An Open Source OS Platform for Learning (PDF) (Speech). University of Waterloo, Canada. Retrieved December 10, 2009. {{cite speech}}: External link in |author= and |location= (help)CS1 maint: location (link)
  34. ^ "ReactOS Newsletter 54". Retrieved June 23, 2013.
  35. ^ a b Holwerda, Thom (January 17, 2009). "ReactOS: Looking Back Upon 2008". OS News. Retrieved December 10, 2009.
  36. ^ Sinovsky, Steven (August 18, 2008). "The Windows 7 Team". Engineering Windows 7, MSDN. Retrieved December 9, 2009.
  37. ^ "ReactOS". Ohloh. Retrieved September 2, 2011.
  38. ^ a b c C., Michele (June 19–21, 2009). ReactOS is (not) Windows. Hackmeeting 2009. Milan. {{cite conference}}: |access-date= requires |url= (help); External link in |conferenceurl= (help); Unknown parameter |conferenceurl= ignored (|conference-url= suggested) (help)
  39. ^ "Acknowledgements". Wine. Retrieved November 15, 2009.
  40. ^ Holwerda, Thom (January 18, 2010). "ReactOS Proposes Radical New Win32 Subsystem". OSNews. Retrieved January 18, 2010.
  41. ^ "An interview with Art Yerkes, Network Developer for the ReactOS Project". Network Performance Daily. March 28, 2007. Retrieved February 22, 2010.
  42. ^ "ReactOS gets USB Stack, with Help from Us". Haiku. February 20, 2012. Retrieved March 2, 2012.
  43. ^ "Universal ATA/SATA/AHCI driver for Windows NT3.51/NT4/2000/XP/2003/7". Alter.org.ua. Retrieved February 10, 2014.
  44. ^ Walmsley, James (2009). "Features - Portability". Retrieved February 19, 2010.
  45. ^ a b Kupfer, Matthias; Bragin, Aleksey (March 14, 2010). ReactOS - Das zu Windows binärkompatible Open-Source-Betriebssystem. Chemnitzer Linux-Tage (in German). Chemnitz, Germany. Retrieved March 15, 2010. {{cite conference}}: External link in |conferenceurl= (help); Unknown parameter |conferenceurl= ignored (|conference-url= suggested) (help)
  46. ^ Sugar, David (January 31, 2006). "A reaction to ReactOS". Free Software Magazine. Retrieved December 11, 2009. {{cite web}}: |author= has generic name (help); External link in |author= (help)CS1 maint: numeric names: authors list (link)
  47. ^ Dvorak, John C. (April 4, 2008). "What A New OS Needs". PC Magazine. Retrieved December 11, 2009.
  48. ^ Blankenhorn, Dana (May 13, 2008). "ReactOS no threat to Windows". ZDNet. Retrieved December 22, 2009. {{cite web}}: External link in |author= (help)
  49. ^ Blankenhorn, Dana (May 13, 2008). "ReactOS needs a channel". ZDNet. Retrieved December 22, 2009. {{cite web}}: External link in |author= (help)
  50. ^ Holwerda, Thom (December 20, 2009). "My OS Is Less Hobby Than Yours". OSNews. Retrieved December 22, 2009.
  51. ^ "Russian president asked to Fund Windows Open Source Clone". Jordan Open Source Association. September 12, 2011. Retrieved June 18, 2013. At the forum, ReactOS won "The Best Presentation" award and a grant of 100000 rubles (approximately 2400 JDs). In addition, around twenty large investors became interested in the project.
  52. ^ "Featured projects, February 27, 2012". SourceForge. December 27, 2012. Retrieved December 20, 2012.
  53. ^ "Installing". ReactOS. January 20, 2014. Retrieved February 10, 2014.