Coordinates/namespaces in crates.io? Maintaining sanity as Rust grows?

Hi. I was just reading Chapter 14 of the book, regarding crates.io.
I was quite suprised by the phrase " However, crate names on crates.io are allocated on a first-come, first-served basis. Once a crate name is taken, no one else can publish a crate with that name."

Well, having used things like Maven (Java) which expect quite specific ways that you avoid name clashing with others (Choosing your Coordinates - The Central Repository Documentation) I was pretty surprised by the approach in Rust / crates.io . Well, first come first serve may work well for a small community / small number of crates but will certainly blow up as the community grows and the number of crates too. Is this problem known? What is the long term plan about that?

My first guess of seeing the extent of the problem was to see how many guessing_game crates are there just that people try out how to work with crates.io :slight_smile:

By the way, for that shouldn't crates.io have a "playground" or "temp" place one could upload things which are automatically deleted a month after?

This has been discussed recently, and many times in the past:

You can publish Gustavo-guessing-game, and in your Cargo.toml:

[dependencies]
guessing_game = { package = "Gustavo-guessing-game", version = "0.1" }
1 Like

Thanks. Given your answer and the links thereof, it seems I searched and posted on the wrong forum. I guess it is better to continue discuss there.

Just to ilustrate my point there are according to official statistics 537k guys with my same name in my home country. So, if I name my crates with Gustavo, chances are that some of them are programmers and eventually turn to Rust and cannot use it :slight_smile:

This topic was automatically closed 90 days after the last reply. We invite you to open a new topic if you have further questions or comments.