I'm having a really hard time understanding why the IETF is so keen on
inflicting URNs on the world.
What's so hard to understand?
URNs are useful for the same reason that ISBNs, ISSNs, etc. are useful.
They weren't intended to replace URLs; they were intended to cover a
case for which DNS-based and protocol-based URLs have repeatedly been
demonstrated to work poorly -- specifically, as identifiers which have
a high probability of being stably bound to the same resource over very
long periods of time (decades or more). The assumption is that for
some purposes a stable association between the resource name and the
resource is more important than being able to access that resource
using that name from anywhere at any time.
If you want an identifer that is stable over the long term, then you
want to avoid burdening the name with any dependencies or associations
with things that aren't stable over a long term -- such as directory
structures, domain names, and access protocols. The design of URNs
follows almost directly from that realization, and from the requirement
for global uniqueness. Other identifiers that were intended for similar
purposes (e.g. handles/DOIs) have very similar designs to URNs.
What I have a really hard time understanding is the belief that everything
should run over HTTP, or that everything should be named using HTTP URLs,
when it's abundantly clear that HTTP and HTTP URIs are a poor choice for
many applications - even if HTTP is only used as a mechanism to negotiate
another protocol.
Keith