June 2013 Project of the Month: ReactOS

SourceForge is proud to announce June’s project of the month, ReactOS, a free, modern operating system written completely from scratch and based on the design of Windows® XP/2003. To learn more about ReactOS we talked to Aleksey Bragin, the current project coordinator.

ReactOS project page
ReactOS website
ReactOS community
ReactOS download

ReactOS Royal Theme

SourceForge: Tell us about ReactOS. What is it?

ReactOS is an operating system implementing the NT kernel with a win32 subsystem, which would allow the use of both Windows drivers and applications on a non-Microsoft developed OS. The project goal is often oversimplified as a “clone” of Microsoft Windows, but that is not an accurate description. After all, one cannot clone a programming interface, one can only implement it.

SourceForge: How long have you been doing this

ReactOS itself started around 1998 and that’s the year when basic principles were set: Windows NT architecture being the base design for ReactOS, binary compatibility with Win32 applications and drivers made for Microsoft Windows. I joined the project 4 years later, in 2002, as a developer who wanted to contribute to such a great project. I have gone through many different roles since then and I still feel as excited about the ReactOS project as I was back then when I just joined the small community with such ambitious goals.

SourceForge: Why is there still a demand for a Windows NT/Windows 2000 emulator these days?

ReactOS is actually an implementation targeting the NT5.2 kernel, more generally known as Windows Server 2003 SP1 or XP SP3. And based on the disgruntlement with the direction Microsoft has taken with Windows 8, there does seem to be considerable interest in an implementation of the NT operating system that adheres to a more traditional desktop environment.

SourceForge: Is there still more to do? Is development still active, or is it primarily end-user support these days?

There is considerable amount of work to do. Significant parts of the kernel are done and we actually have a fairly decent win32 subsystem. Quite a few applications and drivers already work, but progress is a bit uneven in places. We have made significant progress with USB and wireless networking support fairly recently even when we are still relying on FAT as the main filesystem.

SourceForge: How many people are actively involved in the development of this project?

The number of developers varies depending on the time of the year, real life commitments, and other things. Generally we have from 30 to 50 active contributors. The total number of contributors is significantly larger, even when not counting the wider community.

As for myself, I held several roles in the ReactOS project since 2000. Now I perform two duties – being the project coordinator and also a kernel developer. It’s a big honor to be able to contribute to the project in both areas.

As for other roles, for example, the person who helped me writing and editing my response, is Ziliang Guo. Officially he is a public relations coordinator, meaning he deals with writing news items and advising developers who take part in conventions or give presentations on the project. Also he is the release engineer, meaning he builds the ISOs and virtual machine images that we provide as part of our point releases. So as you can see, there is plenty of work that does not involve active development of ReactOS.

There are more people, and everyone’s contribution is very important to us. You may read more about them at our website http://www.reactos.org

SourceForge: How do you coordinate the project?

Managing an open source project, where no one is paid, is a complex task. A number of different methods were tried over the years (from total anarchy to dictatorship and then to a limited democracy) until we came to a structure which fits us best. Ultimately the project’s developers know what they want to work on and where they need some help. The only rule is that everyone should enjoy working on ReactOS. The formal project infrastructure is there to help them get their work done, not interfere with it. And since there is so much work that needs to be done, people rarely need any direction. From time to time, more strict measures such as feature freezes and code freezes are needed to get developers to focus on bugfixing.
Another discussion and decision making process involves regular monthly meetings, where core team members meet and discuss/vote on plans and the like. This is where democracy comes in.
Beyond that, the project is as self-guiding as possible, in the true spirit of freedom and openness.

SourceForge: If someone wanted to get involved in your project, 1) what kind of skills would they need and 2) what would need to be done?

Anyone willing to learn can participate. One of our best testers is someone with no coding experience, but he is one of the most skilled users of a debugger on the team, even counting developers. There is always work to be done somewhere. Of course having a background in Windows development helps, but joining ReactOS is also one of the best ways to gain that background. There are surprisingly few open source developers familiar with the NT architecture and that is something this project also hopes to remedy.

SourceForge: I understand a code audit is an on-going process in place to protect against legal problems. Is this just a time consuming activity or do you learn something along the road?

The code audit was internally done to try and determine the origins of code committed to the project. It achieved that goal and the project ultimately never found any proof of improperly submitted code.

Beyond that, there’s really little else to say. The ultimate defense is in having a test suite that captures the expected behavior of an NT operating system, something the project has invested considerable effort into with our kernel testing framework. For the win32 subsystem, we have borrowed a lot of the WINE project’s tests. However, when we have enough financial resources, we plan to utilize code auditing services provided by accredited third parties as a further safeguard.

SourceForge: How close you are to your ultimate goal, which if I understand correctly, is to replace Windows® and install ReactOS without the end user noticing the change. Can you provide some examples?

ReactOS actually works remarkably well for a subset of applications and drivers. We have seen testers successfully install network drivers such as for Intel’s Pro series, AC97 sound cards, and the like.

Firefox is also another application a fair amount of effort is invested in to make sure at least specific versions can run, though Firefox has also been one of the most troublesome. These successes do not mean ReactOS does not exhibit undesirable behavior, but in a controlled environment the operating system is quite functional. For a perfect replacement of Windows, that will take considerably more effort, if only because we need to also duplicate Windows’ bugs. /joke

SourceForge: I read even Putin was given a demonstration, what is the political interest in ReactOS in Russia?

Actually, we have had two successive Russian presidents (Mr. Medvedev and Mr. Putin) be given a demonstration of ReactOS. Though we try to stay away from anything overtly political, ReactOS certainly attracts attention. There were a number of attempts at migrating government entities to free software in various parts of the world (to reduce costs, to reduce dependency on certain software vendors), and the results have been mixed: some experiences were good, some bad. Russia is no exception. The majority of negative experience came from the fact that substituting Microsoft Windows with Linux often required retraining users in addition to the loss of or inconsistent compatibility with Windows applications. Even in ideal circumstances, people are creatures of habit and a Linux desktop environment is subtly different than that of Windows, causing minor but noticeable frustrations. ReactOS is intended to not suffer from these issues and as such will look far more enticing as support for Windows XP expires in 2014.

SourceForge: Have you ever considered getting the project backed by a company?

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.

SourceForge: Thanks so much for your time Aleksey, and congratulations again.

23 comments
redgdgds
redgdgds

Have been following ReactOS for years, hoping they would succeed in actually publishing an operating system, one that srves it's purpose, serving the end-user. Because if the goal is only the development itself it has already succeeded. If the goal is publishing an operating system that has additional value to the end-user, then I am afraid that by the time it will come to that ReactOS will be obsolete.

CraigTalbert
CraigTalbert

I'm glad to see ReactOS finally getting the respect and attention it deserves. I've been following it since about 2000, and if I had more time I would have loved to contribute to the project.  Maybe now is a good time to get back on board.

iggybeans
iggybeans

"written completely from scratch and based on the design of Windows® XP/2003"

 

Am I the only one the sees how dumb that statement is?

from scratch...

based on...

Oh to only get stuck in the WinXP universe forever...

OMG!?

How horrifying.

Even Haiku sound more appealing (or MorphOS).

 

iggy

Still Black
Still Black

when i want to try it I got trouble with first installer my computer just load the driver then my monitor turn black and i wait until tree hour nothing happen,  can i got suggest ?!?

abiodun
abiodun

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.

cennettatil
cennettatil

ReactOS is a project to build a free, open-source clone of Windows, compatible with both drivers and userspace software. Why on earth hasn't this received more support from the OSS community? It's the only realistic chance of dethroning MS from the desktop in favor of an open alternative. Linux is fine for servers, portable devices, and embedded systems, but trying to stick it on the desktop is a foolish dream that has failed for over 10 years.

 

http://www.cennettatil.com

jonaspm
jonaspm

This is really nice! Congratulations Aleksey and all the ReactOS Foundation! keep up the good work and enjoy what you do!

Eloy0
Eloy0

@iggybeans Without knowing the recipe for Coca-Cola, you can make a completely new recipe, healthier, but just as rich, and make it public. That is ReactOS. It's “completely from scratch” because all the code is "libre", and it is "based on the design of Windows®" because has binary compatibility (drivers and apps run without recompilation or modification) and CAN have similar look.

reaction
reaction

@cennettatil

"Linux is fine for servers, portable devices, and embedded systems, but trying to stick it on the desktop is a foolish dream that has failed for over 10 years."

I have been using linux (desktop version of ubuntu) for a few years and last year I stepped away from windows and have not returned to it since.

I spent a long time to find decent (or even better) alternatives for the software I used in windows but once I got that sorted out I never felt linux to be worse than windows.


I think there even is a window of opportunity now to dethrone windows given the fact that windows keeps on trying to shoot itself in the foot, companies like nvidia, steam,... are dedicating more support to linux and the possibility that Ubuntu Touch/For Phones/For Android might actually become viable.

dejan_lekic
dejan_lekic

This will may sound rude - but open-source community does not really care much about Windows. I blame the well-known late adoption of the open-source model by Microsoft and their minions all over the world. This is still work in progress and is pretty much visible. The open-source software you typically see on Windows are ported applications from TRUE open-source ecosystems such as GNU, Linux and BSD.

 

Considering what I said above, ReactOS is extremely important open-source project in the Windows world as it brings a TRUE open-source ecosystem, and very healthy collaboration with open-source projects from abovementioned open-source ecosystems.

 

From personal perspective (of a developer) - ReactOS may become a very nice way for Windows developers who use open-source software ported from other platforms, to contribute back, and improve those applications they use for free, instead of paying their beloved Microsoft, Adobe, Corel and similar billions.

 

 @cennettatil

GrayGhost2
GrayGhost2

As an AutoCad user on 3 PCs I would like to escape the dependency on Windows.

Migrating from WinXP to Win7 (a new PC) has been very disruptive to our workflow.

I am not IT trained., so I have spent about 4 months in my spare time, coming to terms with Win7 (We had to replace a WinXP machine)

Personally I prefer using the keyboard,  -- the concept of  Win8 smacks of dumbing down, where we are assumed to be illiterate and can only respond to pictures (like my 3 year old grand son) + poking at screens with greasy fingers is a time waster.

My tablet (a tool) is a boon, but the fingered screen (sweat and grease) inhibits reading data, especially outdoors.

 

We use PCs as TOOLS -- WinXP has been slick-n-quick since 2003 (and still operates perfectly well today on 10 year old PCs.  Security is not an issue because all PCs are stand alone.

I look forward to evaluating "ReactOS" with Autocad2006.

 

I am a patient man.  Come the revolution !!!

 

 

jonaspm
jonaspm

Thanks for sharing your opinion with all of us :) I don't think this is true, because Windows has been the dominant platform all these years and GNU Linux was trying to gain some attention, with this in mind, many developers deployed their FOSS apps in the Windows platform due to a big user-base. And others deployed their apps also in Linux, waiting for the user-base to grow in a fully FOSS platform... Some projects where only targeting Windows, just as Npackd, Sumatra PDF, CamStudio, WinMerge, Orwell Dev C++, and many others... Also, here at SourceForge, Windows is the platform with more registered projects, also counting with ports of Linux apps. If the open source community didn't care about Windows, then the wouldn't bother to create ports just as MinGW, GIMP, LibreOffice, VLC, or the famous WINE. The FOSS community care about Windows users rather that tge platform itself, even the ReactOS project is targeting Windows users, not Microsoft :) project @dejan_lekic @cennettatil

ThisBoyTV
ThisBoyTV

 @guyonearth  You are 100% correct in your comment. Remember too that there is a cost to the single user for the hardware to upgrade constantly,  All of the open source operating systems have major problems with video and photo applications. MS is going in one direction while many of us users are at a virtual standstill. ReactOS has a large target audience and I wish the group all the best.

guyonearth
guyonearth

 @dejan_lekic Not really true. Windows had poor server penetration 10-15 years ago, it has grown tremendously. While Linux has become dominant in low-priced webservers, Windows Server is a major player, especially in the small business community, with far more installations than any flavor of Linux. This is a market that Linux has totally missed.

Your claims about Windows only surviving because of Adobe, AutoDesk, and Blizzard are both silly and simply self-delusion. Windows grows it's user base every year by leaps and bounds. This idea that Windows users would suddenly switch to a completely different system if Adobe and AutoDesk did Linux ports is wildly unrealistic. First of all, I doubt they will ever do ports, for the simple reason that there is no economic incentive whatsoever to do so. Second, I've been hearing that same line for 15 years now, that Linux is on the  verge of a takeover. Nonsense. Windows gains more desktops every year than Linux has ever had, it's just a simple fact. Third, people don't like change. They hate changing Windows versions, the would hate changing to a new system even more. Fourth, you completely ignore the millions of applications that exist in the Windows ecosystem. There are thousands and thousands of custom applications used by business and industry that represent investments of billions, and all those users are not going anywhere.

helsinkiharbour
helsinkiharbour

@dejan_lekic

Sorry, the linux desktop keeps on failing because it's not forming a platform overall. And, that's also the core difference to android: android follows the platform model and acts therefore as supportable platform for third-party apps produced by ISVs. The linux desktop still follows the archaic distro model from the 80s which entangles the core OS with apps in unseparateable way together... therefore it forms not a platform but a unsupportable ecosystem mess.

 

see this popular ubuntu bug: https://bugs.launchpad.net/ubuntu/+source/software-center/+bug/578045

 

or this insightful analysis of the missing scalability of the distro model: http://www.youtube.com/watch?v=GT5fUcMUfYg

 

or the insight by ingo molnar that the linux desktop is not free at all (for the user) because of this shortcomming: https://plus.google.com/109922199462633401279/posts/HgdeFDfRzNe

 

ChristopherJackson
ChristopherJackson

 @dejan_lekic  Don't forget We photographers with Canon DSLR's. I've often asked, without any success if Canon would in fact develop drivers for say my 5D MarkII for Linux? I asked three years ago and NEVER got a response. Seems like ReactOS is my best option since I don't like where Windows is going with regards to version 8. I tip my hat to the ReactOs team

jonaspm
jonaspm

 @dejan_lekic

 I know, i am a developer too, which loves multiplatform, Linux, Windows, MacOS, even ReactOS!I use Ecere SDK to write and build my apps, and Ecere SDK is built with MinGW32/64

I am not despising Linux in any way, i have it installed on my PC :) but i am saying that in this world, Windows, Linux, MacOS all platforms are important, because mantain alive this virtual world, full of flavors and paths to follow, i like Linux myself, but i have big hopes in ReactOS, to grow and become a usuable operating system, running your favorite Windows apps natively thats all :)

dejan_lekic
dejan_lekic

Dominant? - Perhaps you failed to mention that it may be the dominant platform for desktop, and even that is debatable nowadays. In the server world Windows lost the battle decade ago. In the mobile world Linux is #1 and nobody sees any big change there (You are probably aware of the fact that Android is basically Linux with a different stack of applications on top of it, most notably Dalvik). No offense, SF is not the best place to look for open-source software (says person who uses SF for 14 years ID=1334)... SF lost battle to GitHub years ago on that field. But let's not go off-topic here.

You did not get the point of my original text obviously - the ports to Windows are EASY to make because of the TRUE openness of those platforms! Before MinGW there was literally NO WAY to target ANY other platform on Windows. :) So all those nice apps you mentioned ported to Windows and enjoyed by millions of Windows users are because of the TRUE open-source community that still lives outside Microsoft network.

You mention Orwell Dev C++ for an example - you would not be able to use that application withouit MinGW, or better say GNU projects that it uses behind the nice GUI. :)

Whenever I talk about these things I always say one thing - Windows is still alive only because of three companies: Adobe, AutoDesk and Blizzard. If these three ported their software to Linux I could bet my whole year's salary 1/2 of Windows users would switch to Linux in next 5 years. (Yeah, I know about Wine - I am talking about native Linux apps here)

Anyway, forget it - everybody has right to live in own world... :)