Re: [Uri-review] Review request for gittorrent: URI scheme

Graham Klyne <gk@ninebynine.org> Wed, 06 April 2016 08:07 UTC

Return-Path: <gk@ninebynine.org>
X-Original-To: uri-review@ietfa.amsl.com
Delivered-To: uri-review@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 971CB12D16E for <uri-review@ietfa.amsl.com>; Wed, 6 Apr 2016 01:07:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.2
X-Spam-Level:
X-Spam-Status: No, score=-4.2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3] 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 bf5zvej7sVTC for <uri-review@ietfa.amsl.com>; Wed, 6 Apr 2016 01:07:05 -0700 (PDT)
Received: from relay13.mail.ox.ac.uk (relay13.mail.ox.ac.uk [129.67.1.166]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2A88712D0EB for <uri-review@ietf.org>; Wed, 6 Apr 2016 01:07:05 -0700 (PDT)
Received: from smtp6.mail.ox.ac.uk ([163.1.2.206]) by relay13.mail.ox.ac.uk with esmtp (Exim 4.80) (envelope-from <gk@ninebynine.org>) id 1aniUO-00066o-ip; Wed, 06 Apr 2016 09:07:00 +0100
Received: from gklyne38.plus.com ([81.174.129.24] helo=sasharissa.local) by smtp6.mail.ox.ac.uk with esmtpsa (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <gk@ninebynine.org>) id 1aniUO-0008ML-M0; Wed, 06 Apr 2016 09:07:00 +0100
Message-ID: <5704C3A5.4030503@ninebynine.org>
Date: Wed, 06 Apr 2016 09:07:01 +0100
From: Graham Klyne <gk@ninebynine.org>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:31.0) Gecko/20100101 Thunderbird/31.3.0
MIME-Version: 1.0
To: Chris Rebert <iana.url.schemes.gittorrent@chrisrebert.com>, uri-review@ietf.org
References: <1459739409.1809977.567878170.34FFAB67@webmail.messagingengine.com> <57021CEA.7050204@ninebynine.org> <1459917360.610044.570224593.1EB165E2@webmail.messagingengine.com>
In-Reply-To: <1459917360.610044.570224593.1EB165E2@webmail.messagingengine.com>
Content-Type: text/plain; charset="windows-1252"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Oxford-Username: zool0635
Archived-At: <http://mailarchive.ietf.org/arch/msg/uri-review/U064w450aiW_prMnCjtTRhRv8wQ>
Subject: Re: [Uri-review] Review request for gittorrent: URI scheme
X-BeenThere: uri-review@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Proposed URI Schemes <uri-review.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/uri-review>, <mailto:uri-review-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/uri-review/>
List-Post: <mailto:uri-review@ietf.org>
List-Help: <mailto:uri-review-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/uri-review>, <mailto:uri-review-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 06 Apr 2016 08:07:07 -0000

Hi Chris,

Thanks for your response.  I would like to clarify that none of my comments are 
blockers for a provisional registration, rather suggestions on the assumption 
that this work might progress to something more widespread.

With reference to 'verbiage noting the de-facto and fluid nature of the 
"specification"', that could help but it's difficult for me to offer a definite 
view without seeing it.  I could point out that a URI scheme registration is 
not, of itself, an implementers guide.

My comments have their roots in the idea that URIs are not _just_ protocol 
elements, but also part of a wider information infrastructure (the Web), and as 
such might be used in ways that are not anticipated by a particular protocol 
implementation.  The prescriptive elements I was pushing back against are, I 
think, more properly part of the actual "gittorrent" protocol specification than 
of the associated URI scheme.  My normal expectation is that a URI scheme 
registration will provide references to protocol descriptions and/or 
implementations that contribute to the meaning of the URI, but would not of 
itself attempt to be a protocol specification.

RFC3986 starts with this: "A Uniform Resource Identifier (URI) provides a simple 
and extensible means for identifying a resource."  Later 
(https://tools.ietf.org/html/rfc3986#section-1.1) it goes on to discuss 
identification in a little more detail; e.g.

"Nor should it be assumed that a system sing URIs will access the resource 
identified: in many cases, URIs are used to denote resources without any 
intention that they be accessed."

and

"URIs have a global scope and are interpreted consistently regardless of 
context, though the result of that interpretation may be in relation to the 
end-user's context."

etc.

None of this is to comment on the "gittorrent" protocol itself, or its 
applications, but simply to try and suggest a clearer separation between the 
identifying function of the URI and the protocol through which that 
identification might be realized.

To try and make this more concrete, consider the following (entirely 
speculative) example.  A developers' "intranet" might host a number of git 
repositories that are accessed and updated using gittorrent protocols from 
across the Internet.  The gittorrrent URIs could be the primary identifiers for 
these repositories, but local access could be via git HTTP protocol via a local 
HTTP caching proxy (similar to the way that HTTP proxying can be used locally to 
access FTP-served resources).  In this scenario, the gittorrent URI identifies 
the repository, and gains its meaning (i.e. what it references) via the 
gittorrent protocol, but is not necessarily invoked in local retrieval of 
repository data.

I don't think my comments need to be acted on immediately, and the provisional 
registration should probably go ahead pretty much as-is, but, looking ahead, in 
formulating specifications for wider interoperable public use they might be 
something to consider.

#g
--


On 06/04/2016 05:36, Chris Rebert wrote:
> On Mon, Apr 4, 2016, at 12:51 AM, Graham Klyne wrote:
>> I have two comments:
>>
>> 1. It is not the place of a URI scheme registration to prohibit the use
>> of
>> fragments.  I suggest dropping the sentence "The "fragment" URI component
>> is
>> never permitted" under section "semantics".  (The protocol may not allow
>> fragments, but that's no different from HTTP - once a URI is
>> dereferenced, it is
>> the format of the resulting representation that determines how if and how
>> fragments may be applied.)
>
> Okay, dropped that sentence.
>
>> 2 The registration says "gittorrent URIs represent Git repositories".
>> Looking
>> at the descriptions, it seems that the URI denotes one of three different
>> things, depending on the form used:
>>
>> Type 0: appears to denote the hash of the latest commit in the
>> repository.
>>
>> Type 1: appears to denote the repository itself, as accessed via a
>> bittorrent stream
>>
>> Type 2: appears to denote a bitcoin transaction element containing a
>> reference
>> to the repository per type 1.
>>
>> I observe that there appears to be a tight coupling between the URIs and
>> the
>> resource representations associated with dereferencing of the URIs.  If
>> this is
>> seen as being part of Web architecture (else why use URIs?), then I'd be
>> inclined to be less prescritive about representation details. These may
>> be a
>> feature of current implementations, but who knows how future
>> implementations may
>> evolve?
>
> Not giving any details on interpreting the URIs seems unhelpfully vague
> for implementors of other clients (there's currently only a reference
> implementation). However, I've now added verbiage noting the de-facto
> and fluid nature of the "specification". Hopefully that helps address
> this concern?
>
> Regards,
> Chris
>