Redox OS, the Rust-based operating system aiming to be a general purpose operating system, has detailed its priorities for 2023 and 2024, and there’s ambitious stuff in there. First, the project wants to shoe up its support for server tooling so that Redox can host its own website. This will require porting a number of popular server tools, like Apache, Nginx, and so on. Second, they also want Redox to be self-hosting in the sense that it can host its own developer tooling, a project they’ve basically been working on since day one.
Furthermore, a stable ABI is a must before Redox can reach 1.0.0.
Before Redox can reach Release 1.0 status, we need to establish a stable ABI. This means that application binaries will be able to run on future versions of Redox without having to be recompiled. Our approach is to make our C library,
relibc
, the interface for the stable ABI, and to makerelibc
a dynamic library. This will allow us to make changes at the system call level without impacting the Redox ABI. Applications will just load the latestrelibc
at run time.Work needs to be done on our dynamic library support, as well as to continue to extend
relibc
functionality. We will also need to change programs that are currently using Redox system calls directly to userelibc
instead.
And finally, Redox intends to be able to run COSMIC, the Rust-based desktop environment System76 is working on for their Linux distribution. Redox’ main developer works at System76, so there’s some strong ties between System76 and Redox. This effort will include porting several applications, but also Wayland, GTK, Qt, and others, which should make porting Linux applications relatively easy.
These are a set of ambitious goals, but I doubt they’d set them so specifically if they thought it’d be a fool’s errand.
I would like Redox to have adopted sel4’s system call. They have similar designs and objectives and building for a bigger ecosystem is always better.