Summary

  • RFC 3406 made two layers of naming managed: an individual URN had to be assigned under namespace rules, and the namespace itself needed a recognized definition.
  • Persistence therefore depended on non-reassignment, disclosed authority and a succession path—not on a durable-looking string or a successful resolver response.

The most revealing sentence in RFC 3406 is not about punctuation. It says that the organization maintaining a formal namespace should show stability or explain how the namespace remains useful if that organization can no longer foster it. The document could not predict which institution would survive. It could insist that disappearance be treated as an architectural case rather than an unforeseeable exception.

That demand followed from two explicit assumptions. First, URN assignment was managed: a string matching the grammar was not necessarily an assigned URN. Second, the namespace space was managed: a plausible Namespace Identifier was not valid without a recognized definition. The registry supplied provenance for a rule system. It did not certify every name produced under that system.

The 2002 design divided namespaces into three procedural classes. An X- name was experimental, unregistered and collision-prone. An informal namespace was fully fledged, but IANA chose a numeric urn-<number> identifier. A formal namespace could request a meaningful NID through IETF consensus and an RFC. The distinction concerned review and disclosure, not three different meanings of persistence.

Formal applicants had to show why an existing namespace was inadequate and how the broader Internet could benefit. RFC 3406 explicitly allowed multiple namespaces to serve a similar function. “Namespace Considerations” recorded due diligence; it did not grant a monopoly over an idea. “Community Considerations” asked how people outside the sponsoring community could use the space. The requested label came after the operating argument.

The registration template exposed where control actually lived. It named the registrant, syntax, assignment authorities, uniqueness discipline, persistence assumptions, equivalence rules, validation mechanism, resolution arrangements and scope. Version and date fields made later change attributable. A revision could clarify a rule or add an assigner, but structural interpretation—especially lexical equivalence for already assigned identifiers—was supposed to change rarely. Old names were liabilities the successor inherited.

Non-reassignment was the sharpest obligation. An identifier was not to be recycled for another resource after a member left, a customer stopped paying or the original object disappeared. Continuing validity did not require a live representation forever. It required refusing to make the old name tell a new story. A failed lookup could be honest; a reassigned name could be deceptively successful.

Resolution and validation were accordingly separate receipts. RFC 3406 pointed global-resolution operators toward DDDS registration, but namespace creation did not itself install a resolver. A namespace could also describe a way to determine whether a particular string had actually been assigned. Registry presence, syntactic validity, assignment validity, resolver discovery and returned content were different observations.

RFC 8141 later simplified the machinery without abandoning the premise. It moved ordinary formal registrations from IETF Review to Expert Review, created a path respectful of outside standards bodies, and required revisions to describe their differences. It also removed unregistered X- namespaces. Because those experiments had never entered a managed registry, their syntax-shaped strings were not valid URNs. The registered example namespace became the cleaner laboratory.

The history matters because “persistent” is easily misread as a material property of an identifier. RFC 3406 treated it as a chain of duties: assign once, do not recycle, disclose who controls interpretation, preserve the record of changes, and prepare for the custodian's exit. The string was the visible tip. Succession was part of the protocol surface.

Sources