ReactOS: Dipping A Toe In A Millennium-era Open Source Dream

Do you remember when trying a new OS meant burning a CD? Not merely downloading an ISO and mounting it on a USB drive, but taking a circle of polycarbonate and hoping you didn’t get a buffer underrun as the file you’d spent an entire day downloading was burned onto it. A couple of decades ago that was how we’d take a look at a new Linux distro, and at the time we considered it to be nothing short of incredible that such a thing was possible. One of the ISOs I remember downloading back then was an early version of ReactOS, a project with the lofty aim of creating an open-source equivalent of Windows NT. You might think that in the nearly two decades since then it would have become an irrelevance and its contributors moved on to other work, but no. ReactOS is very much still with us, and indeed has just seen a new release. Version 0.4.13 is the latest in a long line of incremental updates, and remembering those early ReactOS ISOs when I saw their announcement, I thought I’d give it a spin. The result was both a peek at the current state of the project, and a chance to think about the place of a Windows clone in 2020.

It’s 2003, And Hackaday Hasn’t Started Yet

If it wasn't for the ReactOS logo, you'd swear this was a Windows box.
If it wasn’t for the ReactOS logo, you’d swear this was a Windows box.

There are two ReactOS ISOs, an installer, and a live CD. I downloaded the former, and first tried to install it on an old Dell Core Duo laptop which it failed to do, before creating an image to install it in a qemu environment. I don’t blame it for not running on the Dell, it doesn’t yet claim to have anything near comprehensive hardware support. The qemu install was faultless though, and I was soon in the ReactOS desktop. I found I needed greater than a 1 GB qemu partition to have space enough for extra software, but it ran happily enough with the gigabyte of memory I allocated to it.

My first impression was that I was back in a Windows PC circa 2003 sporting the grey-and-blue Windows 95-style classic theme, such is their success at creating a clone of Windows from that era. Aside from the ReactOS logo on the start menu it’s indistinguishable from Windows XP with the classic theme, at least as I remember it. Everything is exactly where you’d expect it, and since the version text in the bottom corner states it is reporting as Windows NT 5.3, or 64-bit Windows XP Professional, I’m guessing it has more influence from that OS than Windows 2000. This has been a fully functioning desktop GUI operating system for quite a few generations now, and by the looks of it is a whisker away from its aim of creating that open-source Windows NT clone. Speed-wise its difficult to judge because I had it running in qemu rather than on native hardware, however on my few-year-old i7 running a recent Ubuntu version it was perfectly usable though admittedly a little slow.

Like Windows, But With A Built-In Free Software Repository

They are at pains to stress that this version is still very much a pre-release alpha, but in navigating round its built-in GUI features and programs you’d be forgiven for thinking it was feature-complete compared to the Windows versions it is most similar to. It doesn’t have much in the way of built-in software, but unlike the “real” Windows of the XP era it comes with a package manager of the type you’d expect with a GNU/Linux distro. This doubles as the Windows “Add/Remove Programs” Control Panel item. There is plenty of choice, so I set to downloading a few programs.

It is in its software support that you are reminded that ReactOS isn’t quite the Windows you are used to. Typically the version of a package in the repository is an older version that works, but any upgrades fail to work. As an example it has Firefox version 48, which when I followed Firefox’s upgrade prompt downloaded version 52.0.3 ESR that installed but completely failed to start. This is likely to have two causes, first that this ReactOS  version may still conceal a few bugs, but perhaps more likely that recent builds of software will expect more recent versions of the Windows API than the XP-like version that ReactOS presents. It’s not all doom and gloom though, because despite hitting it with all sorts of software and seeing many installers and programs crash or simply refuse to run, I never once managed to crash ReactOS itself. I know that Windows XP would have shown me the dreaded Blue Screen Of Death more than once had I tried the same thing, so it appears the ReactOS developers may have achieved a more stable OS than Microsoft did.

Windows Users, Will They Make The Jump? Probably not.

So Reactos 0.4.13 then, for an alpha release a remarkably stable and feature complete clone of Microsoft Windows XP or similar that maybe isn’t quite ready for the Big Time in its software or hardware support. It’s obvious that this is an OS that will get there, so if you need an open-source Windows clone then keep watching. It does beg the question though, just who needs a Windows XP clone in 2020? Probably not me, because while I’d have jumped at it had it been in this state back in 2005, like everyone else I have moved on. Windows users have much newer versions to play with, and I have been an exclusive GNU/Linux user for many years now to the extent that I had to re-learn a few Windows tricks to use ReactOS.

Where I think ReactOS will find a niche then is not as a mass desktop, but for doing what it was designed to do. As what is likely to become a good quality open-source clone of Windows XP it will find a similar role to that of FreeDOS as a supported operating system for older software to run on. If you rely on a piece of software and associated hardware from the XP era you’re going to find ReactOS to be a godsend if it will run it, because you will no longer have to rely on increasingly flaky installs on ancient computers of a platform for which support and security patches ended years ago. If they can ensure where possible that their repository contains software with up-to-date security then they’ll be on to a winner!

55 thoughts on “ReactOS: Dipping A Toe In A Millennium-era Open Source Dream

  1. “despite hitting it with all sorts of software and seeing many installers and programs crash or simply refuse to run, I never once managed to crash ReactOS itself”

    “My car doesn’t have a steering wheel or wheels, and it doesn’t actually go anywhere, but, man is it stable!”

    1. And it’s actually very easy to crash the OS: run/install the thing from USB. I’ve got an old celeron 500 laptop that’s been waiting for a few years for a real world install ( and no, even the usb fork of ReactOS doesn’t work for it: USB 1.1 only )

          1. Okay, I spent a few hours on the thing, which is starting to show its age (the hard drive died on me, down to my last replacement now)… And turns out my USB2 PCMCIA card is dead, and the USB1.1 port tend to crash when using plop boot manager now. Which doesn’t play well with the ramdisk boot… But I found an old RW CD in my junk pile (and verified the laptop can read it). Now to find a working cd writer…

    1. In reality, XP SP3 was pretty difficult to crash even with misbehaving software, unless that software was doing something dodgy with the hardware and the drivers. Since ReactOS doesn’t have drivers for anything, it’s pretty much impossible to crash. The software that would do something to it simply fails to run.

  2. According to the FAQ on the development Wiki the current target is Windows 2003 not XP. That’s still pretty old but I bring it up because I think I remember it having been something else in the past, probably Windows 2000, maybe Windows XP. They do occasionally move the target.

    I doubt ReactOS will ever be a perfect clone of the then current version of Windows. How could it? Even if they had as many developer hours available as Microsoft they couldn’t start cloning until after Microsoft has already released right? But I don’t think it is going to be a clone of the same Windows API version that it is today frozen in time forever.

    It wasn’t long ago that the OS did crash a lot. Now that they are finally past that, maybe with some more hardware support it will become the FreeDOS of WincowsXP-era games as you have predicted. If so then maybe that will bring with it additional developers allowing them to close the gap a little and support somewhat more recent APIs. So long as they don’t break the old ones…

    I wouldn’t be surprised to see the UI remain frozen for a long time however. I suppose this is a matter of opinion but it seems to me that Windows UIs since XP have both risen and fallen in quality compared to one another but none of them are even close to as good as XP was. Microsoft seems to have decided that multi-level menus or any other organizational scheme are too complicated for users to learn so instead they just vomit everything into one place with attempt at organizing anything. Thus there is no organizational scheme to learn. For the average user they are probably right but the the kind of person who will seek out and install an alternative operating system is probably looking for better.

    To me the only thing that makes the excuse for a start menu in Windows 10 even bearable is the comparison to the brief dealings I had with Windows 8.

    1. I question it’s ability to become FreeDOS/Dosbox of winXP games, mostly because winXP exclusive games started all that origin and steam crap, which clients need to be upgraded past the capability of XP itself to handle in order to play the game. Well the officially distributed original version of course, I think we know there are other ways to do it. Anyway if it doesn’t need that, it’s highly likely a game that worked on 98SE also, which was regarded as faster by gamers a couple of years into XPs life, which can be hosted on emulators these days.

      1. You could be right. But that was Jenny List’s prediction, not mine. I’m only saying now that it’s more stable if there is a niche for it other than hacker pet project maybe it’s only a little hardware support away from finding that niche. Once it does, maybe that will bring in some more developers. Maybe more developers will allow them to start implementing some more recent APIs a bit sooner and therefore run some more recent versions of software. Cycle, repeat.

        Or maybe not. But for a hobby OS project ReactOS has managed to stay alive for a very long time and it has come a long way. I’m not sure I would bet on it becoming something more but I do know I wouldn’t want to bet against it.

        Also, remember. The ReactOS devs are building their own kernel and UI but a whole lot of what lives between is from Wine. They have that going for them. Nearly every effort that goes into making Wine better eventually improves ReactOS as well.

  3. >>version 52.0.3 ESR that installed but completely failed to start. This is likely to have two causes, first that this ReactOS version may still conceal a few bugs, but perhaps more likely that recent builds of software will expect more recent versions of the Windows API than the XP-like version

    52.0.3 ESR was the last version designed to run on XP.

    1. You mean by adding new features to the OS and supporting 64-bit? Shame on them! Imagine if Linux had… oh wait, they did too!

      PS – Server 2003 was the server equivalent of Windows XP, took them a bit longer to get it out.

    1. If you want to maximize your odds of successfully running this on real hardware I suggest getting the same make and model as the developers’ official test / reference rig, a Dell Latitude D531. USB is still flaky so you’re safest with pre USB peripherals.

  4. Now I’ve got a couple of big beautiful screen early 2000s laptops with great keyboards, only take a gigabyte of RAM though, have only XP drivers for most of the hardware, and for the $50 it would take to do even a small upgrade on them, you can get a C2D machine that will run 7 or 10. So a modern and SECURE respin of XP would be great on them, buuut, I’m not liking the sound of slow even if it’s on the slowest i7 ever made, because that’s still gotta be twice as fast as the CPUs they came with. I recognise that some things genuinely need the horsepower, modern video codecs, especially with no chipset/SOC acceleration. But throwing windows around, cut and pasting text, my Cyrix PR-133 was fast at that under 9x.

    1. ReactOS installs in minutes and boots in seconds. Anecdotally, it’s quite fast, but it’s likely because it’s not doing a much as XP or 2k3 in the background.

      A recent post in the forums suggests it’s generally faster that XP, but there’s unfortunately little hard data to back that up.

      There’s two other things to consider – the article mentions running it with only 1 GB of RAM, while it can support up to 4 (being 32 bit), and also it currently doesn’t support SMP, so can only use one core.

      1. I’ve got lubuntu on one of them that does pretty decent, however, I’ve got machines that run it better. Puppy can be pretty nice on anything with a few hundred mhz upwards. Thing is though, you end up trying to do modern stuff on them, which they choke on. I’d like a better way to keep them for more retro stuff. The parents round here are looking for something that runs the “flash” heavy educational resources site that our school boards use, so low end dual cores, better atoms and above with 7, 10 or ChromeOS are about the bottom of that market for homework, even though text bashing is doable on practically anything that can save to a USB stick or network share. Though actually have been going through some machines of late trying to find some to pass on to kids in the family. I have several with stupid problems, like the battery needs dropping out every 3rd boot or it acts dead, the HDD SATA connector is loose and it keeps needing jiggling to recognise on boot, the keyboard and wifi are dead on and off… most of it is, to fix, apply more dollars than it’s worth, I keep looking for the free/dirt-cheap same model range ones with smashed screens or something to make one good one. However the 2005 to 2015 era of these was definitely dominated by the “consumer grade” machine, i.e. built as cheap as possible en-masse, so most of what you find is various grades of nasty, compared to the heavier business focus prior. I know right, stick to thinkpads :-D

    1. Yeah, and considering 90% of people use Windows anyway if they could get an open source Windows running people would switch. (Yea, yea, Linux, Linux, Linux, if everybody hasn’t switched yet they never will.)

      1. The reason why people use windows is because:

        1) hardware drivers, hardware management though GUI
        2) setup.exe – The entire internet is your software repository.
        3) software keeps itself updated without having to wait for the distro
        4) not having to upgrade your OS every 6 months to keep compatible with new versions of software
        5) sensible file system organization where installed software and files can exist wherever you want to put them without any voodoo trickery
        6) an UI/UX that generally knows what it’s doing, regardless of the recent changes, and doesn’t try to mix metaphors to pretend to be Apple and MS at the same time (looking at you Gnome…)
        7) The desktop environment is not just a way to keep multiple terminal windows open

        1. Troll detected !

          1) already included in linux. Good hardware vendors also include specific drivers. No hardware management is just as good. Benefits is that incompetent people can be self proclamed windows administrators in small companies.
          2) running .exe in the wild is not a good idea.
          3) maybe a valid point. Or software only updates itself when people choose to update.
          4) Unfortunately this is now the case with W10
          5) You are talkiing about MacOS ?
          6) My 90 years old grandma jump to Linux in 2008 and was browsing the web, reading mails, bank account etc.. The UI is just as good, or just as bad as Windows
          7) ?

          1. Not a troll – your replies illustrate how the typical Linux user I’ve come to know has no sensibilities for the needs and wants of other people! You only look at yourself and how it works for your case and then declare it good for all.

            Of course running a wild .exe may be stupid, but it’s still nice to not depend on a central repository and bow down in prayer so they might have the software you want and to not need jump through extra hoops to get it. It’s also freedom to software developers who can target anyone without going through the politics and sheer effort of getting their software into the various repositories, so they get a wider audience, so you have more software available to you, which makes Windows the more popular platform regardless of whether it’s “not a good idea”.

            Of course there are drivers coming along with the kernel, but that generic driver that barely supports the basic main function of your device isn’t really a comparison when the same thing comes with a full-featured driver and software on the windows side that operates all the bells and whistles. Linux kernel devs still don’t want to maintain stable API/ABI for drivers in order to pressure the hardware OEMs into opening their driver code, so hardware OEMs have a hard time supporting linux, so the drivers are old or lacking more often than not.

            And ah, the ever-green “my grandma”, who doesn’t have any other requirements of the system than a web browser and only does a handful of well-defined routine tasks. It doesn’t matter that the video card is on the generic VGA driver with no hardware acceleration, it doesn’t matter that the sound is stereo only, or that the printer only puts out black and white… etc. because they’re not actually doing much anything with it!

            Number 7 is a complaint about how the GUI controls for various things are so inconsistent, incomplete or inoperative, that people don’t bother having them, and instead you find yourself time and again typing something into a terminal window, reading some log or message off of another, and generally just ending up with a graphical desktop full of command line interfaces. This is said to be “more efficient”, but the point of comparison is a GUI that is lacking or missing in the first place.

        2. Ugh. Why am I feeding the troll?
          Oh well. I’ll use the excuse that I’ve been stuck at home too long. Damn Covid!

          1) Linux may be a few months behind supporting some newer hardware. OTOH hardware remains supported a lot longer. So much perfectly good hardware gets landfilled with each Windows release it should be a crime. Some day people are going to have to stop being so wasteful.

          Management through GUI is a strawman. It depends on the distro. Some are all GUI. Besides, with each new version of Windows since XP Microsoft seems to be eliminating functionality from their GUI control panel and making the remaining functionality increasingly disorganized. Or do you consider hacking through regedit to count as GUI?

          2) setup.exe? Now that proves trolling! People don’t want to download exes! The technically inclined don’t trust them. The non-techs don’t even know what they are. People want an app store which unfortunately they learned about through iPhones. Windows has one but nobody likes it. Linux pretty much invented the idea years before anyone else.

          Well, ok, without a payment system repos aren’t exactly the same thing but I’m pretty sure Lindows did that before Apple.

          3) Some distros are more/less conservative about updates than others. Most not-techs that I know and about half the techs prefer software that never changes and fear updates anyway. And nobody I know likes the way Windows can just decide it is doing an update on this reboot regardless if you like it or not! “I really need to leave but my F@!# laptop won’t just shut down”… sound familiar?

          4) Yah, like I said before most normal people really aren’t chasing the latest release like that. For those that are there are rolling release distros. You can go years with only incremental updates and still be on the bleeding edge with some distros.

          5) One of the reasons I switched to Linux years ago was the control that the file tree gives the user. Any branch can be moved to a different partition or drive and remounted and neither the OS nor software will care.

          Back then storage was more expensive and I had less cash. I built PCs for my friends and family from old parts. Getting multiple hard drives was easy. Getting a big drive was hard. I can’t describe how much frustration I felt with Microsoft because even though you can elect to install a program on drive D:, E:, F:, etc… it will still insist on throwing it’s DLLs and other crud on the C: drive.

          That may sound like an old-school problem that nobody would care about today. More recently I had a Windows tablet with a smallish internal storage. It also had an SD-slot which becomes the D: drive. I wanted to install Visual Studio. You can guess where this is going. It wanted to put a few hundred megs on D: where I told it to go and several gigs on C:! I eventually found some per-user registry hacks that made it kind of sort of work but it was wiped out with the next update.

          That kind of thing is not a problem in Linux.

          6) Yup. I don’t like Gnome either. There are a lot of other UIs to choose from. I suppose most normal users don’t want to have to make that choice. But… I can’t imagine actually liking the direction Windows UI has moved since XP either so at least there is a choice.

          7) Um. Ok. Then open something else.

          1. > So much perfectly good hardware gets landfilled with each Windows release it should be a crime.

            The amount of hardware that simply doesn’t work in Linux far outweighs the amount that can’t be made to work with the latest Windows. I just resurrected my old HP laserjet in W10 – meanwhile I still can’t get my DVB-T adapter to work under Ubuntu. Sure, it probably works as an SDR dongle because there’s drivers for directly accessing the chip, but I can’t actually watch TV on it.

        3. Supporting hardware with a limited supply of developer time is a tricky problem, but aside from that I see no reason to expect Reactos won’t have all of what you described, so that seems like a good sign for ReactOS development.

  5. But what about security? The reason Microsoft finally cut off the still-popular XP was that they didn’t want to keep up making security updates for it. I’m curious what security experts would find if they looked into ReactOS. If functionality is incomplete, does that also mean huge security holes?

  6. What would be a real neat trick is for ReactOS to have full support for the software of 32 and 64 bit Windows so that it could do things that real 64 bit Windows can’t. It can’t run old DOS programs nor can it run anything 16 bit. It’s not that Microsoft absolutely couldn’t do it, they didn’t want to do it.

    PCs with a 64 bit CPU should be capable of running older programs in discreet ‘boxes’ that can’t do any harm outside their walled off running space. Even with a 32 bit OS it was possible to handle old software better than 32 bit versions of Windows. OS/2 3.0 did, but it never had support for 32 bit Windows software, only 16 bit.

    1. ROS has a kinda-sorta maintained 64-bit version, we might see it go 64 bit in the future. Especially when the old 32 bit machines start failing—that Dell Latitude D531 they’re using won’t be around forever. Since it’s FOSS, even if 64-bit didn’t come with a VDM at first it still would be possible to shove it in there with a little time.

    1. Nonsense. It’s a clean room implementation, look it up.
      Also if you would look at the code more often, you’d see there are enough “holes” that clearly show it was reverse engineered and not copied. There are many little deviations from the expected outcomes and now expected bugs in APIs that you will notice when you are an expert in low level Windows programming. It shows it was implemented based on documentation and assumptions.
      More tests for corner cases would improve compliance.

      There may be security issues, like in any software. But not because it is *compatible* with XP.

  7. “It does beg the question though, just who needs a Windows XP clone in 2020?”
    People like me who are tasked with maintaining legacy industrial automation equipment installed 25 years ago with no plans by production managment to replace it.
    I nurse a number of legacy XP laptops running legacy configuartion software that is completely unsupported by the original manufacturer and cannot be easily migrated to Win10 (or even win 7 in some cases).
    None of this equipment is ever connected to a network. We rely on air gapping, physical security and security by obscurity. Not unusual in manufacturing environments, believe me.
    Management sees no case to replace this industrial hardware until it actually fails. It might last another 10 years. In the mean time, I need to maintain and modify so…

    1. Coming from an industrial controller background, all of this is absolutely true, with perhaps the expansion of the statement “no plans by production management to replace it” being for the sole reason that it works (reliably, and has done for more than a decade) and re-doing it (rewriting the software) would cost in the order of tens or hundreds of thousands – and it would likely still be riddled with bugs.

    1. I assume you mean without running a ‘dedicated’ 95 / 98 VM? Good question. Win 95 ran on top of DOS, so DOSbox without modification may be the simple answer. I don’t know about 98 though.

  8. I should note that while it currently is targeting NT 5.2 compatibility, that’s subject to change and probably will when it’s more stable or has 100% compatibility. I definitely know that Vista and on are in the cards, just nothing considered important yet. But it’s a good idea for them to currently be targeting NT 5 because it had like 15 years of software released for it, making it probably the easiest version of NT to actually figure out all of the little pieces. And if they figure out all the little pieces for NT 5, they’ve also done the same for 4 and 3, and many programs made for 6.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.