News: 1742380033

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

Ubuntu 25.10 plans to swap GNU coreutils for Rust

(2025/03/19)


Efforts are afoot to replace the GNU coreutils with Rust ones in the version after next of Ubuntu, 25.10 – which also means changing the software license.

The next version of Ubuntu, 25.04 "Plucky Puffin," isn't here yet – but a [1]significant change is taking shape for the release after that, which will be 25.10. That is when Canonical and friends will replace the current core utilities – [2]from the GNU project and implemented in C – with the newer [3]uutils suite , which is written in Rust.

A discussion of the change is underway on [4]Ubuntu's Discourse forum , although the thread is currently in slow mode to prevent it turning into a flamewar. The coreutils are, as their name suggests, a [5]core part of any Unix-like OS. They provide many of the essential commands that make a Unix-like OS ... well, like Unix. They are one of the important elements of a Unix-like system that, combined with the Linux kernel itself, turn it into a usable operating system. They are an important element of the "GNU" in "GNU/Linux." Saying that, anyone who mainly drives their computer from a graphical desktop may never directly see them.

[6]

The significance of the change isn't primarily about compatibility. As [7]one Reddit commentator notes , much of the decades of R&D that has gone into GNU's coreutils is reflected in their comprehensive test suite. The uutils suite is " [8]actively tested against the GNU coreutils test suite ," and as the [9]uutils project page puts it:

Differences with GNU are treated as bugs.

So far, the Rust coreutils pass approximately 500 out of 600 GNU tests, and with the additional attention this move will bring to the project, it seems likely that score will rapidly improve.

[10]Dash to Panel maintainer quits after donations drive becomes dash to disaster

[11]Google slips built-in terminal, Debian Linux VM into Android 15 March feature drop

[12]KDE Plasma 6.3 released – and 6.3.1 is already here

[13]Ubuntu upgrade had our old Nvidia GPU begging for a downgrade

Additionally, [14]Jon Seager , the Canonical VP of engineering who is proposing this change, is providing a tool called [15]oxidizr to globally turn the Rusty replacement parts on or off. He introduced some of the reasoning behind the move in a blog post last month, " [16]Engineering Ubuntu For The Next 20 Years ."

Rather than technical issues, most concerns raised in the [17]discussion on Ubuntu Discourse are about licensing. As a product of the GNU project, the existing coreutils are [18]licensed under the GPL – specifically, GPL 3. The Rust replacements are [19]licensed under the much more permissive MIT license.

[20]

It's an interesting move. While it is already upsetting some observers, we suspect that Ubuntu users don't care very much about issues like FOSS licenses or implementation languages. They just want things to work. It may drive a few more users away to Debian, Devuan, or even further afield.

One fairly prominent distro has effectively already done this. Alpine Linux uses Busybox instead of a lot of more standard Linux components, although the GNU coreutils [21]are available if you need them. Despite this, Alpine [22]works rather well . ®

Get our [23]Tech Resources



[1] https://jnsgr.uk/2025/03/carefully-but-purposefully-oxidising-ubuntu/

[2] https://www.gnu.org/software/coreutils/manual/coreutils.html

[3] https://uutils.github.io/

[4] https://discourse.ubuntu.com/t/carefully-but-purposefully-oxidising-ubuntu/56995/1

[5] https://researchcodingclub.github.io/2017-07-21-coreutils/

[6] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/oses&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=2&c=2Z9qj1grroCZoV3csRxeWQAAAAIw&t=ct%3Dns%26unitnum%3D2%26raptor%3Dcondor%26pos%3Dtop%26test%3D0

[7] https://old.reddit.com/r/gnu/comments/1jbci3w/ubuntu_will_replace_gnu_core_utilities_with_rust/mhuohf7/

[8] https://uutils.github.io/coreutils/docs/test_coverage.html

[9] https://github.com/uutils/coreutils

[10] https://www.theregister.com/2025/03/14/dashtopanel_maintainer_quits/

[11] https://www.theregister.com/2025/03/13/android_15_linux_debian_terminal/

[12] https://www.theregister.com/2025/02/19/kde_plasma_63/

[13] https://www.theregister.com/2025/01/29/nvidia_gpu_ubuntu_downgrade/

[14] https://jnsgr.uk/

[15] https://github.com/jnsgruk/oxidizr

[16] https://jnsgr.uk/2025/02/engineering-ubuntu-for-the-next-20-years/

[17] https://discourse.ubuntu.com/t/carefully-but-purposefully-oxidising-ubuntu/56995/21

[18] https://github.com/coreutils/coreutils?tab=GPL-3.0-1-ov-file#readme

[19] https://github.com/uutils/coreutils?tab=MIT-1-ov-file#readme

[20] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/oses&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44Z9qj1grroCZoV3csRxeWQAAAAIw&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0

[21] https://wiki.alpinelinux.org/wiki/GNU_core_utilities

[22] https://www.theregister.com/2024/12/17/alpine_linux_321/

[23] https://whitepapers.theregister.com/



Coretools has a good test suite and has been battle tested over decades

Dan 55

So, er, porting it to a new language seems to be complete waste of time and effort and could introduce bugs?

Re: Coretools has a good test suite and has been battle tested over decades

Charlie Clark

I think you might want to read up on how the project to port started.

Many of these tools are indeed battle-tested but that doesn't mean they're invulnerable and, more importantly, easy to maintain. Along with many modern languages, it's fairly easy to write tests for Rust and this is one of the reasons, along with language design, why there are generally fewer critical bugs in them. By the end of the project I'd expect the Rust version to have significantly better test coverage than the original.

Mockup1974

The fact that it's MIT licensed is almost as bad as the Snap backend being proprietary.

Copyleft licenses > corporate-friendly cuck licenses.

Charlie Clark

The battle over copyleft was lost at least 10 years ago, with most developers simply keen to keep the efforts associated with sharing code to a minimal. Statements such as yours are really just political opinions.

The Man Who Almost Invented The Vacuum Cleaner
The man officially credited with inventing the vacuum cleaner is
Hubert Cecil Booth. However, he got the idea from a man who almost
invented it.
In 1901 Booth visited a London music-hall. On the bill was an
American inventor with his wonder machine for removing dust from carpets.
The machine comprised a box about one foot square with a bag on top.
After watching the act -- which made everyone in the front six rows sneeze
-- Booth went round to the inventor's dressing room.
"It should suck not blow," said Booth, coming straight to the
point. "Suck?", exclaimed the enraged inventor. "Your machine just moves
the dust around the room," Booth informed him. "Suck? Suck? Sucking is
not possible," was the inventor's reply and he stormed out. Booth proved
that it was by the simple expedient of kneeling down, pursing his lips and
sucking the back of an armchair. "I almost choked," he said afterwards.
-- Stephen Pile, "The Book of Heroic Failures"