Namespacing on Crates.io

It has been mentioned previously to use a domain name as the namespace. My initial reaction was that it's just a long way of specifying git dependencies, but maybe there is something there after all.

The foo@registry syntax is intriguing. It's terser than current alternative registries syntax, and feels easier to use than .cargo/config changes or extra registry = url key.

That could solve "what if someone squats some company's trademark/project name(space)" problem, because the really official crates could be in form of crate@company.com. e.g. you could install servo@mozilla.org without having to check if servo or mozilla/servo is owned by mozilla or squatted.

I think publishing of a custom crate index could be made really easy. As easy as publishing a static website, e.g.: have a directory of .crate tarballs, run cargo magic there, and have it generate the index for them that you can upload anywhere, e.g. to github pages. There are actix.rs and tokio.rs domains already, and they could become registries & namespaces.

5 Likes