Re: [art] Software URNs for dependency representation

Nico Williams <nico@cryptonector.com> Tue, 27 June 2017 19:20 UTC

Return-Path: <nico@cryptonector.com>
X-Original-To: art@ietfa.amsl.com
Delivered-To: art@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3F9C512969E for <art@ietfa.amsl.com>; Tue, 27 Jun 2017 12:20:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.799
X-Spam-Level:
X-Spam-Status: No, score=-4.799 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-2.8, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cryptonector.com
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 fpfIWpS2LzD1 for <art@ietfa.amsl.com>; Tue, 27 Jun 2017 12:20:26 -0700 (PDT)
Received: from homiemail-a105.g.dreamhost.com (sub4.mail.dreamhost.com [69.163.253.135]) (using TLSv1.1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7971B1292F5 for <art@ietf.org>; Tue, 27 Jun 2017 12:20:26 -0700 (PDT)
Received: from homiemail-a105.g.dreamhost.com (localhost [127.0.0.1]) by homiemail-a105.g.dreamhost.com (Postfix) with ESMTP id 0BB0E30002A26; Tue, 27 Jun 2017 12:20:26 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=cryptonector.com; h=date :from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to:content-transfer-encoding; s= cryptonector.com; bh=VbfLEyvNOv63BBwQ5Lj7xKrWeQo=; b=So4wxIuNYlj xTiLGmFvV+gt+XF5pHHVSrdCJL/yh3C9RBJJwlRpTnZDK4wF6n3UFs4AcRA1t/AA mqiaqATsl9adBMekWiUaEOj/Y+ElDJ6CKaDqJVeNf9QTv/HVqK+vTIRHa0+kN3kW 3g26vkfurBM7bthBlvTnkz8cmJfQPgW4=
Received: from localhost (cpe-70-123-158-140.austin.res.rr.com [70.123.158.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: nico@cryptonector.com) by homiemail-a105.g.dreamhost.com (Postfix) with ESMTPSA id AC76030002A25; Tue, 27 Jun 2017 12:20:25 -0700 (PDT)
Date: Tue, 27 Jun 2017 14:20:23 -0500
From: Nico Williams <nico@cryptonector.com>
To: "Roy T. Fielding" <fielding@gbiv.com>
Cc: Graham Klyne <gk@ninebynine.org>, art@ietf.org
Message-ID: <20170627192022.GM3432@localhost>
References: <20170626212951.GA3422@localhost> <5952980E.60707@ninebynine.org> <20170627183125.GL3432@localhost> <22241563-BA06-4125-BFE8-8D8E9114CAEF@gbiv.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
In-Reply-To: <22241563-BA06-4125-BFE8-8D8E9114CAEF@gbiv.com>
User-Agent: Mutt/1.5.24 (2015-08-30)
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/art/_eNxuM-a0ugUXjwe8WATyAQ-Xqo>
Subject: Re: [art] Software URNs for dependency representation
X-BeenThere: art@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Applications and Real-Time Area Discussion <art.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/art>, <mailto:art-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/art/>
List-Post: <mailto:art@ietf.org>
List-Help: <mailto:art-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/art>, <mailto:art-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 27 Jun 2017 19:20:28 -0000

On Tue, Jun 27, 2017 at 11:41:40AM -0700, Roy T. Fielding wrote:
> Hmm…
> 
>     https://dwid-org.github.io/uri/historical/draft-ietf-uri-roy-urn-urc-00.txt

Yeah, something like that.

I know -I'm certain- that we've had a discussion about this many times
in the past.  This is really all about how to name things in a way that
is location-independent yet dereferenceable.  A perennial debate, no?

URIs leave it to the scheme to bake in how to dereference.

URNs don't deal with automatic deref, though where a URN is more than
just a name -- where a URN is a named object that could be retrieved --
then there's generally at least an informal way to dereference.

Maybe we should distinguish pure names (e.g., as used in protocol
elements, such as OIDs) from named resources and then require a
dereference mechanism for the latter.  Right now the one mechanism we
have for this is defining a new URI scheme.

So a new URI scheme it would have to be today, though that is somewhat
dissatisfying: there are many URNs that name resources and which could
use a deref specification.

I'd rather be able name I-Ds and RFCs with URNs and have web software
universally be able to dereference those than have to add an rfc: URI
scheme to get the same effect.  But I'd live with an rfc: scheme, and
I'd live with an sw: scheme.

DOIs for software were mentioned.  But I think with software it's nice
to be able to see names and other metadata in the URI, and it's nice to
be able to have a very light-weight location resolution algorithm.

Yes, yes, we could have every name be a hash or UUID.  But URIs have a
way of leaking into UIs, so having somewhat human-readable URIs is
somewhat handy.  (Having a hash as part of a URI is not a problem
though.)

The location resolution algorithm I have in mind is dead trivial:
resolve the location of the base respository, add local part from the
URI.  The first part can be cached for a long time -- forever even, with
cache invalidation only upon failure.  The second part is dead trivial.

Any location resolution algorithm that requires online infrastructure at
all times will probably be very dissatisfying.  Thus I oppose the use of
DOIs as a primary mechanism for identifying software.

Nico
--