Proposal:Should fedora switch to rust base utilities

Rust is a memory-safe language, which means that it is very difficult to create memory leaks
Using rust make system more stable and secure from memory related issues.
I know some are really lacking in features that are required but some already have enough that will do the job…
Coreutils bat etc.

Rust isn’t a magic bullet that makes things more secure. Yes, it is memory-safe but that doesn’t make the applications free from bugs or security problems. Using applications which are not feature complete brings a different set of risks.

Wouldn’t it make more sense to wait until they are mature?

2 Likes

I don’t think we’re there yet on mass adoption. People expect certain tools to always be available on a Linux system - ls, cat, etc. Having only the rust alternatives will cause issues. Sure, they could be aliased to their traditional counterparts, but even then some of the option flags are different; and in the end will end up with confusion for the end user. Not to mention potential breakages with existing scripts and/or tutorials and such people will try to run that assume basic traditional tools are there.

2 Likes

True but it will cut the memory related bug in onetenth.
And after asahi project it is safe to say that it is good to use rust with its benefits.

It won’t be like just change everything in one goal but slowly we can switch one by one that we think is good enough like previously said batcat which is better than cat as it provide information more and in a better represented way.
And the concept of stick with something that you know previously is a bad concept the reason is people still use windows 7 knowing it is unsafe.
I think fedora users will appreciate that we are switching to rust base utilities.

I do this on my system, but I still encounter instances where its default configuration is not what I need/want. For example, if I want to copy multiple lines of text from a file after cating it. Batcat will by default show line numbers and fancy formatting. I can’t highlight and copy/paste multiple lines without highlighting the line numbers as well. I need to use the flag –style plain to match cat’s output.

So it’s possible, but that means that the Fedora default should have that flag as default to match cat. That means maintainers will need to keep an eye on cat and bat development to see if there are divergences in behavior and make changes to the defaults accordingly. That’s extra manual work. Multiplied by the number of rust utilities to replace.

And for what would be a small gain. Memory-safeness hardly matters in a utility such as batcat. The utility uses minuscule memory to begin with and the utility does not remain running for long anyway. And long-existing utilities such as cat are pretty optimized and bug-free to begin with. It would be a disproportionate allocation of human resources for the very limited benefit in my opinion.

3 Likes

Batcat was a example and we need to evaluate that Will the improvement be significant enough to justify the amount of work required.
Maybe just switching coreutils will provide will the stuff that gnuutils provide but written in rust.

You’re referring to removing the core parts of the linux system, as provided by Gnu, and used by everyone (Distro) not BSD based?

I feel like this is just a rehash of Gnu coreutils rewritten in rust