- cross-posted to:
- rust@lemmit.online
- cross-posted to:
- rust@lemmit.online
I recently discovered that Redox OS got a new release earlier this month. I’m quite surprised how far they managed to get, given that only a handful of people are working on this project (compared to the Linux kernel).
Now, I’m curious what it would take to get bigger players to focus on this project. Given the recent Linux + Rust drama, it would surprise me if the backers of Rust for Linux would not give this project some attention.
I see your point. However, integrating Rust properly in the Linux kernel is an uphill battle. Redox OS is not at all close to being stable, but it showcases that you can build a Rust kernel from scratch, and integrate it into an OS that meets some of the requirements of a modern one. Of course, considering it a toy project and glancing over its potential doesn’t help with adoption. They even mention in their description that currently they can only support a community manager and a student developer with the current donations. When you compare that to the amount of money and developers involved in the Linux kernel, it’s insignificant.
I was not suggesting that the Rust For Linux devs jump ship, but it could be beneficial for the investors behind the project to look at alternatives. Heck, the Linux kernel started as a toy project itself. I believe that a team focused solely on such a Rust-only kernel could spearhead needed changes to reach something stable, as opposed to investing time and money into fighting established C developers to integrate a memory-safe language in the kernel fully.
But why?
Which company can justify the expense for an esoteric OS with probably just philosophical benefits?
Google maybe, they have Fuchsia, but that’s also completely in their control.
Linux is not perfect, but for most companies and products, absolutely fine.
Click for longer opinion
If I remember correctly, even though Fuchsia is used in production, it is mainly targetting mobile or IoT devices. Nevertheless, the underlying micro-kernel, Zircon, is written in C/C++, which differs from Redox. Now, I’m not saying that Redox solves everything by writing the kernel in Rust. It will require plenty
unsafe
blocks to achieve what it needs, but it makes you aware beforehand that you should be careful about how you implement that bit of code. Having this clear marking could also make the kernel code review process more likely to catch issues.Disregarding this, if I am not mistaken, Redox aims to be a drop-in replacement for Linux one day, both for desktop and server, while Fuchsia only wishes to be integrated in/replace Android. Linux is perfectly fine for most use cases, I am not suggesting otherwise! However, given how many issues resulted from overflow/memory corruption issues that could have been potentially easier to identify if Rust (or any other memory safe language) was used, you’d think that there is incentive to rely on it for kernel development. Linus himself made this decision as well when allowing Rust to be used in the Linux kernel development (albeit perhaps a bit too early).
The Linux kernel is not flawed, and Redox is probably years away from being even near it. However, having memory-safety from the get-go as a requirement for developing the kernel could lead to fewer exploits, compared to what we have today with Linux. Just as you’ve said, most users are not aware of it/they don’t care, but the big players will care about keeping information safe on their servers. Just to conclude, Redox OS is not just Linux rewritten in Rust, and could potentially have many other benefits that are particularly juicy for data centers. Too bad it’s not production ready yet :D