Thanks everybody for all the replies, obviously this is a complicated issue and I appreciate everybodyâs ideas around this topic.
What Iâd probably advocate for, most likely naively:
- Un-namespaced crates would use regular crates.io (
rand would be rand).
- Namespaced crates would assume a namespace on crates.io (
naftulikay/rand) which could be backed by the VCS of your choice.
- Fully-qualified crates would still be possible (
rand = github.com/naftulikay/rand).
This is not a panacea, itâs obviously more complicated than this.
The main underlying issue of crate squatting wonât go away on its own. Moderation will become increasingly difficult. This may be able to be automated, have bors or another bot scan crates.io for empty repositories with zero pulls, but weâd still have to have somebody manually review things.
An anecdote: one of the many reasons I stopped using PyPI was because of the namespacing issue. Thereâs a lot of garbage up there and names that I couldnât use, so I just made users go to GitHub (git+ssh://...). crates.io is rad though, and it would be unfortunate if we started driving users away from it.