{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreigczkrzjenqwmxt6oqllxyuaaappgh7cgpe3w3zjvaidxdexcpo4m",
    "uri": "at://did:plc:ivbknywyskln22er3nkssdhl/app.bsky.feed.post/3mkp52hk5y2y2"
  },
  "path": "/t/pre-rfc-dns-domains-as-package-namespaces/24202?page=3#post_46",
  "publishedAt": "2026-04-30T06:16:11.000Z",
  "site": "https://internals.rust-lang.org",
  "textContent": "> I think you'll have a hard time convincing people if that's your stance. Even with namespaces there can only be one `json` , that won't change. You can have `jmillikin.github.io/json` , but that's not called `json` , just like `jmillikin_json` is not called `json` .\n\nThe package `jmillikin.github.io/json` contains the crate `json`, whereas the package `jmillikin_json` contains the crate `jmillikin_json`.\n\nThe purpose of namespaces is to allow multiple crates with the same name to have different package names, which is a useful feature for a package registry that tries to be a central place for an entire language's library ecosystem to register packages.\n\n> All this argument amounts to is having a nicer way to make distinguishing crate names, but that's not enough motivation for a change this big.\n\nIt's not a particularly big change (see the diffstat for the linked branches in the first post) and the value of allowing more people contribute packages to the Rust ecosystem is significant.",
  "title": "[Pre-RFC] DNS domains as package namespaces"
}