cross-posted from: https://programming.dev/post/35495679
Earlier post version: image/text.
From another article referenced there:
The maintainers of the Ubuntu Linux distribution are now rewriting GNU Coreutils in Rust. Instead of using the GPLv3 license, which is designed to make sure that the freedoms and rights of the user of the program are preserved and always respected over everything else, the new version is going to be released using the very permissible or “permissive” (non-reciprocal) MIT license, which allows creating proprietary closed-source forks of the program.
There will surely be small incompatibilities - either intentional or accidental - between the Rust rewrite of coreutils and the GNU/C version. If the Rust version becomes popular - and it probably will, if Ubuntu starts using it - the Rust people will start pushing their own versions of higher level programs that are only compatible with the Rust version of coreutils. They will most probably also spam commits to already existing programs making them incompatible with the GNU/C version of coreutils. That way either everyone will be forced into using the MIT-licensed Rust version of coreutils, or the Linux userland becomes even more broken than it already is because now we have again two incompatible sets of runtime functions that conflict with one another. Either way, both outcomes benefit the corporations that produce proprietary software.
(Source – which does contain some more-than-problematic language outside of these passages, compare the valid objections raised by others here and in the cross-posts.)
Compare also how leaders of Canonical/Ubuntu have ties to Microsoft, and how the Canonical employee who leads the push to rewrite coreutils as non-GPL-licensed Rust software has spent years working for the British Army, where he “Architected and built multiple high-end bespoke Electronic Surveillance capabilities”, by his own proud admission.
Nope. Not reading a Techrights article.
I don’t really buy the “small incompatibilities” argument. The project strives for total compatibility, even down to the most esoteric parameter that nobody has ever heard of. And even that seems like overkill to me - there are alternative implementations of core commands on Linux and other *nix systems like BSD, Solaris etc. where the compatibility is way worse. For example, busybox is used in embedded Linux, and a containerized images like Alpine Linux.
It also seems a bit rich to complain that uutils might get extended. GNU coreutils came into being because of dissatisfaction with the commands that came with the default *nix. Same for bash (vs sh), GNU cc (vs cc), GNU emacs (vs emacs) and so on. Was there somebody back then complaining about devs “spamming commits” that extended functionality?
And other Rust applications won’t only work with uutils. That’s absurd. They’ll test the capabilities of the OS they’re built to run on either at build time with feature flags or at runtime by probing commands. Just like any other high level application.
As for license, MIT is used for plenty other things in a typical Linux dist, e.g. X11.
The biggest point of concern for a Rust rewrite is dependency integrity. Rust uses cargo to manage dependencies and absolutely everything in the Cargo.toml/Cargo.lock files has to be reviewed. The crates.io repository is beginning to support package signing and The Update Framework initiative but every single dependency of uutils would need to be carefully reviewed and signature validated for it to be considered trustworthy. Basically everything needs to get locked down, and wherever possible dependencies expunged altogether.
I posted 2 years ago about the same concerns on /r/StallmanWasRight and the lemmy rust community. Many dismissed it as a conspiracy theory … Not that I agree with the form and language used in this article but ditching GPL coreutils from prominent distros is a turning point and slippery slope for Free Software and Linux.
Fuck that entirely
Neigsendoig (my producer) and I are very used to the C-based GNU utilities. Rust is not up our alley, that’s for sure.
There are interesting and important points being raised here, but the particular programming language used is irrelevant. The author is only undermining himself by focusing so much energy on the tired old holy war between C and Rust proponents.
I am not cosigning the particular points made against Rust, because I don’t have context, but the particular language is not irrelevant, because the post is calling out social and cultural practices, and Programming languages are largely social and cultural institutions. Part of Rust’s success is due to how intentional the initial core users and developers where about this dimension of the PL.
Rust people seem to be focused mostly on identity politics and dividing people into groups that are then supposed to fight each other.
Yeah, this guy can eat my entire ass. This is the same language that fascists use to delegitimize anyone who isn’t straight and white.
at first, i lol’ed at the c/rust divide because i thought it was another silly holy war like emacs/vi but it’s taken on a MUCH bigger and troubling role
So the narrative is that Rust somehow, through being released only through one distro, is going to use that influence to force incompatible changes into other codebases. Despite the fact that any change to shell scripts that isn’t posix compatible brings opinionated people out the woodwork. And then they’re going to pivot to releasing a proprietary version of coreutils that somehow has killer features that the open source version lacks despite coreutils being 30 years old.
Also the guy pushing for it once worked for a government so that means he can’t be trusted ever again.
It’s just a fucking bunch of programs that act as thin wrappers around C functions. There’s nothing novel that needs protecting or is hard to implement.
So the narrative is that Rust somehow, through being released only through one distro, is going to use that influence to force incompatible changes into other codebases.
Systemd says what?
They are aiming for complete compatibility. They literally use the GNU test suite.
Absolute trash article.
The first thing that I noticed back then
When is ‘then’? Because that affects the meaning of the rest of the paragraph. Prior to Rust 1.0 a lot of things changed in backwards-incompatible way. Currently, if you learn something, you can continue applying that knowledge.
I don’t want to learn something that does not last - that feels like a wasted time when I could also learn skills that remain usable to the far future.
Then software engineering is not a career for you. Maybe you could become a bricklayer because pretty much everywhere technologies changes and if you want to be at the top of the game you need to learn new skills.
That was long before I even noticed how disgusting people many Rust programmers are.
So are many C programmers. Or Python programmers. Or Heskell programmers.
If you go to the website of the Rust programming language nowadays, one of the first things you’ll notice is that their primary communication platform is Discord.
This is blatant lie. The first thing I see when I go to the website is that Rust has official Mastodon, Blueksy and YouTube channels. And if you go to Community page you’ll see the main communication channels are self-hosted forum, and Zulip.
Another thing that you notice immediately if you use an independent web browser is that their developer forum does not work. If you use a “non-supported” browser, or have JavaScript disabled, the webpage body has a CSS property “overflow-y: hidden !important;” which prevents the user from scrolling the page. On top of the page there is a banner that tells you to download one of the “supported browsers”, which are Firefox, Chrome and Safari.
What is the issue exactly?
Which leads me to the next point. Rust people are clearly hostile towards or generally against free software.
So let me get this straight, you’ve poisoned the well with lies and irrelevant information to prime readers to hate Rust and accept your point. Got it.
There will surely be small incompatibilities - either intentional or accidental - between the Rust rewrite of coreutils and the GNU/C version.
Why are you so sure that there will be incompatibilities? The stated goal of the project uutils is ‘to be a drop-in replacement for the GNU utils’ and ‘differences with GNU are treated as bugs’.
If the Rust version becomes popular […] the Rust people will start pushing their own versions of higher level programs that are only compatible with the Rust version of coreutils. They will most probably also spam commits to already existing programs making them incompatible with the GNU/C version of coreutils. […]
This is pure speculation aimed to support a conclusion that the author has. uutils aims to be fully compatible and there are no indications that this goal isn’t sincere.
Rust’s licensing is also problematic. The license has been worded in such a vague way that it may or may not allow forking or re-implementation. It may or may not require deleting all references to the word “rust” from a fork or re-implementation.
All of that is fully compatible with FSF and OSI definitions. There is nothing new in requirement that forks use a different name.
The rest seems to be just ‘Rust people’ generalisations and lies.
Absolute trash article.
like most things on techrights.org; every time I read almost anything on that website, I agree with a lot of the substance and then wonder why it has to make that substance look so bad by adding inaccuracies and/or conspiracy theories into it.
Rust’s licensing is also problematic. The license has been worded in such a vague way that it may or may not allow forking or re-implementation. It may or may not require deleting all references to the word “rust” from a fork or re-implementation.
All of that is fully compatible with FSF and OSI definitions. There is nothing new in requirement that forks use a different name.
To add to this: Rust is dual-licensed under the MIT and Apache licenses, both of which are permissible and compatible with GPLv3. There’s nothing stopping anyone forking Rust and creating Stallman’s Rust licensed under GPLv3. I genuinely do not understand that paragraph.
-
Your criticism omits the passages about usage of the MIT license over the GPL (the ones I quoted in the post). I haven’t quoted the other parts of the article because they are not as substantial, but their being opinionated and questionable in what they say about ‘Rust people’ does not mitigate the recklessness of those who strive to create MIT-licensed replacements for GNU coreutils.
-
Discord on the website of the Rust project: That’s not a lie at all: it was the truth at the time of publication on March 19, and even as late as May (having been there for at least four years). So it appears that the Rust project has decided to drop Discord as an officially advertised channel. Good move. I would think that vocal criticism like the author’s played a role in this.
-
Rust forum telling users to use Firefox, Chrome or Safari, and refusing to be accessible by other browsers (however circumventible this may have been): How was this not a sign of flagrant disregard for free software and for people’s right to use the web however the fuck they want to use it - or how they need to use it, in case of disabilities? (This antifeature doesn’t seem to be in place anymore, but compare point 2.)
Your criticism omits the passages about usage of the MIT license over the GPL (the ones I quoted in the post).
I’ve addressed it:
Why are you so sure that there will be incompatibilities? The stated goal of the project uutils is ‘to be a drop-in replacement for the GNU utils’ and ‘differences with GNU are treated as bugs’.
[…]
This is pure speculation aimed to support a conclusion that the author has. uutils aims to be fully compatible and there are no indications that this goal isn’t sincere.
Discord on the website of the Rust project: That’s not a lie at all: it was the truth at the time of publication on March 19
I stand corrected regarding it being a blatant lie. However, the paragraph is still at least manipulative since nothing indicated that it was the primary communication platform. The forums were listed before it. At most you could argue Discord was primary chat platform, but even that is irrelevant considering that anyone who didn’t like Discord had an alternatives.
Sounds like the author is authoritarian and wants to dictate what people can and cannot use on the Internet.
How was this not a sign of flagrant disregard for free software and for people’s right to use the web however the fuck they want to use it
Last I checked Firefox and Chromium were free software and the forums work in both. Furthermore, if anything you should have issue with Discourse rather than Rust since that’s the software running the forums. Or better still, submit patches to fix compatibility issues.
Your criticism omits the passages about usage of the MIT license over the GPL (the ones I quoted in the post).
I’ve addressed it:
Why are you so sure that there will be incompatibilities? The stated goal of the project uutils is ‘to be a drop-in replacement for the GNU utils’ and ‘differences with GNU are treated as bugs’.
You did not address it. Possible incompatibilities in code level is completely different thing then releasing them with a not copyleft license. MIT license allows that a closed sourced version can be created that could, in theory, be used to replace the MIT licensed versions in what ever distro uses them. Copyleft licenses, like the GNU GPL, don’t allow this. Recreating a well established and used core utilities, in whatever language, as a replacement to use, at first, in your distro and licensing them with a permissive license undermines the whole purpose of FOSS.
Issue is that author stated that ‘Rust people’ are authoritarian and that they chose to reimplement coreutils to impose authoritarian control over FOSS. This is not grounded in reality. Unless you also want to claim that ‘BSD people’ are authoritarian, the author presents no valid point of discussion.
If you want to discuss consequences of uutils being under permissive license, feel free to write a coherent fact-based post about that. Article you’ve cited makes you no favours. If anything, based on the article and your post all I noticed is ‘how disgusting people many GPL proponents are.’
You are completely missing the point here. You replied to OPs comment about licensing with a comment about incompatibilities in code. My comment was about licensing.
If anything, based on the article and your post all I noticed is ‘how disgusting people many GPL proponents are.’
If wanting to keep FOSS as FOSS is disgusting to you why are you in this community in the first place?
Edit: Not once did I mention whether or not I agree with the posted article or the OP.
You are completely missing the point here. You replied to OPs comment about licensing with a comment about incompatibilities in code. My comment was about licensing.
But the post is about an article by Sami Tikkanen/Roy Schestowitz (not really sure who the author is) and my answer is in context of that post. Like I’ve said, if you want to discuss licensing policies and how uutils affects future of FOSS, don’t use manipulative trash articles as starting point. Write a coherent post where you present factual information and than we can talk.
If wanting to keep FOSS as FOSS is disgusting to you why are you in this community in the first place?
It isn’t. But author of the article and OP are lying and using manipulative language to discredit people they disagree with. That’s what I find disgusting. I criticise the article because I don’t want such people representing copyleft licenses.
-
some untested stuff controlled by proprietary software of Microsoft?
AFAIK, Rust is mainly funded by the Rust Foundation, which not only includes Microsoft, but also includes comrades from Huawei and alike.
AFAIK, Rust is mainly funded by the Rust Foundation, which not only includes Microsoft, but also includes comrades from Huawei and alike.
So does Linux Foundation. What’s your point?
That was long before I even noticed how disgusting people many Rust programmers are.
His entire argument is rather undercut by his grandpa-level ranting about “discord” and the use of JavaScript on rust forums.
As the saying goes, don’t throw the baby out with the bathwater. I think @floofloof@lemmy.ca summed things up pretty well here.
Also, from my reply to that comment:
As for the off-putting statements about ‘Rust people’: Since the article was published on March 19, I wonder if much of it, revolving around what the author saw as indications of authoritarianism, came from heavy disquiet in the face of authoritarianism’s recent gaining hold of the White house. I’d even consider it likely that people who post on Techrights have an above-average sensitivity for this kind of thing. It could be that the author has since arrived at a more differentiated and just view. Of note, since the time of his writing, the Rust project did remedy things that he criticized about their website.
As the saying goes, don’t throw the baby out with the bathwater.
You’re the one doing that. It was your choice to bring up an article which is full of manipulative language to make your point. It was your choice to bring up irrelevant facts about Canonical employees in your post.
Since the article was published on March 19, I wonder if much of it, revolving around what the author saw as indications of authoritarianism, came from heavy disquiet in the face of authoritarianism’s recent gaining hold of the White house.
How is that an excuse for making shit up?
As the saying goes, don’t throw the baby out with the bathwater.
Meh - I’m pretty confident this sort of rant is well worth ignoring.
Ubuntu Pro intensifies with the full support of the tools under a custom license.
Sounds like someone strict(and i think way more paranoid then rms) on free/libre software similar to rms(like down to the assets and firmware)
But I agree alot on the licensing.Well, on þe one hand, BSD, which already has overlap wiþ GNU core but under þe BSD license. Þere’s even already a Linux distro built around þe BSD core - it’s a distribution Stallman can’t insist is GNU/Linux.
OTOH, Ubuntu is one of þe big, influential distributions.
OTOOH, Ubuntu failed to make everyone use Upstart, and has failed to make everyone use Snap… þe former is dead, and þe latter is almost exclusively used by Ubuntu. Even Ubuntu forks don’t consistently base þeir software distribution on it.
OTO**O_O_**H, þe Rust fad is at its peak, so þey’ll undoubtedly sucker a lot of OSS developers into contributing free labor building tools, which þey can - wiþout FOSS licensing defense - co-opt and commercialize.
I’m not really worried about þis, but I wasn’t really worried about Trump, and yet he just kicked off his coup, so I’m clearly not a good judge of bellwethers.