[urn] draft-ietf-urnbis-rfc2141bis-urn-16: 'name' and 'namespace'

ht@inf.ed.ac.uk (Henry S. Thompson) Thu, 05 May 2016 11:48 UTC

Return-Path: <ht@inf.ed.ac.uk>
X-Original-To: urn@ietfa.amsl.com
Delivered-To: urn@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4940312D15E for <urn@ietfa.amsl.com>; Thu, 5 May 2016 04:48:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.217
X-Spam-Level:
X-Spam-Status: No, score=-5.217 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.996, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id RAO4c4u1F1EN for <urn@ietfa.amsl.com>; Thu, 5 May 2016 04:48:29 -0700 (PDT)
Received: from nougat.ucs.ed.ac.uk (nougat.ucs.ed.ac.uk [129.215.13.205]) by ietfa.amsl.com (Postfix) with ESMTP id 06BA612D14C for <urn@ietf.org>; Thu, 5 May 2016 04:48:28 -0700 (PDT)
Received: from crunchie.inf.ed.ac.uk (crunchie.inf.ed.ac.uk [129.215.33.180]) by nougat.ucs.ed.ac.uk (8.13.8/8.13.4) with ESMTP id u45BmSwG002342 for <urn@ietf.org>; Thu, 5 May 2016 12:48:28 +0100 (BST)
Received: from troutbeck.inf.ed.ac.uk (troutbeck.inf.ed.ac.uk [129.215.25.32]) by crunchie.inf.ed.ac.uk (8.14.4/8.14.4) with ESMTP id u45BmRnb006453 for <urn@ietf.org>; Thu, 5 May 2016 12:48:27 +0100
Received: from troutbeck.inf.ed.ac.uk (localhost [127.0.0.1]) by troutbeck.inf.ed.ac.uk (8.14.7/8.14.7) with ESMTP id u45BmRdg002728 for <urn@ietf.org>; Thu, 5 May 2016 12:48:27 +0100
Received: (from ht@localhost) by troutbeck.inf.ed.ac.uk (8.14.7/8.14.7/Submit) id u45BmRhS002727; Thu, 5 May 2016 12:48:27 +0100
X-Authentication-Warning: troutbeck.inf.ed.ac.uk: ht set sender to ht@inf.ed.ac.uk using -f
To: urn@ietf.org
From: ht@inf.ed.ac.uk
Date: Thu, 05 May 2016 12:48:27 +0100
Message-ID: <f5bzis4zpx0.fsf@troutbeck.inf.ed.ac.uk>
User-Agent: Gnus/5.1012 (Gnus v5.10.12) XEmacs/21.5-b34 (linux)
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
X-Edinburgh-Scanned: at nougat.ucs.ed.ac.uk with MIMEDefang 2.60, Sophie, Sophos Anti-Virus, Clam AntiVirus
X-Scanned-By: MIMEDefang 2.60 on 129.215.13.205
Archived-At: <http://mailarchive.ietf.org/arch/msg/urn/JylzCKMcf9ydK0KRe8eh-MoknNI>
Subject: [urn] draft-ietf-urnbis-rfc2141bis-urn-16: 'name' and 'namespace'
X-BeenThere: urn@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Revisions to URN RFCs <urn.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/urn>, <mailto:urn-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/urn/>
List-Post: <mailto:urn@ietf.org>
List-Help: <mailto:urn-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/urn>, <mailto:urn-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 05 May 2016 11:48:32 -0000

The words 'namespace' and 'name' are used throughout the spec in ways
that for this reader at least appear to have different meanings at
different points, sometimes to the point of apparent contradiction.
Consider for example the following from section 2.2:

  "Depending on the rules governing a namespace, strings that are
   valid in an NSS associated with that namespace might contain
   characters that are not allowed by the "pchar" production
   referenced above (e.g., characters outside the ASCII range or,
   consistent with the restrictions in RFC 3986, the characters '/',
   '?', '#', '[', and ']').  While such a string might be a valid
   name, it is not a valid URN until it has been translated into a
   conformant NSS."

Stripping out a lot of detail, this says "[there are] strings that are
valid in an NSS [which render it not] a conformant NSS".

While some readers will be familiar with the sense of these words
which I think you are relying on, where e.g. 0-205-31342-6 is a name
in the ISBN namespace, others will not be.

I would strongly recommend that you adhere much more closely to, and
document, something close to the pattern of usage in the following,
from section 1:

  Some URN namespaces create names that exist only as URNs, whereas
  others create URNs out of names that already exist in other
  identifier systems

That is, always use
  'URN namespace' when you mean the thing assigned to an NID;
  'identifier systems' when you mean other (usually pre-existing)
     kinds of managed collections of names;
  'URN' when you mean a member of a URN namespace;
  'NSS' when you mean the URN-namespace-specific part of a URN;
  'name' _only_ when you mean a member of a non-URN identifier system.

And make these definitions explicit in 1.2, and make it explicit that
by 'URN namespace' you mean _only_ the set of URNs allowed by the
rules governing that URN namespace (extension) or those rules
themselves (intension), _not_ the corresponding names or management of
any related non-URN namespace.

It will be tedious, and occasionally lead to less concise statements,
to make a pass over the document to do this, but the improvement in
clarity will IMO be worth it.  Give me the write token for a week, and
I'll do it, if you like.

-- 
       Henry S. Thompson, School of Informatics, University of Edinburgh
      10 Crichton Street, Edinburgh EH8 9AB, SCOTLAND -- (44) 131 650-4440
                Fax: (44) 131 650-4587, e-mail: ht@inf.ed.ac.uk
                       URL: http://www.ltg.ed.ac.uk/~ht/
 [mail from me _always_ has a .sig like this -- mail without it is forged spam]