- cross-posted to:
- [email protected]
- cross-posted to:
- [email protected]
Ubuntu 25.10’s transition to using Rust Coreutils in place of GNU Coreutils has uncovered a few performance issues so far with the Rust version being slower than the C-based GNU Coreutils. Fortunately there still are a few weeks to go until Ubuntu 25.10 releases as stable and upstream developers are working to address these performance gaps.
Do I understand the article and github issue correctly and we can put away the pitchforks already because they fixed the specific part already and it’s now even more performant than GNU coreutils?
Yes
Rust is great, but might it be a bit premature to replace the venerable coreutils with a project boasting version number 0.2, which I imagine reflects its author’s view on its maturity?
This should be avoided like the plague because of the choice to use MIT over GPL.
Any work dedicated to this can and will be stolen by corporations without giving back if they find it useful. This is what happened with Sony and Apple and their respective operating systems. They chose to base them on BSD so they could steal work and not give back to the public.
Do not be fooled.
If you replace your uses of the words stolen and steal with “kept” and "keep’, then your statements make sense.
Also it’s coreutils - they intentionally have a very focused scope and features. An Apple LLM bundled into awk is desired by no one
They didn’t “steal” anything. The developers choose that license. It’s very clear what it allows.
Serious question: could we not just fork the project under the GPL and use that?
You can fork, but I don’t think you can put a license on it because you are not the author.
You can fork it and GPL it just fine, the MIT licence allows for that, however anyone who wants to make the codebase proprietary can just fork the original upstream project. Not much point GPLing a project if you make zero changes to it. If you make changes then in practice just your changes are GPLed because anyone wanting to use code from upstream can just use it directly from upstream under MIT.
Author: “I consent to my code being used for proprietary programs!”
Compant: “I consent to using this FOSS code in my proprietary program!”
You for some reason: “I don’t!”
They articulated the reason and gave examples of precedence.
And you’re dismissing their voice as irrelevant, but as the consumer of the product, their voice is most critical, and more people should be aware of how corporations use their massive wealth to choke and starve open source competition out of existence despite building their products on open source work in the first place.
I continue to fail to see the issue with the author, the person whose actual labour goes into the software, not your labour, deciding that they are fine with their source code being used in any way the general public sees fit provided they simply credit the author and provide a copy of the MIT licence. If I give you something, you’re not stealing by accepting my gift. They’re choosing voluntarily to make their source code available under such a licence. If they weren’t okay with that, they would’ve chosen a copyleft licence.
And you’re dismissing their voice as irrelevant, but as the consumer of the product, their voice is most critical
That seems insanely entitled, but you’re allowed to not use non-copyleft software if you really care that much. The authors of permissively licensed software aren’t forcing you to use their software.
There are plenty of valid reasons to license a work as MIT or BSD or similar. Firstly, libraries are almost always going to be permissively licensed, not just because it allows proprietary software to use those libraries, but also because it allows permissively licensed FOSS to use those libraries. If I want to use a GPL library, it’s not just that I have to make my software FOSS, it’s that I have to make my software GPL specifically. If I want to make a FOSS MIT program, I can’t use any GPL libraries.
Secondly, sometimes it’s because, well, as the licence text provides, I don’t give a shit what you do with the code. I write lots of little tools that are just for myself and I share them in case they’re of use to someone else. If some big corpo uses it in their proprietary money-making machine it’s no shit off my back. It was just a little tool I wrote for myself and it doesn’t affect me if other people use it to make money.
I think GPL is reasonable if a lot of labour goes into a project, and you’d be discouraged from working on it if someone was leeching off of it for their proprietary software. But my MIT/BSD code requires 0 maintenance labour from me, and I don’t care to control how other people use it. That’s the whole point of MIT/BSD/Apache/etc. It’s the “don’t give a shit” licence.
Isn’t this the reason for the switch? I thought MIT was the whole reason they were making the switch.
They chose to base them on BSD so they could steal work and not give back to the public.
“Here you can use this as you like, no questions asked”
“Hey! Why did you use that in a way that I told you you could!?!?”
Right. Instead say “here you can use this as you like, and if you improve on it, share that with everyone in the same way so we can all benefit from it.” Is why GPL is better.
yes. that is why he is saying go with the gpl or at least if your adding code add it to gpl unless you are fine with your stuff being used but nothing coming back to the communities by others.
They chose to base them on BSD so they could steal work and not give back to the public.
Emphasis mine.
Yeah I think you are just ignoring context. He means steal the way someone just taking advantage of the commons might be said to. Ugh he only comes to these things so he can steal away a bunch of pastries back to his pad. The language is to mean that the bsd license allows folks to steal while the gpl requires reciprocity.
The intent of the BSD licences is to allow you to do what you want without reciprocating though. It’s not an accident, it’s explicitly stated. It is, in fact, your right. You profiting from the work of others is an intended result.
I prefer GPL myself for this reason. But you can’t blame companies for obeying the terms of the licence.
But that is what he was actually saying. His comment was he would rather see it as gpl because mit effectively allows the hard work to be stolen like what we saw with apple and bsd. Hes not blaming apple he is just saying he would not have issue if it was gpl instead of mit. Again its like you have to look at the whole message and context for meaning rather than the strict definition of the one line.
It can’t be any sort of “theft” if you leave it on the curb with a sign saying “Free” next to it.
i think the argument here is more that saying “you can use this however you like, no questions asked” is a bad idea because it allows corporations to approriate the work
But it’s not stealing then is it?
yes that’s exactly what he is criticizing.
Wasn’t rust suppose to both more performant and more memory safe than it’s C counterparts?
Rust never claimed to be more performant than C. Its performance is equivalent to C.
Language isn’t everything. While Rust provides some features and safety that C doesn’t while being roughly equivalent in performance, the algorithms that developers choose will dominate the performance impact on the program.
GNU core utils has decades of accumulated knowledge and optimisation that results in the speed it has. The Rust core utils should in theory be able to achieve equivalent performance, but differences in the implementation choices between one and another, or even something as simple as the developers not having prioritised speed yet and still focusing on correctness could explain the differences that are being reported.
Rust and C are the same “tier” of performance, but GNU coreutils has the benefit of several decades of development and optimization that the Rust one needs to catch up with.
Rust is fundamentally more limiting than C, even with
unsafe
. It is often faster if you write naive code (because the Rust compiler can optimize more aggressively due to those same limitations), but an experienced developer with a lot of time for optimization will probably be able to squeeze more performance out of C than they would out of Rust - as you can see in this example. Rust is still better because those limitations all but guarantee that the resulting code will be safer, and the performance differences would be negligible all things considered.you can still mostly hand-write assembly in rust
Sure, but at that point you can also just write assembly. I’m talking about “idiomatic” code in the language itself.
It’s more a thing like in ripgrep vs. grep; new algorithms being vastly faster in most cases except in some.
This would never happen if it were licensed under GPL. /s
Although if it did happen they could be sued for breaking it. I really don’t get the sarcasm here. with mit/bsd not giving back is fully legal with gpl its not.