class: center, middle, inverse # Rust Coreutils in Ubuntu ## One troll, one argument, one answer ## Sylvestre Ledru ## FOSDEM 2026 --- # What are the Coreutils? -- Who doesn't know about it? -- First implementation in 1970! -- Some examples: -- * ls, cp, mv, ln, rm, etc -- * chmod, chown, runcon, etc -- * vdir, tac, pr -- * More than 100 commands... --- # Why? - I did two presentations at FOSDEM about it: -
in 2023
-
in 2025
-- The TLDR is basically: - It is super interesting - learning Rust, low level & Coreutils, -- - C is a language from the past, -- - New generations don't want to do C, -- - It isn't about license, -- - Harder, Better, Faster, Stronger --- # Ubuntu's Approach "Carefully but purposefully oxidising" -- - We have been coordinating closely -- - Not a rewrite frenzy -- - Not "Rust everywhere" -- - Gradual introduction -- - Explicit rollback paths -- - They think that Rust is a future for Linux -- https://discourse.ubuntu.com/t/carefully-but-purposefully-oxidising-ubuntu/56995 -- It isn't the first major software written in Rust in Ubuntu -- Firefox was, years ago! --- class: center, middle, inverse template: inverse
https://xkcd.com/386/ -- # Who reads -- Hacker News ? -- Phoronix ? -- Reddit ? -- And ... who cried reading some of the comments ? --- class: center, middle, inverse template: inverse # One Troll, One Argument, One Answer --- # Troll #1
– Hacker News commenter https://news.ycombinator.com/item?id=43779457 --- # Argument #1 Coreutils exposes: - undocumented behaviour - accidental APIs - semantics scripts depend on Replacing them *will* surface breakage. --- # Answer #1 Yes, indeed -- But... And we found those behaviours but we fixed most of them thanks to: - Pre-release testing - 95% GNU tests pass - 87% code coverage - Differential fuzzing - Strong community testing - Ubuntu Pre release testing - CI rebuilds - Users testing --- # Troll #2
– Hacker News commenter https://news.ycombinator.com/item?id=45388054 --- # Argument #2 - Rust hype over practical benefits - Rewriting doesn't automatically improve software - Ubuntu prioritized trendy tech over stability - Language choice ≠ better outcomes --- # Answer #2 We weren't chasing hype. We chose Rust for **concrete benefits**: - Memory safety (eliminates entire bug classes) - Performance improvements - Better tooling and maintainability - Modern development experience - Easy portability --- # Troll #3
- Phoronix forum user https://www.phoronix.com/forums/forum/software/distributions/1574244-ubuntu-25-10-proceeding-with-its-rust-coreutils-transition --- # Argument #3 Fear of: - forced replacement - no rollback - ideological push --- # Answer #3 No hard cutover. - GNU coreutils remained available - Easy rollback - Potentially important for some users - Reversibility was a requirement, not an afterthought - We contribute to the GNU project, they contribute to ours --- # Troll #4
https://users.rust-lang.org/t/im-shocked-the-rust-community-is-pushing-an-mit-licensed-rust-rewrite-of-gnu-coreutils/126110 --- # Argument #4 - Ideological strategy - Coordinated plan --- # Answer #4 **There is no conspiracy.** - Purely technical decisions - No coordinated takeover plan - Individual projects, individual choices - No connection to Linux kernel politics --- # Troll #5
--- # Answer #5 Yes, we have bugs, but: -- - The 17x slower has been fixed in a week - One long line - fixed a month --- # What These Bugs Taught Us - Rust has never been a silver bullet (we knew!) -- - Coreutils can be weird -- - It improved the GNU implementation! -- - Rollout strategy matters as much as code --- # Community Contributions
-- in 2025: -- 2054 pull requests - 4004 commits -- by 206 Contributors --- # Community Contributions - Growing contributor base -- - Cross-platform improvements -- - Upstream collaboration with GNU -- - Identified and fixed --- # Next? - Reach 100% compat with GNU - Replicate this with other programs: -- - sed - diffutils - procps - util linux - .. etc -- Lot of good first bugs to learn Rust or improve your skills --- # Final Takeaway We shipped with 25.10 for most of the programs. -- 26.04 in a few weeks -- The trolls weren't wrong about *risk* -- They were wrong about *process* & *mitigation*. --- class: center, middle, inverse template: inverse # Rewriting `/bin/true` is easy # Rewriting 30 years of expectations is not --- class: center, middle # Questions?