I'm mixed on it. If it is more secure/safe then that's a good thing, but if it's done because it's MIT-licensed instead of GPL-licensed, then that could possibly be concerning.
My scepticism is that this should've been done within the coreutils project, or at least very closely affiliated. This isn't an area of the linux technical stack that we should tolerate being made distro-specific, especially when the licensing is controlled by a single organisation that famously picks and chooses its interpretation of "FOSS" to suit its profit margins.
On a purely technical level, GNU coreutils should very seriously consider moving to rust if only to counter alternatives before it's too late. While these utilities work well in C (and usually stay secure thanks to the Unix philosophy limiting the project scope), FOSS projects are continuing to struggle with finding new contributors as younger devs are more likely to use modern systems languages like Go and Rust. Not to mention that any project using Rust as a marketing tool will appeal to anyone rightfully concerned about hardening their system.
uutils is not distro-specific.
The correct title should be "Ubuntu explores replacing gnu utils with MIT licenced uutils".
Waiting for Canonical to up sell proprietary utils features by subscription. Ubuntu's regular release cycles were brilliant in 2004 when there weren't a lot of alternatives but why does it still exist?
Sorry, "tee" is not part of the basic Ubuntu package. Do you want to unlock premium coreutils for the cheap price of 19.99$ p.m.? Alternatively, upgrade your Ubuntu pro to pro-double-plus-good for 10$ p.m.
What does this have to do with MIT licensing?
the deGPLification of the Linux ecosystem ffs
I would love this news if it didn't move away from the GPL.
Mass move to MIT is just empowering enshittification by greedy companies.
What does the license change actually mean? What are the differences?
The best example I could point to would be BSD. Unlike Linux, the BSD kernel was BSD (essentially MIT) -licensed. This allowed Apple to take their code and build OSX and a multi-billion dollar company on top of it, giving sweet fuck all back the community they stole from.
That's the moral argument: it enables thievery.
The technical argument is one of practicality. MIT-licensed projects often lead to proprietary projects (see: Apple, Android, Chrome, etc) that use up all the oxygen in an ecosystem and allow one company to dominate where once we had the latitude to use better alternatives.
- Step 1 is replacing coreutils with uutils.
- Step 2 is Canonical, Google, or someone else stealing uutils to build a proprietary "fuutils" that boasts better speeds, features, or interoperation with $PROPRIETARY_PRODUCT, or maybe even a new proprietary kernel.
- Step 3 is where inevitably uutils is abandoned and coreutils hasn't been updated in 10 years. Welcome to 1978, we're back to using UNIX.
The GPL is the tool that got us here, and it makes these exploitative techbros furious that they can't just steal our shit for their personal profit. We gain nothing by helping them, but stand to lose a great deal.
Thanks for your explanation.
The code can be taken and used in close source projects
And how does this hurt all of us who use it for open source projects?
Competitive improvements the company makes make be kept secret, re packaged, and sold without making contributions to the src code.
Basically embrace, extend, extinguish
Imagine a contributor of the project. He would have been fixing the bug for free and give the work to the public project. Right before he submits the code change, he sees an ad from a big tech bro: "Hiring. Whoever can fix this bug gets this job and a sweet bonus." He hesitated and worked for the company instead.
Now that he is the employee of the company. He can't submit the same bug fix to the open source project because it is now company property. The company's product is bug free, and the open source counterpart remains buggy.
Kinda like a full 180° back to UNIX™.
Time for Mecha-Stallman to declare war.
The time has come to GNU-slash the enemies of freedom!
It's funny since don't these core utils come from bsd meaning the new license is more like the original license than gpl is like either. So didn't gnu effectively steal the code and change the license for political reasons?
I personally don't see the point.
See other comments: all these rewrites are not using the GPL but rather permissive licenses like MIT. Bye-bye FOSS (in those ecosystems).
I don't like them moving away from gpl but there were already plenty of non-gpl coreutils clones, so, i'm not sure how much it really matters as long as the linux kernel is still gpl.
Unlike the other alternative coreutils, uutils focuses on GNU compatibility. If you depend on GNUisms, uutils allow you to unGNU & unGPLv3+ your system.
I don't understand, you'd still have to completely replace the linux kernel for a situation where this matters to occur, no?
and the linux kernel is where 99% of the work is, correct?
The Linux kernel is licensed under GPLv2, not v3. The third version of the license forbids tivoization (vendoring unmodifiable copyleft software). Also, the GNU coreutils aren't limited to Linux.
I know they aren't limited to linux, but can you give me an example of a situation where this matters?
All of the situations I can think of are remedied by the fact that linux is still GPL'd
I fear moving away from GPL that moving to Rust seems to bring, but Rust does fix real memory issues.
Take the recent rsync vulnerabilities for example.
At least this one in a Rust implementation of rsync would have very likely been avoided:
CVE-2024-12085 – A flaw was found in the rsync daemon which could be triggered when rsync compares file checksums. This flaw allows an attacker to manipulate the checksum length (s2length) to cause a comparison between a checksum and uninitialized memory and leak one byte of uninitialized stack data at a time. Info Leak via uninitialized Stack contents defeats ASLR.
Mainly memory safety; split
(which is also used for other programs like sort
) had a memory heap overflow issue last year to name one.
The GNU Coreutils are well tested and very well written, the entire suite of programs has a CVE only once every few years from what I can see, but they do exist and most of those would be solved with a memory and type safe language.
That said, Rust also handles parallelism and concurrency much better than C ever could, though most of these programs don't really benefit from that or not much since they already handled this quite well, especially for C programs.
I for one welcome our rust overlords
I prefer a glibc replacement.
Linux
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0