ReactOS Newsletter 103 – Late 2023 News
reactos.org
reactos.org
Windows 10 going out of support is not going to cause the computers to stop working and become e-waste. Commonly used software (such as web browsers) will continue to support Windows 10 for a few more years; Windows itself may be less secure, but for basic usage and with a restrictive firewall, it should be fine.
If you’re concerned about lack of support for Windows 10 and want to switch to a supported OS, you’ll be better off using Linux.
Of course I know that computers don't stop working after just because Windows 10 went out of support. It's more of, for example, a severe vulnerability is discovered that has been fixed in later Windows versions but not 10 that may cause some people to panic. Maybe I'm being paranoid here, but I did raise some valid points, some of which coincidentally play into profit motives such as by encouraging the purchase of new hardware.
Does the world really need a buggy Windows Server 2003 reimplementation? I think the efforts of the development team could be better spent elsewhere.
Talking about this, has it ever been established if ReactOS is actually 100% authoral code? I thought I remembered someone from Microsoft discussing somewhere (maybe Hacker News?) how everyone there thought it was based on RE that wasn't clean-room or leaked code.
How would you establish that?
> I thought I remembered someone from Microsoft discussing somewhere (maybe Hacker News?) how everyone there thought it was based on RE that wasn't clean-room or leaked code.
And SCO was sure Linux used Unix code. In both cases, I'm assuming FUD until given stronger evidence.
I have a position on this: Sure, why not?
I do understand how at this point in time, this seems like a waste, at least if you consider intellectual curiosity a "waste". Hell, I kind of agree: right now, there's not too much coming out of ReactOS that's actually terribly useful. It's mostly a curiosity to me, and I'm sure to many developers it is a fun hobby. They do actually work on a lot of cool things after all.
However... we may be in an interesting transition right now. For the longest time, desktop computers were moving very fast. In this period of time, big corporations like Microsoft were often able to strike first and deliver sooner than smaller companies and hobbyists could've ever hoped to. XML, UNICODE, you name it, Microsoft was aiming to go to market earlier (and then sometimes, stagnate for a while...) And during this time, desktop computers and the software on them evolved fast.
At some point, we have to admit that things have changed forever. Desktop operating system design has effectively stopped moving. The biggest changes being made to desktop OSes today is just trying to mold them to be more like mobile operating systems. Instead of investing in new OS research, trying new ideas for capabilities and permissions, and giving users more control, desktop operating systems are patching around their security problems with giant bandages and strapping on app stores. Apple and Microsoft have a financial incentive to not give a shit about desktop operating system design: I think the majority of the benefit that can be gotten out of improved OS design has already been realized. The PC market will continue to grow at a glacial pace for a while, but it's not enough for anyone to really pour huge amounts of investment into, considering there's more growth and money to be made in other places.
Because of this slowdown, a target like Windows Server 2003 isn't as bad as it seems. Consider the following: Windows 3.11 was released in 1993, 10 years before Windows Server 2003. And you can absolutely tell that the difference between Windows 3.11 and Windows Server 2003 is factors greater than the difference between Windows Server 2003 and Windows 8. Don't get me wrong: they clearly made many improvements under the hood, refreshed the UI (uhhh... mostly, anyway) and added boat loads of new features. But, Windows Server 2003 is still a quite modern operating system for what it is.
Also, while ReactOS targets Server 2003 for compatibility, that doesn't mean they limit themselves to what Server 2003 can do. Obviously: it ships with a btrfs driver and package manager.
If it takes ReactOS 20+ years to catch up to what Server 2003 could do, I don't think it would be considered "useless". A fully-patched but reasonably modern and stable system that is compatible with Windows 2003 would be a godsend today. Because why not? There's nothing really wrong with this target. And once they're up to that point, they could always just simply keep going. Nothing says they have to stop at 2003.
And also, that's kind of the thing about open source. I think open source is bad at cutting edge, but it's good at "slow burn" stuff. Because once you've done the hard work of actually producing something useful, it will exist in perpetuity. It'd be hard for a company to just maintain something like ReactOS for years without any certainty of an eventual payoff, but a bunch of open source contributors mostly doing it on the side can pretty much do it as long as they feel like doing it. Traditionally, I think that this has been overlooked in part because programming practices, computers, and software used to move a lot faster, and because of this, code tended to "rot" pretty fast. Maybe there's still some room for that, but actually, I think that's also slowing down quite a lot, even with a lot of newer experimental programming languages with novel features and design, and even with the C++ language continuing to move fairly fast. Programming tools are improving rapidly in some regards, but the changing practices of programming do appear to be slowing down a little in general.
So the way I see it, all this work will accumulate and compound into something meaningful if it is to continue for a long time. As a hobby project to satisfy some intellectual curiosity, it's great. Will it ever be "useful"? It's certainly open for debate, but I think the odds are actually surprisingly tilted in its favor.
ReactOS does not have any telemetry. ReactOS is original Open Source code, developed outside of Redmond.
It is not disappointing when bug in ReactOS is fixed. It is a reason to celebrate and be happy.
Plus code from Wine, the same project that is used for running Windows programs on Linux distros and macOS, and the basis for Valve's Proton tuned for running Windows only games on these operating systems.
We can say that ReactOS even benefits from some Proton development, although indirectly.
At the same time ReactOS is sometimes disappointing as you say and feels like it's never going to be usable. In late 2023 now, it still rarely runs on real hardware at all, and is missing lots of features you had twenty years ago in XP. USB 2.0 is only supported partially, USB keyboard support is incomplete, wifi only supports WEP authentication, which has been deprecated for the same twenty years, etc.
I admire the project for still continuing with what's an extremely difficult task - they're reimplementing the NT kernel and some major userspace programs like explorer.exe but at this point I don't know if I believe ReactOS will ever reach parity with WinXP. I just checked and they still don't have RW support for NTFS, which was the default file system for XP in 2001. For Linux, ntfs-3g was fully RW in 2007.
The problem is of course that anyone using the source code would be in legal trouble, and ReactOS has a policy of not accepting contributions from anyone who has as much as looked at the actual Windows source. How well they maintain their clean room is an open question, but an OS based on leaked or decompiled code would definitely be getting sued into oblivion.
There are plenty of systems where you might have a $5 million piece of hardware, tied into a $1 million of revenue per day process, that's all driven by a very specific machine with a very specific version of Windows and very specific peripherals.
Being able to replace them as close to identically as possible is a huge business. That's why there are weird service contracts that promise like-for-like replacements, and why a random scrap 20Gb HDD might be worth $2 for the magnets inside, or $300 if it's some specific Dell/IBM/HP FRU that can be fitted into an unreplacable system.
The software is becoming a challenge there. Until recently, you could just pay Microsoft progressively more and more money to at least get a checkoff that you were getting support for compliance-related things. But now, you really need to find something else if you don't want PCI or HIPPA people threatening to nuke your facility from orbit. ReactOS is the closest thing we have to a lifeline there.
> UEFI support in ReactOS is experimental and under heavy development. It is not yet ready for general use and is not currently present in our main repository. We currently cannot give an estimate as to when it will be done, so please stay tuned!
Implementing UEFI boot is not like switching a car from gasoline to electric. It's like using an adapter to switch between China electrical plugs and UK electrical plugs. It's not really a huge undertaking. Normally! I suspect that ReactOS has become so complex that simple things take a long time. Probably a lot of waves of developers have worked on this project. Probably it has seen better days.
It's probably a good space for someone to start from scratch and make a competing NT implementation.
It's certainly not competing but SerenityOS probably has more mind share and development than ReactOS. However I do not know how well Serenity runs on real hardware or if that's even the focus. Overall Serenity has a similar aesthetic without the backwards win32 compatibility. Maybe someone will port wine to SerenityOS...
If ReactOS ever manages to make its goals a reality, not only can you run basic Windows applications on it, your Windows XP drivers will also work. In a perfect world, ReactOS will provide "Windows XP, but open source and with the security holes patched".
That's completely different from SerenityOS's "let's make a modern operating system using modern tooling with a modern API that happens to look like a late 90s OS". If all you care about is running programs in Wine with a Win9x aesthetic, you'll have a much easier time theming LXDE or KDE instead.
When it comes to direct contributions to the project, I'm pretty sure only Andreas is working fulltime on generic SerenityOS+ projects. He recently made a series of videos about adding a JIT to Javascript which I found to be quite a typical SerenityOS style diversion, like Jakt had been for a while before that.
However, that's just the stuff you find on Youtube. The project itself is receiving commits all over the place: https://github.com/SerenityOS/serenity/commits/master
Most of the OS advancements have stopped coming from Andreas for a while now, and that's not necessarily a bad thing. There's a very active community working on SerenityOS and the various applications and subsystems within it. The steady stream of commits just isn't as visible and doesn't provide as much progress as three full-time programmers working on the browser does.
Unfortunately, a lot of the work that gets committed to SerenityOS seems to be the result of whatever video Andreas published last. I do hope Andreas switches back to SerenityOS work soon, but I imagine it'll be hard for him to drop such a cool and interesting project.
The source code for the bootloader doesn't seem all that complicated: https://github.com/reactos/reactos/tree/master/boot/freeldr Basic support seems to be finished, but there are still a few open tasks regarding EFI support: https://jira.reactos.org/browse/CORE-9841?jql=labels%20%3D%2....
Based on https://jira.reactos.org/browse/CORE-16175, I think the project is using Microsoft's bootloader to load the ReactOS kernel during the testing phase. If that's the level of compatibility they're going for, I can imagine implementing full UEFI support will take ages.