What is the philosophy of ReactOS?

Here you can discuss ReactOS related topics.

Moderator: Moderator Team

Post Reply
Thanatophobia
Posts: 38
Joined: Tue Oct 16, 2018 1:28 pm

What is the philosophy of ReactOS?

Post by Thanatophobia »

I want to know what is the philosophy for ReactOS in terms of its design, its targeted users, the packaging of applications, the inclusion of non-free/proprietary applications, its final release process/model and release channel/branches, and its out-of-the-box experience and included pre-installed software and features.

More specifically:
  • What version(s) of Windows will ReactOS ultimately be targeting? Will ReactOS still be targeting NT 5.2 (Windows Server 2003/Server 2003 R2/XP Professional x64 Edition), or will it target NT 6.x+ (Windows Vista/Server 2008 to Windows 8.1/Server 2012 R2) or even Windows 10 and NT 10-based Server editions? Will it also support Metro/UWP applications and drop support of 32-bit and legacy APIs/libraries/applications/drivers?
  • What is the purpose and scope for ReactOS? To whom is ReactOS going to be geared towards? Is ReactOS going to be used for personal home desktop use, for gaming, for home entertainment, for business and enterprise use, for educational use, for scientific and technical use, for point-of-sale terminals and ATM machines, for industrial and medical use, or for a more general and universal purpose? Will it be designed to run on IoT/embedded devices, on servers or even on mainframes, data centers and supercomputers? How scalable is ReactOS, and would there be different editions and variants based on its application of use and purpose as well of what software is pre-included (such as a Home edition or a Server edition, etc., just like in Windows), or would it be one single edition for general purposes?
  • What is the final release model ReactOS is going to be adopting? It seems to me that ReactOS would most likely follow a regular stable release schedule while also releasing beta and RC builds before the final release for each version like how there are doing now. But how will releases be ultimately scheduled? Will ReactOS follow a more Debian Stable/pre-Windows 10 release model in which every major version comes out every few years (typically around roughly 2 or 3 years) or so with each supported versions receive minor point releases (like service packs)? Or will it follow a more Ubuntu/Windows 10 approach with each released version regularly coming out biannually (roughly every six months or twice a year)? Will once of every few releases (typically every four releases or biennially, once every two years) be a long-term support (LTS) release, with a longer support period than other standard releases, or would each release start with a mainstream support period in which the version receives point releases followed by an extended support period in which it only receives security updates and patches? Will ReactOS also have a rolling release/unstable branch in which everything is continuously and constantly updating and always having the latest features and components?
  • How will applications be installed on ReactOS? What package management system will it have and how would it work? I do know that ReactOS has an application manager with a repository from which you can download software from there, with some proprietary freeware programs included. And using installers for binaries from websites and installing software from physical media is still an option. But it seems as there is no way to download and install them from the command prompt. Can the package manager only download binaries or can it also download source code and compile it? How will the packages in the official repository be tested, distributed and upgraded? Will it also allow the abilities to add third-party repositories? Will paid commercial software also be included?
  • What will the out-of-box experience be for ReactOS? What programs will be pre-installed by default and what software framework/subsystem/component/API will it also have? Will it come with everything a user would need to use the computer right a way, such as a web browser, an office suite and some basic applications? Or will everything be a minimal installation with only essential components needed to run the system in which the user will need to install everything else themselves? Will it include .NET/Mono, some form of *NIX/POSIX compatibility layer, 32-bit library support, or 16-bit/DOS support? Will components from Microsoft that they have made open source replace analogous components in ReactOS? Can you choose which components to install? Will it also include, if legally possible, non-free binay blobs such as drivers or will it just include free codes such as open-sourced re-implementations of those drivers?
  • What will be the aesthetic and design language for ReactOS? I know that you can choose different themes and palettes for these themes, but will it natively support window compositioning? Will the default theme be Windows Classic or would additional themes take on the design of Aero or Metro? And can ReactOS be reduced to a command-line interface without any support for graphics (like in MinWin, Nano Server, Windows 10 IoT Core)?
  • Will ReactOS be a lightweight/thin client system optimized for older and low-spec machines such as netbooks and legacy computers, focusing more on the use of web applications on scope with other systems like Chrome OS and with hardware requirements on par with a Windows 2000 installation? If so, will ReactOS likely always remain a NT 5.x clone with primarily 32-bit support that will pretty much stay the same with each version, with updates only being for security patches and compatibility fixes? Or will ReactOS be a full-fledged and feature-rich system for more modern and capable computers with 64-bit support that is constantly evolving with added new features, something that someone who just bought or built a new rig can install?
  • Finally, what architecture will ReactOS support? Will it always support x86/i686 which is already obsolete or will it also support AMD64? Will it also support other architectures such as ARM such as for use on a Raspberry Pi and PowerPC?
The reason why I asked is because I use ReactOS via virtual machine and I really do like the concept of having a free and open source replacement for Windows that you can do whatever you want to it. And I am planning to do a fork once 0.5 comes out when it's in beta so that I have a more complete and less buggy codebase to work on. Unfortunately, I lack the programming skills needed to develop an operating system and I am to lazy to learn C, even though I could but it would take a long time for me to really master it. And I'm only one man and I would probably need an ambitious team to help me develop it.

The goal for my project is to bring back the design and functionality of Windows 7 with the compatibility of Windows 10 without the telemetry. It will focus on compatibility with NT 6.x and NT 10, while perhaps also removing legacy libraries and APIs if they are no longer needed by currently supported software. It will also incorporate components made by Microsoft which has been made open source, if their version is superior to the implementation that is already there, as well as non-free binary blobs if legally possible. A graphical interface will also be made for the project from the ground up which will support compositioning and combine design features from both Aero and Metro, which will be highly customizable like KDE and bring back effects such as Flip 3D. It will also be released in a stable release model similar to Ubuntu or Windows 10, in which each version is released every 6 months when possible, and every fourth release typically once every two years being an LTS where support would last 5 years compared to the standard release's 1 year. It will be constantly evolving to keep up with current compatibility of Windows 10 and UWP. And these might be goals that could be different from ReactOS's goals that could result in a fork.

The project will come in two main (maybe three or four or five depending on more specific and specialized needs) editions; with a Desktop edition for home, business, and educational users which has all the full features such as window compositioning, and an out-of-box experience such as a pre-installed web browser such as Firefox, a pre-installed email client such as Thunderbird, an office suite such as LibreOffice or OpenOffice, all the basic applications, .NET Core and Mono, Vulkan API, PowerShell, and the option of Solitaire games and ENIW (an implementation of a *NIX/Linux/POSIX subsystem) a few other optional components; a Server edition with an option of either a command-based interface or the GUI without compositioning with server components; a Lite edition which is optimized for low powered PCs such as netbooks (like the Starter editions of previous versions of Windows), pretty much the Desktop edition except with much less features such as the removal window compositioning in order to lower the specifications; a Touch edition optimized for tablets and other devices interfaced primarily via a touch screen; and Embedded for IoT devices and very low powered systems, only offering a CLI interface.

The development of this project will be broken up into milestones depending on which roadmaps are to be met (compatibility with NT 6.x, compatibility with NT 10, the window compositioning engine, etc.)

I do have a final name for this project (although it might still be open to discussion and subject to change, which is why I retracted it for now), but for know let's call this project by it's codename Caelus. Codename Caelus is to ReactOS what Ubuntu is to Debian; with the project syncing with newer versions of ReactOS, being compatible with each other as well as sharing bug reports. The graphical interface and window compositioning manager would be codenamed Chandelier. I also have logos and mockups of the GUI for the project, but I decided not to share them as well. If you want to take a look at them, you may PM me. And I also have two dual-core 64-bit desktops from the late 2000s that I can test my project on, one is an Anthon from 2007 that was originally Windows Vista and the other is an Anthlon II from 2009 that was originally Windows 7.

ThFabba
Developer
Posts: 291
Joined: Sun Jul 11, 2010 11:39 am

Re: What is the philosophy of ReactOS?

Post by ThFabba »

I believe the answer to all of your questions is either "we don't know" or "if/when someone implements it".
The OS is currently so incomplete that it's somewhat pointless to even ask many of these questions. Because the timeline for a stable release is completely up in the air (we literally don't know whether it'll be years or decades), and the world of software evolves fast (and people join and leave the project), the answers are very likely to change over time.

All work on the project is currently done as someone's hobby, so the reason we get new features or designs is because somebody decides that they should work on them. We don't have NTVDM or TLS support or Btrfs support because "the project" decided to do these things, but because there were people who wanted to do these things and then did them. That's why it's hard to say what features will and won't be implemented in the future. For example none of the current developers seem to have any interest in supporting Metro apps. But some person in the future may be interested in that feature and therefore make it happen.
Then again, if/when the project gets major funding from somewhere, all this may change and either the current project members or the people providing the funding or both may create a much more detailed plan and actually implement that plan in a well-defined timeframe.

So, your project sounds great (though admittedly I only skimmed most of your post), but do prepare for the possibility that you'll be in a completely different walk of life when ROS gets stable enough to start off such a project, because it may be decades out.

User avatar
dizt3mp3r
Posts: 1547
Joined: Mon Jun 14, 2010 5:54 pm

Re: What is the philosophy of ReactOS?

Post by dizt3mp3r »

Skillset: VMS sysadmin 20 years, fault Tolerance, cluster, Vax, Alpha, ftSparc. DCL, QB45, VB6, NET, PHP, JS, CMS, Graphics, Project Manager, DOS, Windows admin from 1985. Quad Electronics. Classic cars & motorbikes. Artist watercolours. Historian.

PurpleGurl
Posts: 1788
Joined: Fri Aug 07, 2009 5:11 am
Location: USA

Re: What is the philosophy of ReactOS?

Post by PurpleGurl »

1. It will likely continue to support the 2003 Server for a while. However, some newer APIs are already included. So they may change targets in the future. Nobody really knows. They may add some forward compatibility.

2. The intended users are whoever wants to use it. It would be good for gamers since it can be made really light and fast. Corporate types will like the fact that it is open source and customizable. There are no medical approvals for using it in a medical setting, but there is no reason why it can't be since the source code is freely available for auditing, bug fixes, and more.

3. Don't know.

4. Hopefully, installation should work similarly enough to Windows, as far as the user is concerned.

5. Don't really know. It should be complete enough to use right away, though you'd want to install the drivers. There may be limited network support since ROS has some of the most common network drivers. So if you are lucky enough to have supported hardware, you will be able to install more appropriate drivers online, if you can find them (thanks to Intel for deleting older drivers). You will have RAPPS for installing the most common software.

6. Don't really know.

7. Thin client versions will be available when someone decides to write them.

8. While the official version will likely be for x86 and x64, there is an ARM build.

Post Reply

Who is online

Users browsing this forum: Ahrefs [Bot], DotBot [Crawler] and 7 guests