`In order to track ReactOS compatibility with Windows behavior, 1,088,893 unit test cases have been added since 0.4.5. This new release has been tested through 14,238,159 unit test cases, failing just 18,419 (a 0,129% ratio failure). Still, ReactOS is marked as Alpha for the moment.`
It is getting much better with each release. I'm seeing it each time more as a good replacement for the office machines that need to run the legacy software.
Plus, with this Windows exists no state surveillance involved nor costs with licenses, perfect for VM deployment.
I've used ReactOS at the past to automatically create Win32 builds for software (the real hardware ran Linux, ReactOS was booted in a VM), the command-line stuff tend to work fine. The main problem is that there are still tons of issues with the GUI side, including glaring things like region clipping (you can see obscured windows sometimes being drawn above other windows or areas in some windows not being drawn at all) and a single window being able to hang the entire UI (seems all window message handling is synchronized).
Older software tends to work ok (i ran Borland C++ Builder on it without major issues, beyond the GUI glitches i mentioned), but not perfect. Also old software sometimes tends to include 16bit components that do not work yet with ReactOS.
The file manager was also rewritten at some point and it seems to have issues (e.g. you need to manually refresh the desktop/a folder to see changes, drag-drop doesn't always work, etc). However it is much better than 1-2 releases ago, which shows that it gets a lot of development.
Command-line stuff seem to work perfect (although the current shell is quite primitive) though so, if nothing else it can be used for automated tasks.
IMO they should try to pay a bit more attention to getting the basics of the GUI side working since this will attract more developers who are interested in helping with the higher levels (as higher as working with stuff like user32.dll etc can be anyway) but don't want to mess with the low level stuff (graphics, etc). I think ReactOS is still at a point before the "snowball effect" with its developer popularity.
> Also old software sometimes tends to include 16bit components that do not work yet with ReactOS.
Possibly some "new" software too? A few months ago on HN there was a thread about the "age" of various software, someone had mentioned that Visual C++ traces its lineage back to 1983's Microsoft C (written in pre-ANSI C and 16-bit x86 assembly for DOS), and I said I imagine they must've thrown that code out when rewriting it in C++ for Win32, but then someone from the VC++ team corrected me: a lot of that code is still in there.
Of course, 64-bit Windows doesn't support 16-bit programs, so I'm not sure if those parts are only still present on builds for 32-bit Windows, or if they're recompiled as 32-bit, or if they're run in a VM or kernel module.
I'm going to guess that some stuff might be there, if for no other reason than to support the bootup process for computers that use the classic BIOS which starts at 16bit real mode.
Although considering that 32bit Windows can still run 16bit code, i guess they also need to be able to compile the 16bit-to-32bit bridge code so this is probably another reason why the 16bit stuff exist.
> i ran Borland C++ Builder on it without major issues, beyond the GUI glitches i mentioned
To whom does the Borland C++ builder belong. Because I wonder if there will open a market to get old c++/pascal code running in ReactOS?
There is projects like lazarus and free pascal.
But if you can keep your legacy win32 stuff in a self contained ReacOS vm...
This will solve the enterprise problem of keeping legacy applications contained without win related licencing worries.
Also your long term support looks more promising with ReactOS compared to Win XP; But microsoft will still drag the bone along for a little longer if not indefinitely at a enterprise price, ofcourse.
Note that i remembered wrong: BCB doesn't work out of the box, there is some issue with paths and such (i tried a few hours ago to install it in the latest version). I remember i solved it at the past, but i don't remember how i did it.
> Because I wonder if there will open a market to get old c++/pascal code running in ReactOS?
Well, if ReactOS is supposed to be Windows compatible it should be able to run that software without any explicit support for it since they work fine in Windows 10 (and as you say it is more likely they'll continue working on ReactOS than Windows - after all Wine can run today old 16bit software even on 64bit Linux, unlike Windows).
> But if you can keep your legacy win32 stuff in a self contained ReacOS vm...
Personally i prefer to run things natively because i often use those older tools for "real" work, mainly because of their speed (i write a game engine in C and Borland C++ 5.0 can compile the entire thing in less than a second). C++ Builder can also be very helpful to create a quick and dirty GUI for some C library (merging oldschool retro with bleeding edge, i modified GLEW to work with C++ Builder to create some tests for OpenGL 4.6 that was released a few days ago - being able to easily throw sliders, knobs and other widgets is neat).
Embarcadero was the company which made historically significant projects, like Turbo Pascal, downloadable quite a few years ago: http://edn.embarcadero.com/museum/
Sadly, this stopped around when they changed the name back to Borland and years before they split into "Borland" and "CodeGear". I wish they would release Delphi 1 at some point, but that never happened.
My department will be adopting ReactOS as soon as is possible - the amount of issues being purposely built into newer versions* of Windows is borderline hilarious. If we could pay for using LTSB installations we would do so but for a smaller charity this is near impossible.
*When car manufacturers reach peak saturation with a given model they expand/consolidate their position by improving their product, NOT by making the consumer buying their car the product...!
Well, on account there isnt really a working AD or SMB implementation, little printing support, and most NICs arent supported (also: no wireless at all), then I would say there is little attack surface :)
Yip, I remember a virus that hi-jack your bios to draw a flag of some country before every boot; this was in 1998/dos years. You were "sharing" games with your friend they downloaded from geocities... good times. To think a intel ME like vulnerability was already possible back then(if not more) for your bios.
I love ReactOS and what they're trying to accomplish. Every release keeps getting better. Weirdly though, it seems like every release is just one release away from me being able to fully switch to it.
One thing I wish would get fixed (though I understand why it hasn't been yet) is the USB boot option. Most of the physical devices I want to run it on lack a CD drive.
I think you can use Rufus to boot using the ISO file on a USB drive. I haven't been able to test it, but it says it supports ReactOS. http://rufus.akeo.ie/
Doom most probably use a very superficial part of windows. Mainly, whatever is needed to put a framebuffer on screen. So although this is definitely a good news, it's not that impressive. Does it run MS Word or Visual Basic ?
Note that VB6 was released in 1998 and thus was expected to work on Windows 95/98 and NT4 (and Windows 2000 when it came out). It is kind of sad to see that ReactOS is not there yet...
My guess is that most of API is generally there, but the issues i mentioned elsewhere in this post with the region stuff cause the glitches. This looks like a simple thing to fix (i've implemented regions at the past in an experimental winsys i was writing on Linux [0] so i have a general idea of how they work) for someone with knowledge about ReactOS' graphics stack, so i suppose there are reasons it hasn't been fixed yet (maybe it relies on driver support and they plan to change the driver model? Just an assumption).
Does anybody have experience with using ReactOS for hosting e.g. videogame servers? I wanted to host the servers of a few old games in a vm (just for some friends), and I'd obviously much rather run ReactOS than some outdated Windows.
Kudos to ReactOS team! I've never used it in production, but I tried it several times during the years and I was always fascinated by the efforts made to improve this OS.
Would it make sense (understand: is it now stable and compatible enough) to use it as a development platform for Windows version of a software (supposing that we haven't any real Windows available)? Any experience with it?
The mingw cross toolchain works surprisingly well; pesign and msitools (living under the GNOME umbrella) can also be used to produce UI-less .msi installers through a (very) minimal Linux-native version of Wix called Wixl.
(I was one of the two original authors of msitools, taking care of porting Wine's msi DLLs to a POSIX environment. The other guy took care of making the API less Windows-like, ported .cab file support and wrote Wixl).
And if project using CMake then it's even better with MXE [1]. It's basically let you build toolchain with no effort by typing few commands and while I didn't test Wix it's perfectly capable of creating installer with CPack / NSIS.
Another option is to use AppVeyor CI + Microsoft's Vcpkg [2], it's also integrated with CMake and require no manual setup.
NSIS (imperative) is much inferior to MSI (declarative). MSI tracks each file's users and is able to automatically uninstall packages as well as rollback installs that fail in the mid of a transaction.
Thanks for the information. Now I have a reason to check Wix. Though so far NSIS worked well enough because we efficiently only have one component, all libraries needed just bundled inside and it's just 15-50MB in size.
I used ReactOS at the past for automated builds, command-line stuff generally work (almost) perfect. But using it for actual development might be a problem since the GUI bits tend to glitch out even with very old applications.
It does make me wonder where did the rest of the space in a Windows CD go to? I mean they needed a full cd for it and it wasn't even a live cd. And React OS should atleast have most of WinXP's features and yet is much smaller. What did microsoft use the rest of the space for?
ReactOS ships with more translations than any Microsoft Windows. But translation does take much space, it's just text in RC files linked to binary files.
Lots of drivers, for one, and a lot more functionality (the live CD certainly doesn't do Active Directory!).
Plus, everything in the base system is in two copies, one for the boot environment and one for the installed version, similar to initramfs and RPMs for Linux.
I can see that this is an awesome achievement but why would people, not involved in the project, choose to use it instead of other operating systems such as windows itself?
What are the differences between Windows and ReactOS?
There are mainly two. Firstly ReactOS is open source. Secondly ReactOS is Free. Also Windows (especially the newer versions) are known to monitor all your activity by default. So if you're concerned about your privacy or just don't want to share any personal info, we promise (and you can check our source code) that we don't track any of your data.
"Monitor all your activity by default" is serious FUD here. There is some telemetry data collected and phoned home, but it's not like they're monitoring what websites you go to, what you write in your Word docs, etc.
Went looking for it just in case it's true and... nothing. There's a case of predictive text system in windows 10 which can query for suggestions (there's an option to disable it), but no keylogger either in edge or windows that I can find. And the predictive text didn't use HTTP.
I grew up with DOS and Windows, I have no interest whatsoever in moving to Linux; in fact I have an active disinterest in doing so, if for no other reason than the fact that all my software is for Windows. ReactOS is my main upgrade option, because I don't want to be tied into all of the Win10 nonsense.
On top of that, I have several old (XP-era) laptops which still boot, still can play my older games and get on the Internet, etc. They're not really capable of running even Win7. ReactOS allows me to run a newer OS on those old IBM battleaxes.
Damn! Are you saying that you won't buy a new PC, that is, condemning all the effort of Microsoft to sustain economical growth and, therefore, kill employment. I can't believe it, that is so against the current economical paradigm. :-)
Fair enough, I can appreciate that wanting to be able to continue older software a valid reason. Just to add that I've had good success running a vb6 application on WINE on Ubuntu.
Old Windows versions are not available from Microsoft (or at least not without some expensive special contracts). I see the main use case for ReactOS is running legacy software for which upgrades are not available or are not otherwise feasible.
One reason would be price. Another reason would be software compatibility. Many people praise Windows backwards compatibility, but that's not the case in my experience, a lot of poorly written software breaks with new Windows versions, so people forced to stay with XP. I'm not sure if ReactOS would have better compatibility, but it's a chance. Also some people just want to use free software for their own reasons.
I keep trying to use each version of ReactOS in order to run the Windows XP programs, I still need some of them.
In 2017 I can't even buy Windows XP in Microsoft Store.
...for good reason? Technologies from XP are by now insecure and obsolete. Why would Microsoft sell XP still? Does Ford still sell 1998 F150's at their dealerships?
It's a fairly straightforward cost-benefit analysis. Some of us rely on software that would otherwise be too difficult or expensive to replace, software that only runs on Windows XP for a variety of reasons. In my case it's a device driver that interacts with a very expensive flow cytometer. We've taken other precautions in order to protect the computer, and we're reasonably confident we can operate it safely. The same goes for many, many other Windows XP or Windows XP Embedded installations, where it's basically treated like firmware and carefully walled off from the outside.
Does "VM it" work? I mean, there is PCI and USB-passthrough in qemu, so this might be an option, especially since VMs are easy to sandbox (easier than physical machines where someone might simply plug a cable in so he can watch YouTube, for example).
Mitigations only make sense in a cost-benefit analysis when there's a corresponding threat. Why would someone bother with watching YouTube on a junky old PC in a corner of the lab? It doesn't even have an audio card, let alone a modern web browser. Besides, it's on an isolated VLAN and monitored (and backed up) like a server, so anyone messing with its network connection will cause the equivalent "server down" alert in our NOC, not that it will do them much good: This particular lab is in a pretty remote location where network bandwidth is at a premium, so we block YouTube campus-wide.
Frankly, I'm only really worried about malware somehow sneaking aboard the thing, which is why it's on-network in the first place. I don't want people plugging flash drives into it. And fortunately, there are still antivirus products that support Windows XP, which keeps the riff-raff out.
There are a number of old software that won't work on modern versions of Windows and old versions are no longer maintained.
Even "offline" use, e.g. in VirtualBox with no network access can be problematic; for example my XP installer comes with SP2, but it is no longer possible to download SP3 from Microsoft.
Having said that, ReactOS still needs quite a bit of work to cover that niche, in my opinion.
You appear to be far too bothered what other people are doing with their own time. If they're not doing anything illegal or immoral, I fail to see the problem you have with this.
Using a third party implementation of the Win32 API reminds me of vegan cheese. It's great in theory, but it's never quite good enough. You'll either end up giving up and eating real cheese (using Microsoft Windows) or use some other ingredient (a different software product that runs natively on your OS of choice).
Think about it more like a substitute ingredient which provides a vital service in a recipe, such binding (like egg). You need something for that purpose to complete the recipe, so it's eggs or some replacement.
There's lots of legacy software targeting win32 out there.
Slightly off topic but you mentioned it. There have been some great developments in vegan cheese, most notably Daiya. The first time I tried it at a restaurant I sent it back thinking they made a mistake by giving me dairy cheese.
Going back to the topic, I hope that ReactOS/Wine will sometime become a better Windows than Windows itself. (This, at least, is what was said about OS/2). In some ways it already is, I am sure.
I agree. Although "better" depends on opinion and usage. For some of my needs, such as developing for HoloLens, ReactOS has a long way to go. But for other things, such as solving Windows crackmes, ReactOS might be a good candidate.
This might be a good candidate for running my automation software in the future. I actually run it headless, but on Windows with a GUI for compatibility reasons with the way I wrote it (Visual Basic, WinForms, etc.). I was a little sad buying a Windows license for a single-app headless PC, and had to do a lot to mitigate unwanted Windows 10 behavior.
Is there any popular CI-testing service providing ReactOS as a build/test/deploy target? It would be interesting if someone like Travis or Appveyor could offer that.
I guess I should have bought a GeForce 9 series videocard instead of GeForce 10, as it's the last one having drivers for Windows XP. Might have worked with ReactOS.
The great thing about developers working on a project in their free time, is that they can choose anything they want. They're not constrained by what other people think they should be doing, despicable or otherwise.
Why do you think they believe ms to be evil, and why do you think it is their motivator ? There are practical reasons behind reactos : programs and drivers written for old windows versions are not compatible with newer ones.
14M tests are impressive.