Meaning of names and operations of services

In general, it is a bad idea to design a language where the
meaning of a term in the language depends on the operational
behavior of a service.

Generally, this is because the meaning of the language terms
needs to be longer-lived and more stable than any particular
service or service guarantee, and thus independent of any
particular service.

The meaning of "describedBy" is term in a link relation language.
The IANA web site is a service.

It is a bad idea for the meaning of "describedBy" to depend on
the long-term operational behavior of the IANA web site.

In some cases, a term in a language actually makes reference to
the operational behavior of a service.

"http://www.iana.org/blargh" is a term in the URI language which
identifies the operational behavior of the "www.iana.org" HTTP
service for the "/blargh" path. Other languages which include the
URI language may then give derivative meanings to the term.
However, in a language where the meaning of "blargh" depends on
the operational behavior of "www.iana.org" has given it a
transient meaning.

It is a *good* idea (best practice) to run services which help
people discover the meaning of terms they haven't seen before.
Discovery of meaning is hard. Such services are useful, but they
aren't definitional. They aid but do not determine.

The IANA registry is a registration service. The IANA web site is
a courtesy. IANA makes information from the IANA registry
available on the IANA web site, but the IANA web site is not the
registry, it is merely a service run by them to make their
registry available.

I think attempts to get IANA to change the operational behavior
of the IANA web site because it might have some effect on the
meaning of terms in the "Link" relationship language is a sign
that some architectural error has been made.

I don't think the problem is so much with "httpRange" as it is in
languages that assume that "best practice" is always followed and
that web sites that exist today will exist forever. Do not put
operational "best practice" as a requirement for having
well-defined semantically coherent languages.

Larry
-- 
http://larry.masinter.net

Received on Friday, 30 January 2009 14:38:51 UTC