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
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.