One of the main developers presented this project at FOSDEM.
(He is a Mozilla employee but made a point to tell it was not affiliated with Mozilla and was working on it on his spare time)
Clickbait. The VP Engineering for Ubuntu made a post that he was looking into using the Rust utils for Ubuntu and has been daily driving them and encouraged others to try
It’s by no means certain this will be done.
Yeah this particular guy also loves doing insane things to his machine. He’s absolutely mental in a wonderful way.
My personal take on anything Jon does based on my experience with his delightful antics is that the only thing we can say for sure is if it doesn’t work for him it’s just not going to happen. His blog is pretty great to follow.
Huh, he mains NixOS. Always a bit funny to see someone daily driving a distro different than what they professionally work on.
Waiting for the Rust haters to get unjustifiedly mad again…
I love rust and projects rewritten in Rust, but I’ve felt pretty mixed about this particular project. The strong copyleft on GNU coreutils is part of what keeps many Linux distros truly free. There’s stuff like BusyBox or BSD coreutils if you need something you can make non-free, but GNU coreutils are just so nice. I wish this reimplementation in rust had been licensed with GPL or a similar copyleft license. At least there’s no CLA with copyright transfer.
Yeah the licensing is a bit worrying, but it’s not a language issue.
If I found the correct repo it seems like it’s MIT licenced which is very permissive, as well.
Hopefully it’s drop in compatible with GNU coreutils else a lot of scripts are gonna break
That’s the project’s goal and they have 100% comparability across quite a few of the tools. Definitely still a ways to go before they can fully replace all of coreutils, but Ubuntu’s goal is to replace the tools peace meal with the once that are ready.
Here’s the giant run-on sentence youtube transcript:
spoiler
earlier this week Ubuntu announced plans to integrate rust based implementations of essential system utilities starting with the upcoming Ubuntu 2510 release the plan is to use programs from yuud which has got to be the biggest rewrite in Russ project ever in terms of how prolific it could become if experiments like this one that Ubuntu will be conducting are successful the corles like LS and CP are used on every Unix like operating system out there so servers firewalls embedded devices Mac Linux Android and every smart whatever is using these programs under the hood so replacing these essential tools that the world has depended on for decades with rust rewrites is both interesting and really terrifying so the goals that usually drive a rust rewrite or just choosing to write something in Rust to begin with versus another language is for it to be blazingly fast and memory safe now to gnu’s credit their implementation of the corles actually has a really amazing track record with security and hasn’t had that many major vulnerabilities discovered in it over the last 20 years but there have been memory bugs in Coral like split as recently as last year and if it had been written in Rust there wouldn’t have been a heap-based buffer overflow bug in it and sure enough if we read the disclosure on ubuntu.com that goes into the reasoning the enhanced resilience and safety that is more easily achieved with rust ports are what’s most attractive about it now while the article didn’t list performance as the primary driver for rustifer doeses bring up an interesting point about performance and also reliability by saying if found foundational software fails so does all the other layers built on top if foundational packages have performance bottlenecks that becomes a floor on the performance achievable by the layers above if these core utilities can get faster then everything else can get faster and the speed is one of the primary focuses of the U utils project now in a lot of cases the core utilities probably won’t get much faster because of writing them in Rust because one of the big speed advantages that you actually get over C or C++ is that in Rust multi-threading is typically much easier to implement especially in a safe manner but a lot of the tools in the core utilities don’t actually benefit from being multi-threaded or parallelized in any way for example MV CP and RM are all file system tools and since disio is fundamentally serialized there’s not much point in them being parallelized but there are huge opportunities for the few core utils that can be run in parallel and that’s why when the lead developer of U utils did a talk at fem this year he did a live Benchmark of the uu’s implementation of the sort command against the G new implementation because sort is one of those programs that actually benefits from more threads and the U’s implementation was six times faster than gano’s so you can imagine the gains that something as basic as faster sorting is going to bring to basically every other program that’s running on higher levels on the operating system now Ubuntu isn’t just going to all of a sudden pull the familiar core utilities from under their user’s feet instead they release this oxidizer tool which let’s use users and developers seamlessly rustifer ify their core utilities on their Ubuntu system so that they can get used to how that’s going to work before rust actually becomes the default and you can download this right now to your Ubuntu system from GitHub or you can install it with cargo but you should still be careful with running this because it could break your system I mean it’s making a very fundamental change to how things are working so make sure that you have a backup but by default if you run this with the basic enable command it’s going to replace coril and Pudu enabling all experiments is going to replace coril Pudu find utils and diff utils and make them the default on your Linux system so far I haven’t broken my Ubuntu VM with oxidizer but again be careful if you have important data on your system now of course the Linux kernel itself has been progressively integrating rust into it with initial support merged in version 6.1 and ongoing developments to include rust written drivers lus traval has also shown support for rust especially by his usual metrics and so there’s a lot of support for this language in the Linux world and one of the biggest upsets here I think is really to ganu because if Ubuntu succeeds with yuud and other distributions start to follow suit then G new Linux won’t really be a thing anymore more and it would really be a shame if ganu got dropped from Linux before they’re even able to finish their own Kel because without a konel you can’t really call yourself an operating system and while most people besides gnu developers are probably welcoming this rustifer Utilities in Linux there are some people that absolutely hate this change and it’s not just people that prefer C and C++ who who hate the syntax of rust so much that reading it makes their eyes bleed and hearing rust evangelism sounds like nails on a chalkboard to them these people are always going to be around whenever you mention rust but I think the real big concern here with uud is its software license so this rust implementation of the cor udol as an MIT license while the gnu one of course has a GPL license and by the way I might as well mention that G’s implementation of Cory udil isn’t the only one in existence okay BSD has their own busy box is another Apple has another Unix had another but G new GPL license on their code is where the real big deal is here especially for low-level programs like this so the general public license or GPL is copy left so you can think of it as doing the inverse of what a copyri does which restricts the ownership and control over some intellectual property to an individual party GPL makes things free as in freedom forever so if you took ganu and you built upon it you’d have to open source your improvements if you wanted to distribute them you could technically use GPL code and make proprietary modifications and then just use it on your own system but if you want to distribute it has to be open and this prevents proprietary software in the form of binary Aries or encrypted or heavily ausc code from being added to a GPL code base but an MIT license does not prevent this it’s perfectly legal to take MIT license code which would be open source and then make fantastic improvements to it or integrate it into a small part as a much larger code base and none of the changes or additions that you made in these cases would have to be open source even if you wanted to distribute them and it could be the case that your changes are so popular that they basically end up replacing the original open source program in popularity and since proprietary software is a kind of evil in itself because the end users don’t have any control over it you could argue that MIT and similar licenses allow for good open-source software to be more easily turned into something that is going to abuse end users and this has already happened with Minix so this was another Unix like operating system that was developed by Andrew tannin bomb and it actually predates Linux by a few years and Minix was initially proprietary software that was conditionally Source available I think maybe you could get the source code if you were in University because initially Minix was created to be a teaching tool but anyway in the year year 2000 almost 13 years after Minx first came out it was officially open- sourced under a BSD license and the reason for this was commercial viability so as you can imagine a lot of companies don’t actually want to open source their code or they don’t want to open source whatever changes they made because they don’t want their competitors to get it because they think it gives them a Competitive Edge and yada yada and so they’re wary about using anything that is GPL and this pretty much sums up Tannon bomb’s reasoning too for using the BSD license for menx but this openness allowed Intel to integrate Minix code into their Intel management engine which is basically a mini operating system that runs on every Intel chip alongside your real OS and because of this it’s technically one of the most used operating systems in the world and if you read Tannon bombs open letter to Intel he obviously is not super happy about the way that Intel went about this mentioning that they should have at least given him a heads up about his OS becoming the most prolific one ever but again that is not a requirement of a BSD or an MIT license you don’t even have to say thanks to the person who originally developed that code so this could lead to more excellent operating systems being poached for diabolical reason reasons in the future by major corporations but what do you think are the fears about the MIT license overblown is rust in the core utilities a good thing for Linux let me know in the comments below like and share this video to hack the algorithm and check out my online store based. win where you can buy my awesome merch or accessories for your phone or laptop 10% store away discount when you pay him Monero XMR at checkout have a great rest of your day
Oh, how I wish spoilers worked in my Lemmy app…
Isn’t Rust a Mozilla project, and with the direction they are heading it’s not long until Rust is considered non-free and we‘ll be forever stuck with C
Which Mozilla projects started out as free and are now non-free, i.e. no longer under an open source (or even viral open source) licence?
No, it started as a Mozilla project; it’s been independent for a long time now.
If anything I expect Mozilla to be among the smaller contributors nowadays from a purely monetary standpoint.It started there, but now it’s controlled by the rust foundation. If you wanna worry about licensing uutils is under an MIT license unlike GNU coreutils which is under GPL