Re: [urn] Working Group Last Call of draft-ietf-urnbis-rfc2141bis-urn-06.txt

John C Klensin <john-ietf@jck.com> Thu, 31 October 2013 14:00 UTC

Return-Path: <john-ietf@jck.com>
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 3116721E805D for <urn@ietfa.amsl.com>; Thu, 31 Oct 2013 07:00:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -103.739
X-Spam-Level:
X-Spam-Status: No, score=-103.739 tagged_above=-999 required=5 tests=[AWL=-0.140, BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id xpxETd4dV-9D for <urn@ietfa.amsl.com>; Thu, 31 Oct 2013 07:00:48 -0700 (PDT)
Received: from bsa2.jck.com (ns.jck.com [70.88.254.51]) by ietfa.amsl.com (Postfix) with ESMTP id 72C0611E8196 for <urn@ietf.org>; Thu, 31 Oct 2013 07:00:42 -0700 (PDT)
Received: from [198.252.137.115] (helo=JcK-HP8200.jck.com) by bsa2.jck.com with esmtp (Exim 4.71 (FreeBSD)) (envelope-from <john-ietf@jck.com>) id 1VbsnY-000LBx-6d; Thu, 31 Oct 2013 10:00:32 -0400
Date: Thu, 31 Oct 2013 10:00:27 -0400
From: John C Klensin <john-ietf@jck.com>
To: Peter Saint-Andre <stpeter@stpeter.im>, jehakala@mappi.helsinki.fi, Keith Moore <moore@network-heretics.com>
Message-ID: <15DBB27F4BDA1975C9FDD985@JcK-HP8200.jck.com>
In-Reply-To: <5271CDD5.1020501@stpeter.im>
References: <CAAQiQRcsYQXdWBeLeHY5qvX9rB9DSqAiA6_9+4sLP4Nw-C=UNQ@mail.gmail.com> <520FEA9B.8080509@network-heretics.com> <C2997ECF3068558BF7E328D9@[192.168.1.128]> <24637769D123E644A105A0AF0E1F92EFA4374E5D@dnbf-ex1.AD.DDB.DE> <521292C2.4030305@stpeter.im> <52129423.7090900@stpeter.im> <5212A197.3080502@network-heretics.com> <521DE0E9.6070001@helsinki.fi> <5225F192.3030109@network-heretics.com> <5226A61D.2030506@stpeter.im> <5226A938.1070909@network-heretics.com> <20130904195829.Horde.zJzZDuyF1rFkws0e6fGCnQ1.jehakala@webmail.helsinki.fi> <5271CDD5.1020501@stpeter.im>
X-Mailer: Mulberry/4.0.8 (Win32)
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Cc: urn@ietf.org
Subject: Re: [urn] Working Group Last Call of draft-ietf-urnbis-rfc2141bis-urn-06.txt
X-BeenThere: urn@ietf.org
X-Mailman-Version: 2.1.12
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: <http://www.ietf.org/mail-archive/web/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, 31 Oct 2013 14:00:54 -0000

--On Wednesday, October 30, 2013 21:26 -0600 Peter Saint-Andre
<stpeter@stpeter.im> wrote:

>> As I see it, queries will primarily be used for passing
>> service requests to the URN resolvers. Such functionality
>> makes a lot of sense, at least from implementer point of
>> view. But in order to future proof the syntax it should also
>> be able to specify queries which should be processed in the
>> client end.
> 
> I understand why we might want to pass queries to resolvers.
> 
> I don't understand why we need to pass those queries as part
> of URNs themselves.
> 
> It appears that the designers of some systems currently
> deployed have decided that passing queries in URNs is a good
> idea. As far as I can see, even though we don't know why they
> did so, this WG is essentially being asked to validate that
> decision.

Peter,

Perhaps stupidly, I put off trying to respond to some of the
threads until after some documents and a WG Last Call analysis
appeared and have now completely lost whatever my train of
thought was at the time.  As a result, I may be missing
something that would change the comments below.  But...

First of all, I think Juha and others have given several reasons
why queries "as part of" URNs are necessary, with references
into named objects being key among them.  One might be able to
meet most of those needs with fragments instead, but doing so
would essentially turn fragment identifiers into queries.
Probably that is not a good idea although I'm not sure I
understand all of the implications either way.

More important, IMO, is a problem I would describe in terms
other than "validate that decision".  There are folks who are
using URNs (or at least things they consider URNs).  They have
discovered that they need queries and need queries with certain
properties.  They have made it clear that they are deploying
those URNs, in several cases at very large (and growing) scale
and using them as named identifiers that are very stable with
objects that have very long expected lifetimes. 

I think that leaves the IETF with several choices:

(1) We can say "not in _our_ URNs", which is what I read your
response above and the one to Martin as saying.  Perhaps I
misunderstand your intent, but the option still exists.

(2) We can say "the URI spec makes that idea bad news, so not in
our URNs".

(3) We can pretend the problem doesn't exist and just approve
2141bis and the mythical
draft-ietf-urnbis-rfc3406bis-urn-ns-reg-07 more or less as they
exist today, without addressing queries at all.  There is a
difference between this and (1), but it isn't huge.

(4) We can work with those groups to get some appropriate query
syntax into URNs and define their syntax and semantics
appropriately.  

(5) We can explain to those groups the reasons why, if queries
are needed, they don't belong in URNs and they should be using
something else or something supplemental.  If part of that
explanation requires a new URI type or a new near-URI type
(i.e., something that is conceptually URI-like but that would
not conform to RFC 3986) we'd better sketch it out and be ready
to explain why it is better than URNs-with-queries and/or why it
should or should not gradually supercede URNs.  Whatever that
explanation is, the other groups need to find it persuasive,
i.e., the decision about whether it is persuasive or not is not
up to the IETF.  If we take this approach and are not
persuasive, there is no difference between this choice as (1)
above.

Now, if those other groups were some collection of loonies who
want to complement the FUSSP [1] with the Final Ultimate
Solution to the Identifier Problem (FUSIP ?), it would probably
be entirely reasonable to ignore them or, better yet, refer them
to either ICANN or groups who are thinking grand thoughts about
universal semantics.  At least some of them aren't.  They
include, instead, national archive and repository libraries.  It
isn't hard to make a case that they know far more about
identifiers, identifier and object stability, and similar things
than the IETF does, nor to extrapolate from history that they
will be around long after the IETF has been forgotten. 

Because of that situation, I believe that choices (1), (2), or
(3) (or an unpersuasive (5)) will result in a fork in the URN
definition.  Whether the non-IETF branch is formalized or not is
a separate question but, if it is not formalized by someone and
conformed to, we will likely have multiple solutions that don't
completely interoperate with each other, much less with
2141bis-style URNs. 

That leads me to believe that we had better suck it up and
either define URN queries in some reasonable way or propose a
plausible alternative.  Or we should find some body that wants
to do the work, close the WG, and turn the URN definition over
to them. 

best,
   john



[1] http://www.rhyolite.com/anti-spam/you-might-be.html