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.
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.
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).
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.
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 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.