this post was submitted on 21 Sep 2024
90 points (95.0% liked)
Technology
59441 readers
3613 users here now
This is a most excellent place for technology news and articles.
Our Rules
- Follow the lemmy.world rules.
- Only tech related content.
- Be excellent to each another!
- Mod approved content bots can post up to 10 articles per day.
- Threads asking for personal tech support may be deleted.
- Politics threads may be removed.
- No memes allowed as posts, OK to post as comments.
- Only approved bots from the list below, to ask if your bot can be added please contact us.
- Check for duplicates before posting, duplicates may be removed
Approved Bots
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
None of this drama affects those people who could reasonably be expected to support any OS.
Maybe a handful disgruntled devs will look into Redox, but ultimately, it's a toy project without any real use case. Not that that's bad, but it's not exactly the best motivation to invest your free time into.
Linux was a toy project without any use. Anything starts as a project without any use.
People want to work on it, and they're putting effort in. If it's not for you, that's great. Just move on then
Linux filled a gap. There was hardly any way to get something unixy running on commodity hardware.
What gap does Redox fill? What's its USP? Just being written in rust can't be it.
Even Torvalds said that a lot of critical parts of the kernel are completely undocumented and only one or two devs know how they work. IMO that's completely unacceptable, especially for such an important OS. They've proven they don't want to collaborate or communicate how they work to others.
Rust encodes a LOT of things into the type system, which makes it far, far easier to maintain since you don't need docs, and since the compiler enforces these things automatically. Memory safety is only one of them.
Starting something in a modern language instead of one with so little safety is a massively important feature.
The difference is similar to gas vs electric cars. They're both ultimately cars. Gas filled the niche that horses left. Electric cars have been taken seriously for far less time than gas, but their better technology has accelerated innovation. They almost never need to be taken to the mechanic, don't need oil changes, are way better for the environment, etc. and basically the only gap is getting batteries with larger capacity and more charging stations. We'll get there soon, and then gas cars will be fully obsolete.
In the end, someone who just sees them as one car vs another doesn't understand all the benefits of the implementation.
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 plentyunsafe
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