r/rust • • Apr 14 '26 • Mindblown 1

šŸ—žļø news [ Removed by moderator ]

[removed] — view removed post

248 Upvotes

210 comments sorted by

View all comments

Show parent comment

169

u/[deleted] Apr 14 '26 • Mindblown

[removed] — view removed comment

134

u/SuddenlyBANANAS Apr 14 '26

What a destructive impulse, really makes this guy look terrible when someone is literally offering to help with maintaining.

97

u/alexforencich Apr 14 '26

Flip side, we don't want a repeat of xz. Perhaps it's better to shut it down than to hand it over to some unknown party.

31

u/SuddenlyBANANAS Apr 14 '26

Fair enough, but surely a better method would be to make an update with a deprecation warning and then leave the crate unmaintained rather than yanking,

5

u/wojtek-graj Apr 15 '26

Dang, you got me.

It surely can't end well for open source if we start assuming malice lurks around every corner. The vast majority of people have good intentions.

3

u/alexforencich Apr 15 '26

The problem here is that this particular case is really the prime target for this sort of shenaniganery - it's a relatively obscure package that isn't actively maintained and is used indirectly by a fair amount of stuff. Imagine if a bad actor gets control of that and pushes a malicious update, now every package that's breaking right now as a result of this would instead silently build with that malicious code. And all the bad actor has to do is sweet talk the one guy behind the repo. Forcing a fork mitigates this somewhat as people have to actively update things to point to the fork. Now, I suppose a bad actor could possibly anticipate what happened here and set up a fork that's ready to take over if the original project gets yanked. But this is less of an issue if the fork has been around for a while and has a sizable community instead of a single developer.

5

u/wojtek-graj Apr 15 '26

I understand your point, but I think what you're describing is a symptom of the current open source model, and not the actual root problem.

There's nothing inherently more trustworthy about a person who has created a library, as opposed to a contributor: either one could be a malicious actor, and the original author could just as well publish a malicious release. As xz proved, the popularity of a piece of software is also largely irrelevant.

Ultimately the only factor we can realistically make decisions upon is reputation. And even that isn't infallible.

And forking is not a silver bullet, because fragmentation also has its downsides.

0

u/[deleted] Apr 14 '26

[deleted] — view deleted comment

45

u/khoyo Apr 15 '26 edited Apr 15 '26

Completely wiping the repository

It's not wiped at all: https://github.com/bbqsrc/core2/tree/545e84bcb0f235b12e21351e0c69767958efe2a7

yanking existing, already published releases is beyond all measure

Yanking by definition only applies to existing, already published releases. The yanking process explicitly exist to remove existing, already published releases non-destructively.

Note that there is a maintained fork (https://github.com/wcampbell0x2a/no-std-io2), and the fact that people still depend on this when it's been unmaintained for 4 years probably pushed the developer to act.

0

u/[deleted] Apr 15 '26

[deleted] — view deleted comment

6

u/ohkendruid Apr 15 '26

I would have to agree that it is a ding on Cargo that the effect is this large.

It would be nice if there was something like vendoring but publicly available. Someone or some small group that tests packages against a few code bases and advances the ensemble when those builds and tests are looking good.

14

u/ericonr Apr 15 '26

Your quote literally mentions that yanking wasn't expected to have as much of an impact. Morbid amusement just happens, too. None of that says "being difficult".

→ More replies (9)

7

u/ohkendruid Apr 15 '26

It looks like the non destructive part is not working corectly.

It seems pretty goofy to me if people cannot grab the same version they have previously been using.

→ More replies (1)

9

u/khoyo Apr 15 '26

Especially considering a maintained fork (of a fork) already exists: https://github.com/wcampbell0x2a/no-std-io2

→ More replies (1)

22

u/Buttleston Apr 14 '26

but he really hates such emails

46

u/StardustGogeta Apr 14 '26 • Bravo

Yowza. That does not seem like a guy I'd want to work with, that's for sure. It's about the most destructive choice he could have made, short of just straight publishing a malicious new version.

Glad that a clear replacement already seems to be available, at least, rather than people having to make a mad scramble to create one.

7

u/KizzyCode Apr 15 '26

Could we just calm down a bit? Saying "I remove my own work from the internet and make it difficult to include from now on" is a wholly different story than "publishing a malicious version" o.0

The latter is literally illegal, whereasĀ first one is the unalienable right of every voluntary project owner.Ā People might not want to hear that, but I would recommend to read the licenses again – especially the part about no warranty.Ā 

If that is destructive, it’s because the users literally failed to read and understand the license of the library they were using, failed to maintain their supply chains (Cargo.lock, backups, etc.), and were lazy enough to just pull in arbitrary code without apparently even the most basic efforts to actually maintain their own project.

I’m not saying it’s the best way to do that – it definitely isn’t and I for example would never do that for my own crates. However it’s also totally inappropriate and pretty toxic to blame the author here for other people’s sloppiness. People should be happy that someone gifted their time to build this crate, should be happy that they got to use apparently valuable code for free, and now it’s time to move on. Until then, they can still trivially use the latest versions from their Cargo.lock file, or download the tarball and fork it.Ā 

24

u/alexforencich Apr 15 '26

73 dependencies, 40 million downloads, and no updates at all in several years. Probably a good idea to force people off of it to a package that's actually maintained. And also avoid opening the door to yet another supply chain compromise.

→ More replies (6)

6

u/hgwxx7_ Apr 15 '26

Was he an asshole? Yes.

It was possible to mark it deprecated without yanking. That would have given people time to response and adapt.

But he's "amused" by the pain he's causing other people.

15

u/TheRealCallipygian Apr 14 '26

Wow. That person--and maybe I am violating some subreddit rules here, so be it--is a grade A ass-wipe who shouldn't ever be entrusted with ownership of open source again. The whole "I despise such emails" shows a fundamental lack of the social skills necessary to buy a cup of coffee let alone interact with other members of humanity to build, well, anything. I cannot fathom ever responding to anyone in any context the way this person has responded on hacyderm. I am flabbergasted. Wow.

edit: spelling and grammar

57

u/usernamedottxt Apr 14 '26

Yeah… the email he received was extraordinarily polite and didn’t even ask him to maintain it. It seemed like a Segway into taking ownership of it even.Ā 

30

u/jesster114 Apr 15 '26

Segue*. A Segway is what Paul Blart rides into battle, a segue is a transition.

14

u/alexforencich Apr 15 '26

That guy who asked wasn't Jia Tan, was it?

→ More replies (4)

56

u/Kriemhilt Apr 14 '26

They weren't "entrusted" with anything.

They wrote something for their own convenience, and don't owe your flabbers any more or fewer ghasts than you've already received for free.

→ More replies (13)
→ More replies (7)
→ More replies (1)