Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
ReactOS
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
===Collaboration and reuse=== While ReactOS has the aim to build a Windows-compatible kernel as open-source software, much of the surrounding required functionality to create a complete OS is already available in the greater open-source ecosystem. When available and possible, ReactOS therefore builds on and collaborates with already existing open-source projects.<ref name=collaboration>{{cite web |url=http://haiku-os.org/news/2012-02-20_reactos_gets_usb_stack_help_us |title=ReactOS gets USB Stack, with Help from Us |publisher=[[Haiku (operating system)|Haiku]] |date=2012-02-20 |access-date=2016-01-02 |quote=The ReactOS and Haiku projects have had a friendly working relationship for several years now, with each group helping the other whenever possible.}}</ref> Conversely, projects like [[Wine (software)|Wine]],<ref name=collaboration2 /> and formerly [[Captive NTFS]]<ref>[http://www.osnews.com/story/5299/Captive_NTFS_Read_Write_Filesystem_Addon_for_Linux Captive: NTFS Read/Write Filesystem Addon for Linux] on [[OSNews]] by Eugenia Loli "''They are using WINE and ReactOS code to emulate parts of Windows environment needed to make the driver work.''" (4 December 2003)</ref> and [[Longene]] re-use the open-source ReactOS code-base as well.<ref>[https://lwn.net/Articles/349988/ Linux unified kernel 0.2.4.1] "The LUK project does not develop the Windows and the Linux userland libraries. Those libraries are offered by the Wine (or Microsoft Windows/ReactOS) project and the Linux project."</ref> ====Hardware driver stack==== On the [[device driver|hardware driver]] side, for instance the [[UniATA]] project provides [[Serial ATA]] drivers for ReactOS.<ref name=lowendmacreview /><ref>{{cite web |title=Universal ATA/SATA/AHCI driver for Windows NT3.51/NT4/2000/XP/2003/7 |url=https://alter.org.ua/soft/win/uni_ata/ |access-date=2014-02-10 |publisher=Alter.org.ua}}</ref> The project has also experimented with using the FullFAT library in its rewrite of its [[File Allocation Table|FAT]] [[Installable File System]].<ref>{{cite web |url=http://www.fullfat-fs.co.uk/Features/Portability |archive-url=https://web.archive.org/web/20100423042752/http://www.fullfat-fs.co.uk/Features/Portability |url-status=dead |archive-date=2010-04-23 |first=James |last=Walmsley |title=Features β Portability |year=2009 |access-date=2010-02-19}}</ref> ReactOS makes use of the [[USB]] stack from [[Haiku (operating system)|Haiku]] both as a reference and as a foundation for its USB support.<ref>[https://www.osnews.com/story/25632/ReactOS_gets_USB_stack_with_Haiku_s_help/ ReactOS gets USB stack with Haiku's help] on [[OSNews]] by Thom Holwerda</ref><ref>{{cite web |date=2012-02-20 |title=ReactOS gets USB Stack, with Help from Us |url=https://www.haiku-os.org/news/2012-02-20_reactos_gets_usb_stack_help_us |access-date=2012-03-02 |publisher=[[Haiku (operating system)|Haiku]]}}</ref> [[Mesa (computer graphics)|Mesa 3D]] provides [[OpenGL]] rendering.<ref name=lowendmacreview /><ref name=waterloo /> ====Networking==== ReactOS's network stack is built on the [[Transmission Control Protocol|TCP]] portion of OSKit's port of the network stack in [[FreeBSD]], along with an internally developed implementation for packet-oriented protocols like [[Internet Protocol|IP]].<ref>{{cite web |date=2007-03-28 |title=An interview with Art Yerkes, Network Developer for the ReactOS Project |url=https://www.networkperformancedaily.com/2007/03/an_interview_with_art_yerkes_n_1.html |url-status=dead |archive-url=https://web.archive.org/web/20110714172333/https://www.networkperformancedaily.com/2007/03/an_interview_with_art_yerkes_n_1.html |archive-date=14 July 2011 |access-date=2010-02-22 |publisher=Network Performance Daily}}</ref> Later, [[lwIP]] was integrated into the ReactOS network stack.<ref name="lwIP2">{{cite mailing list |last=Gutman |first=Cameron |title=ReactOS is now using lwIP for TCP |mailing-list=lwip-devel |date=2011-08-07 |url=https://lists.nongnu.org/archive/html/lwip-devel/2011-08/msg00010.html |access-date=2011-08-09}}</ref> ====Wine cooperation==== [[File:Wine on ReactOS.svg|thumb|300px|A simplified architecture diagram of ReactOS, with Wine dependencies indicated by the Wine logo. White boxes denote third-party binary software. Green boxes are "[[user space|userland]]" components, red are kernel components.]] The ReactOS and the [[Wine (software)|Wine]] projects share the goal to run binary Windows software natively and can therefore share many dependencies and development.<ref name=collaboration2>{{cite web |url=https://www.winehq.org/interview/14 |title=Interview with Steven Edwards |first=Brian |last=Vincent|date=2004-05-15 |publisher=winehq.com |quote=''BV: Wine and ReactOS have had a mutually beneficial relationship. Is there anything Wine could do different that would help ReactOS development?[...] 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. Do you guys have any plans in the works for developing more tools? Steven: I really want to see a solitaire clone make it in to Wine and ReactOS.[...] At some point we are going to have to develop replacement components for everything in Windows so if there is a program that Wine needs and ReactOS implements it then I will try to make sure it's released under a compatible license.'' |access-date=2016-01-06}}</ref><ref name=wineackn /> ReactOS uses portions of the [[Wine (software)|Wine]] project so that it can benefit from Wine's progress in implementing the [[Windows API#Versions|Win32]] [[Application programming interface|API]].<ref name="wineackn">{{cite web |title=Acknowledgements |url=https://wiki.winehq.org/Acknowledgements |access-date=2009-11-15 |publisher=Wine}}</ref> While Wine's [[Native API|NTDLL]], [[Windows USER|USER32]], [[Microsoft Windows library files#KERNEL32.DLL|KERNEL32]], [[Microsoft Windows library files#GDI32.DLL|GDI32]], and [[Microsoft Windows library files#ADVAPI32.DLL|ADVAPI32]] components cannot be used directly by ReactOS due to architectural differences, [[Snippet (programming)|code snippets]] of them and other parts can be shared between both projects. The kernel is developed by ReactOS separately as Wine relies here on existing [[Unix-like]] kernels.<ref name="waterloo">{{cite speech |url=https://csclub.uwaterloo.ca/resources/tech-talks/reactos-an-open-source-os-platform-for-learning/ |author=Ionescu, Alex |title=The ReactOS Project β An Open Source OS Platform for Learning |location=University of Waterloo, Canada |date=2006-02-26 |access-date=2009-12-10}}</ref><ref name="notwindows">{{cite conference |last=C. |first=Michele |date=2009-06-19 |title=ReactOS is (not) Windows |url=https://www.hackmeeting.org/hackit09/presentazioni/ReactOS_is_(not)_Windows.pdf |conference=Hackmeeting 2009 |location=Milan |access-date=2020-10-20 |conference-url=https://hackmeeting.org/hackit09/}}</ref> 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 Window System|X server]] instead of a local display.<ref>{{cite web |last=Holwerda |first=Thom |date=2010-01-18 |title=ReactOS Proposes Radical New Win32 Subsystem |url=https://www.osnews.com/story/22750/ReactOS_Proposes_Radical_New_Win32_Subsystem |access-date=2010-01-18 |publisher=[[OSNews]]}}</ref> ====Other==== The [[Tango Desktop Project]] initiative provides open-source design guidelines and resources (as [[icon (computing)|icons]]) for applications on [[desktop environment]]s. [[FreeType]] is an open-source software development [[library (computing)|library]], used to render text on to bitmaps and provides support for other font-related operations.<ref name=lowendmacreview>{{cite web |url=http://lowendmac.com/2014/reactos-a-windows-compatible-alternative-os/ |title=ReactOS: A Windows Compatible Alternative OS |publisher=lowendmac.com |first=Simon |last=Royal |date=2014-02-16 |access-date=2016-01-10 |quote=While the main core of ReactOS is built from scratch, it has some dependencies on existing software and protocols. It uses parts of Wine, networking in the form of lwIP, USB from Haiku, as well as FreeType, Mesa3D, and UniATA.}}</ref> The ''KernelEx'' project is a Windows-API extension and compatibility layer project, which provides open-source implementations of some Windows-APIs.<ref>[http://sourceforge.net/projects/kernelex/ kernelex] on [[sourceforge.net]]</ref> Other contributing projects are [[MinGW]], [[SYSLINUX]], [[adns]], [[International Components for Unicode|ICU]], GraphApp, [[Ext2]], [[GNU FreeFont]], [[DejaVu fonts]], and [[Liberation fonts]].<ref>{{cite web |title= Third party libraries β ReactOS|url= https://www.reactos.org/wiki/Third_party_libraries|website= www.reactos.org|access-date= 2015-01-08}}</ref><ref>{{cite web|title= FishEye: Annotated β reactos/trunk/reactos/media/doc/3rd Party Files.txt|url= https://code.reactos.org/browse/reactos/trunk/reactos/media/doc/3rd%20Party%20Files.txt?hb=true|website= code.reactos.org|access-date= 2015-01-08|archive-url= https://web.archive.org/web/20160803013323/http://code.reactos.org/browse/reactos/trunk/reactos/media/doc/3rd%20Party%20Files.txt?hb=true|archive-date= 3 August 2016|url-status= dead|df= dmy-all}}</ref><ref>{{cite web|title= [reactos] Contents of /trunk/reactos/dll/win32/syssetup/syssetup.rc|url= https://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/syssetup/syssetup.rc?view=markup|website= svn.reactos.org|access-date= 2015-01-08|archive-url= https://web.archive.org/web/20170904111913/https://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/syssetup/syssetup.rc?view=markup|archive-date= 4 September 2017|url-status= dead|df= dmy-all}}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)