| > How do we decide which person/entity gets a namespace? Do what maven does, and follow a reversed domain name convention. Or just first-come-first-served. > What about namespace squatting? It's much less of a problem, because having to use a different namespace is much less intrusive than having to use a different package name. > What if there's a dispute? What kind of dispute are you imagining? It's much harder for someone else's package name to cause a problem for you if packages are namespaced, since there's no way for someone else's package to end up in your namespace, whereas if you have to just use a convention like author-packagename then disputes are much more likely. > What do we do about all the currently un-namespaced crates? Either put them in a (deprecated) unnamed/root namespace, or turn each one into its own namespace (i.e. libfoo becomes libfoo:libfoo). > How would Rust (the language) understand namespaces? It doesn't need to, as far as rust is concerned a package is a package - they're handled at the cargo level. > How would cargo work with them? Dependencies would be (namespace, name, version) rather than just (name, version). And you just... do the sensible thing? This isn't a new idea, other languages have done this. |