Freeing Windows

There have been several attempts to make an unencumbered version of Windows. ReactOS is perhaps the best-known. You could also argue that Wine and its progeny, while not operating systems in the strictest sense of the word, might be the most successful. Joining the fray is Free95, a GPL-3.0 system that, currently, can run simple Windows programs. The developer promises to push to even higher compatibility.

As you might expect, the GitHub site is calling for contributors. There will be a lot to do. The src subdirectory has a number of files, but when you consider the sheer volume of stuff crammed into Windows, it is just a minimal start.

As for the “Does it run Doom?” test, we are pretty sure the answer is no, not yet. While we applaud the effort, we do think it is a long road to get from where the project is to where even ReactOS is, much less Windows itself. Besides, Windows is a rapidly moving target.

As virtualization becomes easier and faster, the need for these programs diminishes. You can easily run a Windows OS inside your host operating system. If it outperforms the original on period hardware, maybe that’s good enough. On the other hand, if you are trying to run old hardware, maybe something like this will let you get a few more years out of it, one day.

We’ve looked at ReactOS before. If you are just looking to reduce bloat, there are other ways to go.

62 thoughts on “Freeing Windows

  1. While I very strongly applaud sucb efforts, why? There alrrady exist wine and reactOS? Why bot cobtribute their instead? Whybdoes one thibg ‘I can do better, jist not the way you do it’? Sure, sometimes its the right call maybe, x11, xorg, wayland come to mind (and In sure certain argumebts can be had there)…

    BTW afaik reactOS began as a wine-OS, and maybe it still uses wine at its core.

    My point veing people reversed and evolved wine for decades, not to make it some bloated clone, but a compatible alternative …

    1. yeah i’m a huge fan of reinventing / rearchitecting something from the ground up, ‘just because’, but really only in places where you can elide a bunch of complication with a better model of the problem. so many problems are hard only because you’re looking at it the wrong way, and a better way of looking at it will make a lot of troubles evaporate.

      but windows compatibility is just a huge surface area to cover! there’s no simplifying assumption that is going to obviate the enormous amount of work that has already gone into wine. if i really wanted to tear it down, i would start with bold world-changing hacks to wine, not starting over from nothing.

      1. I actually saw a post on OSDev about this project the other day. It’s purely a hobby project. They’re pleased with how far they’ve gotten and hope to push it further but I didn’t get the impression they believe it’ll ever be any more than a toy.

    2. “There alrrady exist wine and reactOS?”

      You sure about that?
      If I understand right this is targeting the old 9x line of Windows. ReactOS is NT. Totally different OSs with limited backward compatibility from NT to 9x. How about Wine? I know it does target the 9x API but how long since that has been a main focus of the devs?

      “reactOS began as a wine-OS, and maybe it still uses wine at its core.”

      Wine is not the OS. It’s the API. Yes, ReactOS uses Wine as it’s API but the core of the OS is the Kernel and that has always been it’s own separate thing.

  2. Push all they want for developers (some will answer the call), but I’ve found Linux the best alternate to Apple and M$ . Does everything I need doing and you have the freedom to pick a distro, pick whatever DE you are most comfortable with. Etc. Freedom of choice. Load this. Not load that. Use snaps, don’t use snaps. Need a compiler? it’s available. Updates? Shoot, you don’t ever have to do that if you don’t want to. Your choice. You are not confined to the .net world way of doing things, or the Apple way… Might say the whole world is at your beck and call, now what do you want to do with it … so to speak. Oh and it too runs a lot of Windows applications for those that feel they can’t break clean (or just load Windows in a VM for those times you ‘must’ run it). Choices! :)

    1. I agree but some games are beginning to ban Linux users completely so if that’s the reason for you computer it’s not always viable without dual booting at least(yes even windows vms)

      1. Dunno about you but consumption abstinence is a legit protest form. If they don’t want me and my money I won’t come crawling to them, there is enough other stuff to play.
        If it won’t run under Linux or even Proton then screw them.

      2. Proper qemu/kvm (host CPU topology, appropriate hv contexts, minimal emulated hardware and correct SMBIOS options) passthrough setups pass EAC and so on. I haven’t had a game not work so far. The trick most people miss is the SMBIOS options. Since most people use virt-manager/libvirt in order to reinvent the wheel, their BIOS/baseboard vendor almost always includes the string “qemu”.

        You can find qemu -> dmidecode mapping helpers on github (I’ll post the link if anyone asks about it) to help set up your VM. You can dump your real SMBIOS, but it’s often as simple as “spoofing” it with anything other than the default. I can also share my very nice scripts I’ve spent the past few years honing. Covers just about everything.

        Even popular games from companies who are notoriously unforgiving give me no trouble (looking at you, Blizzard and Diablo).

  3. If Microsoft, Apple, IBM, and other “big-OS” companies were savvy, they would release their “old/obsolete” OSes and other products to the hobbyist community on some sort of schedule.

    I’m thinking “release binary images at no charge 5-20 years after the end of support for,” “release source under some kind of hobbyist/non-commercial-use license” after another 5-10 years, then put the entire source “on deposit” with the US copyright office with instructions that it be published when the copyrights expired.

    Using Apple as an example, all pre-OS X versions of MacOS and all Apple/Claris software for those operating systems “should” be free-as-in-beer for binary download (minus third-party material). Ditto the ROMs for the older computers. Source code for the Apple II- and III-series OSes and software should be available for at least non-commercial use. Ditto Apple-created firmware for its peripherals and other 20th-century hardware (Newton, cameras, etc.).

    Microsoft is a bit trickier – they would reasonably be reluctant to release source code for parts of Windows 95 if that code (with updates, but still recognizable) in Windows 10/11. But 16-bit code shouldn’t have this “we aren’t done making money from it” problem.

    Obviously (and sadly), bits and pieces whose rights aren’t clearly owned by the OS vendor would have to be excluded unless the respective rights-owners allowed it (which I strongly encourage, of course).

    Why is this smart? It’s called marketing. It’s nearly-free publicity.

    1. We should rethink IP protection. To get protection the full source code and data allowing to fully recreate protected thing should go into patent office deposit once protection time runs out it becomes public license. Also time of protection should change and vary depending what it is music, books other arts life time of artist, but medical tech or other deemed lifesaving should be like 5 years(to drop prices and make treatments available to wider public), software 10-15 years or something like 5 years after last update. Hardware say 20 years.

    2. They do not want publicity for someone’s ancient unsupported OS getting hacked while being used in some inappropriate mission critical way. They also would like you to upgrade rather than keep running the old now free version. They also prefer not to give away their source code because big chunks of it are in use in current software. By using this logic, Microsoft should give away Windows 10 at end of support which would give the next OS competition a multiyear headstart to compete with them. All in the name of “marketing and good will of non-revenue producing users”. I don’t expect that to happen.

  4. My understanding is that there are still parts of the original Win NT kernel (and probably other sources — I think DOS is probably long gone) that are still present in the current Windows core.

    Someone did an article a while back (I can’t find right now) saying that no one at Microsoft any longer really knows what all the components do. There’s just legacy stuff in there no one ever touches.

    That means if they ever released a code base, people would be crawling over it in droves looking for zero days and other holes.

    I like the idea of open OS’s but windows is so embedded everywhere (nuclear plants and US naval ships IIRC) that exposing code to bad actors would be a rather fraught exercise. Might be worth it just to help kill the bazillion bugs in there but still …

        1. “— 1993. Older than many HaD readers”

          Many… but not all! Haha, I graduated highschool in ’92! I switched to Windows NT in the mid-90’s because it was required for the DPS Perception Video Recorder. I forget if it was version 3.1 or 3.5, but I do remember it was 4.0 before the Windows 95 UI (task bar, start button, etc.) came to NT.

          1. I remember running beta versions of NT 3.1. It had placeholders for all the icons! If you accidentally set your screen resolution to something your monitor didn’t support? Well, a reinstall was in your future.

    1. Fair points on the heritage components still being in use and… incomprehensible(??) to current developers. 😬
      Security through obscurity (https://en.wikipedia.org/wiki/Security_through_obscurity), solely by keeping it closed source, is surely not a justifiable security strategy especially for juicy international targets… Not that open source is immune from long-term open bugs (OpenSSH vulnerabilities for example?); however, finding, knowing, and potentially fixing it yourself (and contributing back) outweighs sitting, waiting for updates from your trusted vendors [cough] if/when/how it is fixed with closed source, right?

    2. Well, if an attacker can even get to a windows box running a nuke plant or a warship to exploit a zero day, you’ve already lost. Whether that’s because you’ve got it connected to the internet (OMG Why?) or you have bad actors or dumbasses that do have inside access to the secure network, that’s the first thing to fix.

    3. The Windows source (all of it) is basically an open secret. Lots of companies and governments have access to it via the shared source agreements. I remember working with it back in the day with Server 2008 being used in aviation equipment. We compiled the whole system weekly out of our own source control. You don’t have to look particularly hard to find recent source leaks, (though you obviously shouldn’t) and if I can find it within a day, you bet every bad entity out there has it too.

    4. Safe assumption that code in an OS is there for a reason apparent at the time and since there is lots of applications that might need it, no one is going to rip it out and see what happens unless there is a security flaw. There is also not reason for a company to release IP that might help someone develop a competitor. Imagine this headline “ Apple’s latest release runs all your native Windows apps natively “. If it was open sourced, that could happen.

  5. I am always open to a new compatibility tool for windows executables. I even use a 16 bit layer to run Windows 3.1 programs in Windows 10. In Linux I frequently rely upon wine and proton for compatibility, not everything works but what does is a blessing.

    1. Because of the F word ?
      I always was under the impression that’s correct US English.
      That the native speakers constantly use it, that it is an univeral word of culture.
      “F… you.” is like an “hello, dear friend!” in traditional English.

          1. Yes, it used to be a more or less clinical term. Growing up in the 90s, I heard it used a lot on the playground as a pejorative. By the early 2000s it became un-PC because it denigrates “people with learning disabilities” (which is the clinical descriptor that became the replacement). However, the word seems to be having a recent renaissance amongst “culture warriors” and people eager to posture about how much they don’t care about hurting your feelings and whatnot.

  6. Having a full source code release of classic MacOS would be crazy fun! Apple’s popularity could actually benefit from the re-incarnated zealots. There are so many direction we could go with improvements while keeping what we loved about MacOS while dropping the legacy cruft to make it do awesome things.. (maybe even release classic environment). I would chop it down into a minimal graphical OS for arduino. make it run on every random PPC computer out there. who cares about the Apps, make it compile and run on a new intel cpu for no reason other than to do it, and flicker to menus at 10billion FPS.

    1. Actually.. There had been replacements to 68k Mac OS (aka “System”).

      The emulator “Executor” for DOS did re-implement it, so that Mac OS 7 applications could be run without a copy of Mac ROMs (they have Toolbox) and System floppies.

      https://www.youtube.com/watch?v=qVWLBpfrRuk&t=948s

      For Atari TOS, something similar existed: TOS2Win. It ran TOS/GEM applications on Windows.

      Then, there also was Apple’s A/UX.
      It was an Unix with a System 7 application compatibility layer.
      It ran a visual twin of Finder.

      https://www.youtube.com/watch?v=nwrTTXOg-KI
      https://www.youtube.com/watch?v=gFMvzysIXzY

      Also, there was MAE, “Macintosh Application Environment”, some Mac environment for Unix.

      https://lunduke.substack.com/p/remember-when-apple-built-a-mac-os

      Last but not least, there were MacWorks and MacWorks XL.
      Special builds of System for Apple Lisa, Lisa 2 and Macintosh XL.

      https://www.youtube.com/watch?v=tnF7suwqKhA

  7. I have no idea why this gets so much coverage. It’s a joke of a project created by someone who starts a new “operating system” literally every week (seriously, look at his GitHub project list). It can NOT run any Windows stuff, it doesn’t even have a PE loader or implement the most basic WinAPI calls. Parts of the code seem to be copied from operating system development Wikis and the rest implies this person has not much of a clue.

    Does nobody check any facts anymore?

    1. It was not obvious that this is a joke. Win32 environments aren’t unheard of.
      There are WINE (*nix), ODIN (OS/2) and HX DOS Extender, for example.
      And ReactOS, of course. Building something with a Win32s level of compatibility is feasible.
      People even re-build Win16 API. Let’s take Win3mu or Watcom’s Win386 Extender.
      It’s not obvious that people with bad sense are out there who make false promisses, thus.

        1. It used to be, 15 years ago, maybe. When Windows Vista/7 had classy Aero Glass..
          But not since Windows 8 or 10 anymore, I think.
          “Modern” minimalistic UI/UX has no borders, no contours, not distinct elements.
          Making something that used to look like joke scribbled in MS Paint is a form of serious art now.
          The Android apps with their hamburger menu look not much different, I think.
          Or the white, blank websites of modern mobile web in western world. Looks like a caricature to someone who used to browse text-heavy HTML websites the 90s.
          So it’s not obvious anymore what’s a joke and what is not.

  8. The reason people don’t run actual old copies of windows 95 and would rather build this, or reactos is because of licencing. Sure you could probably run an old pirated version of the software, and maybe microsoft won’t care. But any legitimate organization, project, or business can’t do that.

    Could LSI ship a pirated version of DOS with their DOS configuration utilities for old hardware? No, absolutely not. They ship FreeDOS instead.

    Just because retro hobbyists are comfortable with a little victimless piracy doesn’t mean everyone else is too. (and as we’ve seen when chinese pocket retro PC makers pirate Sergey’s GPLv3 PC BIOSs, sometimes comfortable with real, honest-to-god victimed piracy too)

    1. Any legitimate organization or enterprise should NOT be running any app that requires Windows 95 compatibility. Never, ever, under any circumstance. Time to update your technology.

  9. Why would Hackaday portray this as a serious effort to replicate any actual Windows version? Publicity is good, but please don’t be misleading about a hobby project. It only elicits negative comments, as can be seen in the comment section here.

  10. Windows can be downloaded and run for free without activation, losing only a few features though “gaining” a watermark. Inexpensive licenses are also available, and future upgrades are free. Many free development tools and documentation is available, including Visual Studio Community Edition and the cross-platform Visual Studio Code. And Windows includes a subsystem, WSL, to run Linux and Linux apps alongside Windows apps.
    Free, though limited, web-based and mobile versions of Office products (MS365) are available too.

    So it’s possible to stop writing the tired and no longer clever “M$” in 2025, especially next to “Apple”.

    Sure, maybe you only need Linux. Or just prefer it. Obviously the opposite is true for many other people. And nothing stops you from using both.

    1. Naw, as long as the project was/is fun, worth it to the creator, and maybe a few others who’s tastes run in the same direction. Who is to say how you or I use our time :) . Shoot, I just completed (well, never completely complete) a python application to simulate (not emulate) DOS (with hooks into the GPIO) via serial interface and run Basic apps on a Pico2. The application also runs on Linux too. Just for fun!

  11. Quite an embarrassing article to have posted. Deserves a correction IMHO, and maybe spend a bit more on editorial quality. Even if 90% of the job is repeating what people wrote on the internet, you still should make a vague attempt at checking if what they write has any connection to reality.

  12. Funny thing… correct me if I’m wrong… but I was under the impression that Win-95 did rather better than the 80×25 screen hardcoded in the source.

    Anybody who wanted textmode win-32 could do far worse than resuscitating Sanos, which could host its own development tools.

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.