this post was submitted on 09 Feb 2025
33 points (86.7% liked)
Linux
5972 readers
382 users here now
A community for everything relating to the GNU/Linux operating system
Also check out:
Original icon base courtesy of [email protected] and The GIMP
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
The "let's rewrite it in " trope only works in a small project. Doing it in large-scale years-old well-maintained projects is asking for trouble (especially if there are no unit tests) and friction.
Best way forward if they so insist is to refactor small bits without interfering with the existing code-base.
I'm not sure they're even doing that, I think the policy is that Rust code can depend on C code, but C can't depend on Rust. So at the moment nothing can actually be rewritten in Rust, it's only additions like new drivers.
What prevents them from rewritting old drivers? Some sort of API incompability? I was under the impression they were doing just that.
I think the biggest issue would be a lack of interfaces to the C side code, they're slowly being fleshed out and each one enables more functionality for the Rust modules.
e.g. the test Ext2 driver a MS dev wrote last year after enough of the filesystem interfaces got hooked up
But even then, I don't think the maintainers would accept one that replaces the existing C driver, that'd break non-Rust builds and architectures, and that's a sure-fire way to get Linus on your case. Best you can hope for is one that complements a C driver, and even then I think you'd need a good reason to have two drivers for the same hardware.