Previously: https://lemmyrs.org/post/175672
I originally had sources and data of the site public, hoping they would be interesting to study, aid in bug reporting, bring contributions, and make site's algorithms transparent.
Instead, I got knee-jerk reactions about lines of code taken out of context. I got angry dogpiles from the Rust community, including rust-lang org members. I don't need to endure such mudslinging. Therefore, the sources are no longer available.
As of right now bitcoin
crate is not deprecated, instead libs.rs responds with error 502.
Today the came for cryptocurrency, if we don’t speak up - tomorrow they will come for monads and other category theory goodies.
Honestly, the association with cryptocurrency, blockchain and similar scam technologies has always been one of the biggest stains on the Rust ecosystem, not to mention humanity as a whole. I can completely understand the libs.rs author not wanting to list anything related to that and as a German it is frankly a bit disgusting to use something derived from the Niemöller lines about concentration camps and political persecution to defend cryptocurrencies.
I would also have a hard time going back to the clunky crates.io interface if libs.rs was somehow not available any more or large numbers of authors requested removal of their libraries from there.
Who gets to decide if a project deserves to live or not? You don’t like the quite - there’s more…
“Colored people don’t like the book “Little Black Sambo”. Burn it. White people don’t feel good about “Uncle Tom’s Cabin”. Burn it. Someone’s written a book on tobacco and cancer of the lungs? The cigarette people are weeping? Burn the book. Serenity, Montag. Peace, Montag. Take your fight outside. Better yet, into the incinerator
Do you have suggestions what the future of lib.rs should be?
Do you have suggestions what the future of lib.rs should be?
Not the same person, but my suggestions would be:
- Reverse the decision to go closed source. Making stuff less transparent isn’t really going to help, and the primary controversy is coming from philosophical differences not the code itself. You can’t practically (and really shouldn’t) hide your policies. So going closed source is just another thing for people to complain about.
- Allow opting out of the opinionated parts in a relatively easy way. You can’t force other adults to align with your philosophy here, and trying is just going to cause problems.
- Personally, I think a better approach to the opinionated part isn’t directly changing data or obscuring/deprioritizing results. What you could do instead is add a section that has some context about why you think certain categories/crates are harmful. This makes the information available but doesn’t force people to do any particular thing.
I think by taking that approach you’ll avoid a lot of the backlash because you are allowing people a choice.
I’m not a lawyer and this isn’t legal advice, but personally I’d be pretty careful about editorializing/moderating content in this kind of situation. Suppose someone publishes as crate that actively causes harm. Users download it and get their data stolen/wiped/whatever. Can they reasonably have an expectation that you should have protected them from that sort of thing? After all, you are editorializing the content and going so far as to moderate content that doesn’t cause direct immediate harm to an individual but even content that potentially is harmful to society.
Possibly I should disclose that I avoid lib.rs currently because I don’t agree with the philosophy of editorializing crates and personally I hate opinionated stuff that doesn’t give me choice/control. I use open source software/resources specifically because I care about having a choice. We don’t disagree philosophically on points like the harm of crypto such as bitcoin, I just don’t like this approach to dealing with it. Also, painting all crypto stuff with the same brush can potentially delay less (or maybe even non-?) harmful alternatives that don’t involve wasting massive amounts of computation to no end.
- Allow opting out of the opinionated parts in a relatively easy way. You can’t force other adults to align with your philosophy here, and trying is just going to cause problems.
Would a link to crates.io be enough here? When I want objective data, I go to crates.io; when I want curated info about crates or want to find a new crate for some topic I go to lib.rs; when I want hand-written info about crates I go to blessed.rs/crates.
I personally agree with your point 1. and slightly agree with your point 3.
Would a link to crates.io be enough here?
I’d tend to say: probably not. It’s not that people don’t know that crates.io exists, right? So that’s not changing anything.
or want to find a new crate for some topic I go to lib.rs
And lib.rs will suppress the visibility of crates it thinks are “bad” and you’d never even know the crate existed to go look at the objective data on crates.io. Or let’s say a result comes up but it’s just an empty page with a link to crates.io: you won’t have enough information to know whether it’s worth going through the trouble of following a link to another site and a lot of people wouldn’t bother.
So I don’t think that change really solves anything.
And lib.rs will suppress the visibility of crates it thinks are “bad”
So does blessed.rs, and yet I never heard anyone ask blessed.rs to be more objective or include crypto - probably because it’s really obvious that blessed.rs is very opinionated, way more opinionated than lib.rs. I’m wondering if lib.rs could save some hassle by making its opinionated nature more clear, maybe by changing the top text from “Lightweight, opinionated, curated, unofficial alternative to crates.io.” to “Lightweight, opinionated, curated, unofficial. For objective, unopinionated data go to crates.io.”
Or maybe your point 2. from above would actually be the best solution - while I don’t agree that lib.rs has to provide objective data, people obviously expect it to, so, if it’s not too much work then it would surely be a nice way to solve some drama.
It’s not that people don’t know that crates.io exists, right?
I’d expect that the people who do know that it exists go there in the first place if they want objective data. Or go look on multiple sites if they are looking for a new crate for a relevant project (search using crates.io, search using lib.rs, look at blessed.rs, google) - at least that’s how I’m doing it.
It’s an improvement over crates.io, but I stopped using it after BurntSushi removal a while ago - I prefer data as is rather than having to double guess every search result. You got a bunch of good suggestions already. Going closed source is not going to help long term. I hate crypto stuff too, but calling them names is not helping to educate users. I will probably be fine with “this crate/category exists, it is bad because (insert some legit third party links), if you want to know more - proceed at your own risk” and remember the decision to proceed.
I prefer data as is rather than having to double guess every search result
What’s the bad scenario you’re worried about here? What type of data you’re specifically worried about? Do you expect me to maliciously manipulate the data, or is even well-intentioned curation and use of heuristics somehow not acceptable?
My view on data cleanup is probably very different than other people’s, because I’ve spent a lot (likely too much) time with the crates’ data. The pure unadulterated source data is… bad. It’s very sparse (most crates don’t fill it in). It’s full of outdated information (set once and forgotten, wrong for forks). Some crates-io category slugs are pretty misleading, so tons of crates are miscategorized by their own authors:
parsing
is not for file parsers,database
is not for databases.accessibility
…I can’t even. Who put ogg parsers, gRPC, garrysmod, RFID readers in there?There are tons of name-squatted crates, ferris guessing games, or just people’s baby steps in Rust. If you search on crates.io you often get the pure data of someone publishing a crate years ago and forgetting about it. This is pure, this is ranked objectively, this is curated and subjective.
crates-io shows you plainly only the license of the crate you’re looking at. lib.rs goes further and checks if the crate has any dependencies which are GPL, because if a crate says it’s MIT but has GPL deps, it actually is GPL.
crates-io shows you repository URL exactly as-is specified in the metadata, which could be inaccurate (in case of forks) or outright fake (someone else’s repo). lib.rs checks if the repository URL actually contains the crate or has the same owner as the crate, and will add a link to the true source code if the repo url is suspicious.
crates-io shows owners’ names from the free-form name field, so somebody malicious could pretend to be a well-known trusted user. lib.rs only allows display names for established/reputable accounts, and uses login name for new/untrusted accounts.
> What’s the bad scenario you’re worried about here? What type of data you’re specifically worried about? Do you expect me to maliciously manipulate the data, or is even well-intentioned curation and use of heuristics somehow not acceptable?
I think they are worried that some crates may not show up in the search results, either because their author requested their removal, or you decreased their search ranking for political reasons.
And I agree with you that crates.io is not a viable alternative due to the poor quality of the search results. So switching from lib.rs to crates.io doesn’t make sense for this reason alone, since crates.io may not display the crate you’re looking for either, unless you already know its name.
I can’t say I’m surprised. I was honestly wondering how this backlash would affect kornel; it can’t feel good to get such a negative response on an open source project like this, and I feel bad for him. While I strictly don’t agree with the actions done against crypto crates, especially not the marking of an active crate as deprecated, I thought that some of the other reactions to things like marking crates as non-semver compliant were overblown.
Specifically, I think one of the cases definitely was an accident, as it probably was made at a point when it really looked like the author was doing the same
1.0.x
format that some other notable crates are guilty of, even thought that turned out to not be the case.Ultimately, this is a good example of why crates.io is so hesitant to be opinionated at all about anything, which is I think a big reason why something like lib.rs came into existence anyway. If anyone has been wondering why crates.io is so hesitant to stop people from squatting crates names, it’s because they would get reactions like this. Being opinionated means things will get political and the community may divide themselves over it.
All this drama is sad. I like lib.rs, it has better search results and easier to use UI than crates.io.
If it was me who ran it (and it isn’t) I’d probably include crypto results but put a big banner on top of their pages (and small ones in their search results) about me distancing myself from that. The crucial thing I belive is to make it clear what is happening, and to communicate clearly and transparently.
I wouldn’t reuse “deprecated” tag, nor use derogatory wording in general. While i agree with the sentiment that crypto is a major problem and rather useless, some of the wording lib.rs has used is rather loaded, and feels like it can be interpreted as akin to name calling.
I found that the best way to reduce drama in my life is to not get sucked in. Say what I think with as neutral tone as possible and leave it at that. Not always easy, but I strive for it (which is what I’m attempting to do here, and why I rewrote some parts of this post after reading it and thinking about how it could be interpreted).
Additionally, I hope the author will reconsider the move to closed source, because I dont think that will solve anything. Rather it risks adding fuel to the fire, since people wanting to argue will point to this and say “look, we have no idea how it works any more, you can’t trust it” (or even worse things).
Some additional thoughts (responding to myself here):
Say what I think with as neutral tone as possible and leave it at that
A hypothetical person might respond to this “But I have strong feelings on subject X!”
To which I respond: consider what effect your words will have. Inflammatory words will just entrench people’s position more, in both camps. People on the fence are likely to walk away from the whole thing out of disgust (especially if both sides behave that way) or take the side of your opposition.
Reasoned arguments in neutral tone however will rarely change the opinion of those who strongly disagree with you (there is a slim chance). But it might strike a chord with those who are on the fence.
A tendency for debates to get polarised is a general problem in modern society in my opinion, not just in Rust. Not just politics. Not just media. Pretty much everywhere. I have seen it here on lemmyrs.org as well in the discussion of the drama around lib.rs. But I don’t think calling out specific instances would do any good (rather the opposite in fact, as it might easily be interpreted as an attack on the posters person).
I can’t agree more
I wish folks who have so much energy to demonize crypto had a tenth as much passion for tearing down the capitalist system of oppression that keeps us forever working for less than we are worth because we are terrified of homelessness and starvation.
I’m all for it, but I don’t see how I could do that with lib.rs in particular. The site already takes a swing at the anarcho-capitalist-flavored plutocracy.
@manpacket I hate if open source devs do this kind of thing.
I was going to say it’s a shame, and in a way, I guess it kind of still is. But then I saw the gitlabb issue where the creator treated burntsushi like crap for wanting his packages removed. That makes me feel less bad about it.
Why do you say like crap? I took time to understand his position and reasons (which was helpful, because they were different reasons than requests before that). We’ve agreed on a way forward, and I have fulfilled his wish. It has been a bit frustrating for both of us, because it was in essence a conflict, but I think it’s been resolved in a civil way.
Partway through he started suggesting things that just blatantly misrepresented why burntsushi was asking for his stuff to be removed. Even if he did the reasonable thing in the end, he shouldn’t have been so antagonistic about it.
(you’re replying to the guy who runs lib.rs and responded to burntshushi in that thread)
The initial request was just a question about removal, without getting into why, so it had no stance to misrepresent. The text I proposed was prefaced with “how about: …?”, and based on reasons I’ve been given previously by other people. That was a question whether that’s the right representation, not a statement. I made a wrong assumption, the text wasn’t right, so we found a different one that satisfied him.
Ah, I didn’t recognize the username. My previous comments were on mobile, so I didn’t have both pages open to draw the comparison. Now, I’m not looking to contribute toward giving you more grief than you’ve already gotten, I’m basically just expressing an opinion on the situation and that’s about it. So I’ll justify my opinion a little, but leave it at that.
I would agree that originally, asking him how you should phrase the notice was a good gesture. He suggests “‘This user requested their work be removed from this web site.’ And then link it to this issue?”
Then you respond and recommend “BurntSushi disagrees with sneering at cryptocurrencies, and in protest asked his crates to be removed.” in which, while he did say something to that effect, and that is related to the reason, you asked him what he wanted and then completely disregarded his wish to recommend a more snarky message.
BurntSushi actually responds and gives an okay to a more accurate version of what he said.
Then you respond with “[…] so I plan to develop “making a stance for cryptocurrencies” dedicated feature and move both of you there. […]”
And I read the first portion of how BurntSushi responded to that, and stopped at about that point because the whole thing seemed asinine. It would appear to me that you made him out to be the party in the wrong throughout the entire exchange to that point because he didn’t want to take part in your site.
The context here is that it was after I had a heated megathread in the bugtracker where multiple people were defending cryptocurrencies on their merits as money, decentralization tool, or an ideal to aspire to.
Burntsushi’s objection was different form these, in a subtle way, and I needed more explanation to understand the difference. His phrasing with “sneering” — to me — was not clear (I understood it as “don’t sneer at cryptocurrencies, because they don’t deserve to be sneered at” rather than “cryptocurrencies are bullshit, but you can’t say it so directly and rudely”).
Additionally, I did not want to invite another bugtracker megathread about cryptocurrencies, which is why I tested his patience asking for a statement, rather than merely linking to the bugtracker like he asked. I see it as an ask, perhaps negotiation. I don’t think that exchange deserves to be summed up as “crap”.
Anyway, I’m probably testing your patience too, so have a nice day!
Given that both of you (burnedsushi and kornel) have strong and emotive opinions (“snearing must be stopped at all cost”/“cryptos are worst than the devil”), I totally understand that there was some miscommunication, but I found the tone quite civil even thought it felt emotionnaly difficult for both of you, and it seems that it ended in a good way. I do think that both of you did a good job at carrying the convesation to a good end.
I will also use this message to say that I’m part of the silent majority that really loves lib.rs, most notably because it is opiniated. Thanks for what your work.