this post was submitted on 22 Jul 2023
52 points (100.0% liked)
Rust Lang
3 readers
1 users here now
Rules [Developing]
Observe our code of conduct
- Strive to treat others with respect, patience, kindness, and empathy.
- We observe the Rust Project Code of Conduct.
- Submissions must be on-topic
- Posts must reference Rust or relate to things using Rust. For content that does not, use a text post to explain its relevance.
- Post titles should include useful context.
- For Rust questions, use the stickied Q&A thread. [TBD]
- Arts-and-crafts posts are permitted on weekends.
- No meta posts; message the mods instead.
Constructive criticism only
- Criticism is encouraged, though it must be constructive, useful and actionable.
- If criticizing a project on GitHub, you may not link directly to the project’s issue tracker. Please create a read-only mirror and link that instead.
- Keep things in perspective
- A programming language is rarely worth getting worked up over.
- No zealotry or fanaticism.
- Be charitable in intent. Err on the side of giving others the benefit of the doubt.
No endless relitigation
- Avoid re-treading topics that have been long-settled or utterly exhausted.
- Avoid bikeshedding.
- This is not an official Rust forum, and cannot fulfill feature requests. Use the official venues for that.
No low-effort content
- Showing off your new projects is fine
No memes or image macros
- Please find other communities to post memes
No NSFW Content
- There are many other NSFW communities, let’s keep this related to the language
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Do you have suggestions what the future of lib.rs should be?
Not the same person, but my suggestions would be:
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.
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.
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.
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.
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.
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.
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.
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.