3 ms·
> Perhaps my biggest critique is that crates.io has no namespacing. Anyone can just claim a global and generic package name and we mostly have to deal with it (
by littlestymaar 3y ago
> Perhaps my biggest critique is that crates.io has no namespacing. Anyone can just claim a global and generic package name and we mostly have to deal with it (unless you avoid using the crates.io repository, but then you'll probably have more problems...). Some of these globally-claimed generic packages are not really the best package to use.
This is true that with no namespace anyone can end up squatting a cool name, but with namespace you end up in an even worse place: no-one end up with the cool names, and it makes discoverability miserable, because instead of having people come up with unique names like serde, everybody just name their json serialization/parsing library json and user now needs to remember if they should use "dtolnay/json" or "google/json" (and remember not to use "json/json" because indeed namespace squatting is now a thing), and of course this makes it completely ungoogleable.
We've had the namespace discussion for hundreds of time in the various Rust town squares, and the main reason why we still don't have namespace is because it doesn't actually answer the problem it's supposed to address and if you dig a little bit you realize that it even makes them worse.
Having a centralized public and permissionless repository opens tons of tricky questions, but namespaces are a solution to none of them.
- pdimitar 3y ago> everybody just name their json serialization/parsing library json and user now needs to remember if they should use "dtolnay/json" or "google/json" What's the problem with that? You will have to explicitly state intention which is always a good thing. > and of course this makes it completely ungoogleable You are aware that just pasting username/projectname gives you exactly what you are looking for in the several top search engines, correct? > We've had the namespace discussion for hundreds of time in the various Rust town squares, and the main reason why we still don't have namespace is because it doesn't actually answer the problem it's supposed to address and if you dig a little bit you realize that it even makes them worse. OK, if you say so. Is this worse state of things documented somewhere?
- yencabulator 3y ago> and of course this makes it completely ungoogleable Do you really think nobody has ever been able to google a Go import path? Some of these arguments are ridiculous.