# Crates.io "first-come, first-served" for plain crate names - why and how should it be changed?

**URL:** <https://internals.rust-lang.org/t/crates-io-first-come-first-served-for-plain-crate-names-why-and-how-should-it-be-changed/19014>\
**Category:** cargo\
**Created:** [June 17, 2023, 10:15am UTC](https://internals.rust-lang.org/t/crates-io-first-come-first-served-for-plain-crate-names-why-and-how-should-it-be-changed/19014 "2023-06-17T10:15:03Z")\
**Posts on this page:** 1\
**Showing post:** 9

<div class="post-metadata">

**Author:** ![jrose](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/jrose/32/9591_2.png) [@jrose](https://internals.rust-lang.org/u/jrose)\
**Post date:** [June 17, 2023, 9:13pm UTC](https://internals.rust-lang.org/t/crates-io-first-come-first-served-for-plain-crate-names-why-and-how-should-it-be-changed/19014/9 "2023-06-17T21:13:07Z")

</div>

The place where the package name actually matters is when specifying dependencies. If we use a UUID for packages, or full URLs (like `git` dependencies), or whatever, you have “solved” the collision problem…at the cost of making Cargo.toml harder to read and edit. That’s why people are looking at namespace-like solutions: they don’t require giving up the “short” syntax for a dependency in Cargo.toml.

That doesn’t forbid you from discussing a change that would remove that, but you should call it out. Even assuming everybody switches to using `cargo add` for adding dependencies (I don’t, currently), there are still reasons why you’d want to manually edit Cargo.toml, and this would make that experience worse.

---

_[View the full topic](https://internals.rust-lang.org/t/crates-io-first-come-first-served-for-plain-crate-names-why-and-how-should-it-be-changed/19014)._
