# Namespacing on Crates.io

**URL:** <https://internals.rust-lang.org/t/namespacing-on-crates-io/8571>\
**Category:** cargo\
**Created:** [October 15, 2018, 11:46pm UTC](https://internals.rust-lang.org/t/namespacing-on-crates-io/8571 "2018-10-15T23:46:38Z")\
**Posts on this page:** 1\
**Showing post:** 43

<div class="post-metadata">

**Author:** ![naftulikay](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/naftulikay/32/4778_2.png) [@naftulikay](https://internals.rust-lang.org/u/naftulikay)\
**Post date:** [October 17, 2018, 8:02pm UTC](https://internals.rust-lang.org/t/namespacing-on-crates-io/8571/43 "2018-10-17T20:02:59Z")

</div>

It’s just my opinion, so take it as that, but I would protest against namespacing without a slash or colon.

As @sgrif mentioned, if you create a framework and want to encourage others to write plugins or extensions, sandboxing `diesel-*` would make things counterintuitive, I’d have to name my crate `naftulikay-diesel-extension`, which doesn’t seem like an improvement on `naftulikay/diesel-extension` or `diesel-extension`.

I don’t have a perfect way forward, I don’t know that one exists, but hyphenating would seem to only add to the confusion. Any solution to this problem is going to be disruptive, but honestly I for one don’t mind `go get github.com/naftulikay/gro` or specifying that as a dependency. Since only the tail end of the repository is going to be used as the crate name, `use gro::*;` still works as expected.

If I had a vote, I’d vote for just biting the bullet and moving toward `$VCS/$OWNER/$REPO`. Leave the current crates as is, but start making new crates on Cargo register the full VCS link. This would prevent new squatting from happening and we’d be able to slowly weed out and get rid of the existing squatted crate names.

Just my two cents and entirely my opinion, so take it as that, an opinion 🙂

---

_[View the full topic](https://internals.rust-lang.org/t/namespacing-on-crates-io/8571)._
