Open Source… Windows?

There’s a lot to be said for open source software. The ability to change code to suit one’s needs, the fact that security vulnerabilities can be easier to find, and the overall transparency are just the tip of the iceberg when it comes to the strengths of using open source software. And, while Microsoft is no Apple when it comes to locking down their source code, their operating system is still, unfortunately, closed.

Don’t despair, though! There is a project out there that aims to change this. No, they’re not stealing anything or breaking into any computers to obtain Microsoft’s code. They’re writing their own version of Windows called ReactOS that aims to be binary-compatible with Windows. The software has been in development for over a decade, but they’re ready to release version 0.4 which will bring USB, sound, networking, wireless, SATA, and many more features to the operating system.

While ReactOS isn’t yet complete for everyday use, the developers have made great strides in understanding how Windows itself works. There is a lot of documentation coming from the project regarding many previously unknown or undocumented parts of Windows, and with more developers there could be a drop-in replacement for Windows within a few years. It’s definitely worth a shot if you fondly remember the frontier days of Linux where doing things like reading information on a CD required extensive experience using the terminal. If this is a little too much, though, there are other unique operating systems out there to investigate.

Thanks for the tip, [Matt]!

80 thoughts on “Open Source… Windows?

    1. I have to admit you are right. Although it’s also fact that the project gained a lot of interest in the last few years and therefore intensified their work. Pretty impressive so far, but sadly far from productive use. Maybe in the next few years…

      1. It will always lag many years behind Windows. I don’t see any hope for this project. Even Haïku which is a clone of BeOS is more advanced. Admittedly as the BeOS target is still (dead for so many years) it is easier to catch.

        1. To some degree, the purpose of ReactOS is not to be on-par with windows. There are too few developers for that at the moment.

          That being said, they are VERY close to XP compatibility, with far fewer vulnerabilities (and perhaps more features). Since XP is falling out of support (the embedded version stops getting updates around 2019) this could make for a very reasonable replacement if you need to run older programs. (did I mention the NTVDM support? Win XP can also still run the overwhelming majority of applications, and support for newer things are constantly patched into ReactOS (like Steam!) making it’s version more of a smear between windows versions.

          A less buggy, more secure Win XP could find some real use, and if they start pulling more modern components and features in as needed, the better.

          1. Adendum: Why should I need to buy a full copy of windows, if I just need a windows-compatible box to sit in the corner and run some application, this works great!

          2. This is what I’ve been waiting for. There are a shitload of perfectly good well proven and debugged industrial control systems which can be saved from being refactored if a currently maintained XP-compatible platform is available to run them. Being free and open source is lagniappe.

          3. Not to mention that compaines wich have products based on win XP that took years to certify(medical, military,…) will be willing to pay “big” money for certified version and support.
            Simlar to SaveRTOS which is paid alternative to FreeRTOS.
            And that will bring well needed rescouces for further development.

          4. @localroger
            For some reason I hadn’t thought of that. It’d be neat as hell to be able to play games from that awkward post-DOS, pre-Vista era where lots of games had 16 bit compilers, or required graphics cards with an API that died a decade+ ago. Or rather, to play them natively, without virtual machine fuckery.

        2. I’ve been following this project since the pretty early days and installing every release on real hardware. I doubt this will ever reach 1.0. But it will be satisfying if it does.

        3. “This is what I’ve been waiting for. There are a shitload of perfectly good well proven and debugged industrial control systems which can be saved from being refactored if a currently maintained XP-compatible platform is available to run them. Being free and open source is lagniappe.”

          I couldn’t reply directly to your response but you hit the nail on the head with this. the amount of industrial control’s and even machines cnc and other that need older os’s makes this a very nice option.

  1. if you want to be bug-compaitible with windows, you will never catch up

    If you don’t care about being bug compatible, then Wine on *nix is probably a far better approach.

    1. Wine can’t do device drivers. There is a lot of hardware out there for which only XP or earlier device drivers exist which won’t run on 7+. Some of that hardware is very expensive industrial stuff which is a real hardship to replace.

        1. If fixing broken functionality is adding functionality, you live in a twisted, horrifying world where truth is dead and pedantic equivocation is the world’s most popular competitive sport.

  2. Been following this for a few years now, even had an install 6 or 7 years ago. The blog can be a real interesting read. Hopefully if somewhere like here picks it up it’ll get some much needed backing!

  3. “And, while Microsoft is no Apple when it comes to locking down their source code”

    As far as I can tell, Apple is considerably more friendly to open source than Microsoft is with Windows. Apple even releases the complete source code for OS X (the environment)’s underlying operating system Darwin:

    I think you may be confusing source code with application ecosystem, of which Apple’s is famously closed.

    1. But Apple didn’t released some kexts that are crucial to the Darwin Kernel be able to boot. There are some projects aiming to produce an usable Darwin based operating system (PureDarwin, GNU Darwin) but I’ve not seen to much activity recently on these.

    2. No, he means source code.

      The stuff available on is not “OS X”. That is Darwin, and the XNU kernel, plus some userland utilities and even the occasional graphical program as well (like OS X includes the NextSTEP APIs, things like Core Graphics and Core Audio, as well as all the critical system binaries like WindowServer/ Absolutely none of that stuff is open source and never will be.

      There have never been any public source leaks of Mac OS X. The only system that has ever leaked out of Apple in full source code form is Mac OS System 7.6.

      Microsoft, in comparison, has had several source code leaks over the years. You can find the full source code for NT 4.x on the internet (everything that makes up the shipping operating system). You can also find partial source code leaks for Windows 2000 and Windows XP, as well as some of the betas that came inbetween. Together, there’s actually enough there to hack together a working OS, which is what some enthusiasts have done.

      That’s more or less what the comment is talking about. It has nothing to do with open source at all. He’s talking about the closed source code leaks that have ocured over the years.

      1. And of course the ReactOS team had a big problem where a bunch of code ended up in the source tree with questionable origins (and circumstantial evidence that the source leaks were somehow involved in the creation of this code). This then caused development to grind to a halt for ages whilst a full code audit was done and any code that may potentially be questionable got rewritten and replaced.

      2. I can see your point, if you interpret “locking down” in a security sense, and not in a “keeping hidden” sense.

        But since nothing involving ReactOS has to do with Microsoft’s security policies (except of unconfirmed reports of leaked code being introduced), I’d say the likely interpretation of the article is that Apple is less friendly to open source, which is untrue.

        Although I’ve applauded Microsoft’s recent efforts, and I feel they’re heading in the right direction by doing things like open-sourcing .NET

  4. 1) Been waiting for 0.4’s SATA and USB features for some time now — so long in fact that I’ve had a chance to train my wife and kids how to use Linux, Thunderbird, and OpenOffice. We once were the target demographic for ReactOS, but probably not anymore.

    2) It may have been better spend a bit of effort coming up with a X-windows drop-in that better mimics 95/98/2000/XP’s look and feel. But, then again, my family is finally used to GNOME, so we’re probably not going back now anyway.

    1. What point are you attempting to make?!?!

      Firstoff, virtualbox isn’t an operating system, you still need to install something on it, be it windows, linux, or ReactOS. Using virtual-box doesn’t help you *not* run ReactOS or Wine, it just means they don’t have to be your primary, physically installed operating system.

      Second, the linked software is an X86 virtual machine for ARM, which again needs something installed on it, be it windows, linux, or ReactOS.

      1. Getting old windows support on modern hardware, especially for old or botique applications can be handled by running a virtualized instance of windows.

        What’s even better with this scenario is that a working instance of the version of windows you want to use can be cloned and reverted to should your currently running system fail.

        That’s the point, to focus on the end application.

        1. You still have to pay for all those virtualized instances of Windows. That’s where ReactOS would be great, if it worked well enough. As it is, my costs for legal MS OS copies actually exceed my costs for hardware.

          1. I’m not following.

            I have a windows program I really want to run. It requires XP. I want to run a modern OS for day to day work, besides running the program on XP. For my needs virtualbox worked perfectly, but so would QEMU if I could handle the speed differences.

            In my example this is a USB programming dongle passed through to the windows instance with a windows based IDE for debugging.

            Wine is incredibly buggy and does not work for me for USB devices like debuggers. I doubt ReactOS works, but I have not tried it.

            What do you mean by “All those virtualized instances”, how many would you need? What application are you trying to solve?

            Are you talking about building something new or supporting something you already paid for? In my case it’s the later, and doing what I did allows me to retire an old machine.

            If I was to test out ReactOS, I would probably try it out through VirtualBox first. If I don’t like it, away it goes.

          2. evad — “What do you mean by “All those virtualized instances”, how many would you need? What application are you trying to solve?”…

            lessee, I have 3 virtualized XP instances right now running about 20 applications that I haven’t successfully migrated to Linux yet. Things like my software-defined radios, my weather station, my NOAA satellite downlink and antenna pointer, audio and video gear, and a random variety of old pieces of software/hardware. I have more than one client instance, because not everything runs nicely together on the same client.

            Plus my kids have two Windows laptops that they need to stay compatible with their schools (the teachers complain to me every time they see my kids boot up Linux, and I’d rather not deal with them any more than I have to).

            So, we’re talking about 5 licenses at $50-100 a pop to run on hardware that cost me less than that to acquire. If a combination of Linux, WINE, and ReactOS on VirtualBox allows me to reduce the licensing cost, great! I’d like to get rid/sell the XP licenses from my infrastructure, but not at the cost of functionality or legality.

            It’s one thing to clone out a Windows OS instance a few times — it’s another thing to pay for them and keep them legal.

    2. “…until I started using virtualbox.”:

      Oracle VirtualBox is a fine product, but you still need something to run on it as a client OS. ReactOS would be my choice if it worked well enough for the stuff that I absolutely, positively, needed Windows for (and WINE can’t handle). But, alas, I’m still beholden to MS (and paying for their products) for the stuff that doesn’t have Linux equivalents yet.

        1. I agree, and I will be doing that as soon as 0.4 is public (don’t have time to compile right now). But the point I’m clumsily trying to make is that OVB is not a solution by itself — you still need a client OS.

  5. If only Apple had adopted BeOS… But Apple and IBM would not share critical information for BeOS to run on G3 CPU Macs, so Be had to port to x86.

    Then Be got the mistaken notion that Internet Appliance thin clients were the wave of the future and wasted everything on that doomed to fail front while neglecting developing BeOS as a general desktop OS.

    What might have worked is if Be had come up with a modern equivalent of the Atari ST, a computer with advanced music hardware built into it. ST’s hung on for many years in the music business long after the last Atari computer was produced. Specialization, focusing on the multimedia strengths of the Be system, would have had a greater chance of success than silly internet appliances very few people wanted.

    Media 100 was developed to cost much less than any other non-linear digital video editing system, but a full up system still could easily ring up a $15,000 bill.

    Imagine a BeOS powered box that could match any other video NLE *plus* the capability of a digital music creation system, for perhaps a mere $5,000 or less in the late 90’s? The other systems extreme cost was due to there not being a real huge market (at the time) for professional digital video editing systems. Consumer level video capturing cards and software in the 90’s whetted appetites for many wannabe video masters. Media 100 made it possible for the most serious to get their hands on professional, studio quality systems. Then Media 100 sank a ton of money into 844/X, just in time for HD to come on strong, thus few of the non-HD capable 844/X systems sold. Boris FX owns and has recently revived Media 100 as an OS X only software product, currently selling in a package deal for only $99. Rumor has it they’re ruminating on returning M100 to Windows. Dunno if they’ll call it iFinish again.

    A BeOS video and music system at far lower cost would have blown the market wide open, expanding the potential customer base to many times what Avid, Radius, Quark, Quantel, Media 100 and the few others were selling to.

    1. Internet appliance thin clients actually were the future! Nearly everyone uses a smartphone, tablet, or Chromegadget now, and they’re mostly used as clients to web services. It just wasn’t feasible in the days of dial-up and ISDN lines that Be tried to launch them in.

  6. in the perfect world react os nailed it and create a unix compatible with windows apps,
    but we are not living in a perfect world, and what began to be a nice idea (17 years ago) now is something chasing a moving target, the last time i tested this os it was similar to windows 98 when the majority of people are using windows 7.

    What i think react os could accomplish the mac os just have done it, apple have created a unix system with the compability of windows programs.

    And i say more, when i be able to run the majority of software in unix then unix gonna rulle the world till then

    1. React OS is not and never will be unix compatible. It’s fundamentally a re-write of the NT architecture, designed to be binary comaptible with NT-compatible (based) operating systems like windows. If you want unix compatibility, got to linux.

  7. From an educational standpoint I can certainly see merit, but let’s face facts, this thing is NEVER going to be a direct replacement to even the oldest versions of windows. Why? Because, quite frankly, windows isn’t Linux. By that I mean the kernel is just a very minor part of the windows OS. There are hundreds if not thousands of random exes and dlls that makeup the operating system and each on of them can potentially have hundreds of api calls. Just system32.dll and explorer.exe could take a lifetime to re-create.

    To those that are thinking “well that’s ok, it just needs to run windows exes” I assure you that doesn’t work. Even the simplest of windows programs rely on the fact that all these add-ons come with windows and call upon them readily. Even a video game is going to make extensive use of system32.dll

    1. They’re already most of the way there for older versions like 2K and XP.

      Hell, one of the big updates in 0.4 is a new (now fully windows-compatible) replacement explorer.exe, to replace their last explorer.exe.

  8. > they’re not stealing anything or breaking into any computers to obtain Microsoft’s code

    There is a project that IS stealing Microsoft’s code! OpenNT is based on leaked Windows NT 4.0 code base.

    interesting thread documenting start of OpenNT project
    from broken code base that would not compile to booting ~Windows 2003 compiled from source.

  9. Interesting. It’s about time that Operating Systems like these will be available. So that windows and mac will lower they license’s selling prize. The More software available the more competitive the market will be and the more Microsoft and apple will lower there price tags. I will want to try it.







Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

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