Re: [Cbor] Status of CBOR CRS Specification

Chris Lemmons <alficles@gmail.com> Mon, 20 March 2023 18:31 UTC

Return-Path: <alficles@gmail.com>
X-Original-To: cbor@ietfa.amsl.com
Delivered-To: cbor@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 593EFC137391 for <cbor@ietfa.amsl.com>; Mon, 20 Mar 2023 11:31:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.094
X-Spam-Level:
X-Spam-Status: No, score=-2.094 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5ix8Ft0uMV1q for <cbor@ietfa.amsl.com>; Mon, 20 Mar 2023 11:31:15 -0700 (PDT)
Received: from mail-ed1-x52a.google.com (mail-ed1-x52a.google.com [IPv6:2a00:1450:4864:20::52a]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id F0065C1782D0 for <cbor@ietf.org>; Mon, 20 Mar 2023 11:31:15 -0700 (PDT)
Received: by mail-ed1-x52a.google.com with SMTP id eg48so50388290edb.13 for <cbor@ietf.org>; Mon, 20 Mar 2023 11:31:15 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1679337074; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=i5UjYDhzGCobBaFcsqo4l42HS9iZ2SNkCkER6LruQ/M=; b=nUz7BN6n0KNXH/tPRPxI+HSgflezzoIE6bij5zMUL1P9y4VG5nBgevqx5RBHRK/MQ0 qiBA9qjvWGiuR6u3zq6SNgZH//7Dt/kOEw0inp62dfppOOVFk0+f+Z9tg7CYPeGwSk0N X7VMTDI+bA80WE026KCVW/vhF560ib737JECgiev3VIzq/3JFyrXb9DEDwuayziDPyhk zxHpf5fNh7y7iwrTpbUNU8WOm9etIhzsz0e5eoLYY+hXyfsN93nv+0uuBsHBFGHqo1vF I02YNZhIBRiuYNq8N1+DlaAtK5F9Nxv8np6L0TAHry8dd5TVApxQuFvZ47HjbtdcIoKL KRDw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679337074; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=i5UjYDhzGCobBaFcsqo4l42HS9iZ2SNkCkER6LruQ/M=; b=dVy+aamOe8xPNSAQGHezu7bNqInfne8gTQChfKxTcsWVy5FBCLxsVGh/SLMM4S+vVn Uo6SzglL1nAkZWulZvvkgZ/B9cHZUCTsj9Q5UqTn6vQov7uKOvBAz/QvNkcUI+vYJoG3 73IGxc7xe8wtmZVmaTOQYfllbgaLnbq0EVK2HgjWSr5udZSEOdZvZvkv0olZU72smGQx ujzlLXUKZeGf+sfvflAFOcWn+NDYfTP3CbVAg0Na47lg8uwvUzPVJm11PZ5fhwoesXAp SvHHyntDQk4vC+7toejovUUX8DgyhpKaqCaGGj07hv0cYKIbdGyeIpGjyvK45d3rMB97 YOjw==
X-Gm-Message-State: AO0yUKXWqBjoyxHyegGCz5DjS/9acnvuBA6ZNRJLsfKwhHJqdZXsMzlB OjpKgKnhRtB+dajl+xNc9SXopzJYnqLuEmj8/BUGJdZhz3U=
X-Google-Smtp-Source: AK7set9XeRjBKualLVJSaMbuVMCe8WxXlCEj43jbrM1gS/EjupNynCHoSlnliQ2wpoG0osIyRAqNjTxR5w+G5nNvnPk=
X-Received: by 2002:a17:907:98d0:b0:920:da8c:f7b0 with SMTP id kd16-20020a17090798d000b00920da8cf7b0mr17313ejc.6.1679337073958; Mon, 20 Mar 2023 11:31:13 -0700 (PDT)
MIME-Version: 1.0
References: <CAJEGKNtpnxr14yn0gcta+7uia4KW=8KdJUs9z7ykUhghv7fwpg@mail.gmail.com> <1797252.1677847990@dyas> <CE76A0CA-C060-412B-85FE-23CFAD3282A1@tzi.org> <CAJEGKNuzqYBc_cjeEv81PRG3u8a+sQTkU62M8d4jA9piabEcHA@mail.gmail.com> <5FE021DF-2C82-4843-BF99-8C28676B5305@tzi.org>
In-Reply-To: <5FE021DF-2C82-4843-BF99-8C28676B5305@tzi.org>
From: Chris Lemmons <alficles@gmail.com>
Date: Mon, 20 Mar 2023 12:30:53 -0600
Message-ID: <CAJEGKNt=UPKmejnQWdVPOeH5uvO5QuWgTeLirHdQtvVopyGyhg@mail.gmail.com>
To: Carsten Bormann <cabo@tzi.org>
Cc: Michael Richardson <mcr+ietf@sandelman.ca>, cbor@ietf.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/cbor/TULsKrYtwtg4lmlLLaQsPcEnvxk>
Subject: Re: [Cbor] Status of CBOR CRS Specification
X-BeenThere: cbor@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "Concise Binary Object Representation \(CBOR\)" <cbor.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/cbor>, <mailto:cbor-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/cbor/>
List-Post: <mailto:cbor@ietf.org>
List-Help: <mailto:cbor-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/cbor>, <mailto:cbor-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 20 Mar 2023 18:31:20 -0000

There's a few things. For one, it's a little strange to have a
normative dependency on a draft document. It's not clear what happens
if the group picks up the draft and publishes it with a different
meaning.

But inside the document itself, it also says, "This tag may also be
encoded just after tag 103 as a way of associating a CRS with a
specific Geographic Coordinate." Perhaps I'm not understanding what
the text meant there, but you can't generally just "add a data object"
after another data object. They'd have to be in an aggregate of some
sort, like an array or a map in order to be well-formed. I think array
could work, but we'd have to define one. Instead, what I'd probably do
is take "scoping" away from this tag entirely, simply let it represent
a CRS and let applications define how they know to what it applies.

And then, for my purposes (and possibly useful to others), I can
define a "CRS Wrapper" that is a two-element array with the first
element being "the CRS" and the second element being "an object
described by the CRS". This prevents any parser from parsing an object
that is supposed to be scoped by the CRS without understanding the
wrapper. With the "CRS comes after the object", a parser reading a
coordinate could misinterpret it if it ignores the CRS that comes
after it. "Unwrapping" would need to be intentional, so an application
can decide what it wants to do. Second, having the Wrapper be a
separate tag means that if someone registers another tag that has a
coordinate system meaning (for example, a tag that represents a
coordinate system on a different planetary body), it would be just as
valid in the first position and parsers could reuse the same structure
if they needed support for that.

Technically, we could combine the Wrapper and the CRS all in one tag,
if we really wanted, since it would add an array data object meaning
(it currently uses unsigned int and text string). It's not my general
inclination, but that's probably a matter of preference. It does have
a low allocation number, so a bit of conservation isn't a bad thing,
all other things being equal. If the working group picked it up, it's
something that could be discussed. :)

And last, it could use some language cleanup. It says "basic numeric
type (CBOR Major type 0)", which might confuse someone who sees
"number" in common CDDL things and isn't sure on first reading if it
included floats or negative numbers. It could say "unsigned integer"
to match the definition in RFC 8949 and reduce potential confusion.
The introduction promises things like "You will learn [about Datum]
further below," but never actually discusses it. It's a draft, so this
makes sense, but it's something we'd want to improve if we were
publishing it. I suspect a careful review might find other stuff I
missed.

On Fri, Mar 3, 2023 at 3:07 PM Carsten Bormann <cabo@tzi.org> wrote:
>
> On 3. Mar 2023, at 19:39, Chris Lemmons <alficles@gmail.com> wrote:
> >
> > I emailed the author directly about it a month ago, but didn't get a
> > response. It's quite possible that they've got more pressing things to
> > attend to or just missed my message.
>
> Right.  Let’s spend a little more effort in trying to find Trevor — mail is so unreliable these days.
>
> > As for whether it's useful to have an RFC, that's an interesting
> > question. I'd probably have done a mere registration for this one, but
> > it's already three-quarters done as a draft. It's not a ton of work to
> > just get it over the finish line.
>
> Can you give us a hint how you would evolve this specification?
>
> I think anything that would just extend what you can do with 104 (without changing the meaning of what you already can do) should be fine.
> Or we could go ahead and do a new tag as well that does have changes in meaning.
>
> Grüße, Carsten
>
>
> >
> > On Fri, Mar 3, 2023 at 6:09 AM Carsten Bormann <cabo@tzi.org> wrote:
> >>
> >>
> >>
> >>> On 2023-03-03, at 13:53, Michael Richardson <mcr+ietf@sandelman.ca> wrote:
> >>>
> >>> Signed PGP part
> >>>
> >>> Chris Lemmons <alficles@gmail.com> wrote:
> >>>> This leaves me with two options: define a new tag fit for precisely the
> >>>> purpose I need, or see if there's interest in finishing the work that
> >>>> was started with Tag 104. It does seem like having two tags, especially
> >>>> with one in the low-numbered space, is not ideal.
> >>>
> >>>> The draft is here:
> >>>> https://datatracker.ietf.org/doc/draft-clarke-cbor-crs/
> >>>
> >>>> For context, I need a CRS tag that can "wrap" other content to describe
> >>>> the CRS for that which it encloses. I can define it as necessary, but
> >>>> reuse is usually better. Is there any interest in picking up the work
> >>>> of Tag 104? Is this even an appropriate venue for that?
> >>>
> >>> I think that CBOR is the right place for this.
> >>> Try reaching out to the author, T.Clarke @ Ball.  If he doesn't have time to
> >>> pursue this document and make you a co-author, then we have the XML for it,
> >>> and could just take it over.  Once adopted, document authors serve at the
> >>> pleasure of the wg chairs, so changing authors isn't a problem.
> >>> (just have to give credit where it is due)
> >>>
> >>> It's possible to do new tags in ~1 year as evidenced by RFC9164 and 9277.
> >>> (Actually, I think they could have happened even faster)
> >>
> >> If it is useful to have an RFC, this is correct; a mere registration can be done much more quickly.
> >>
> >> Grüße, Carsten
> >>
> >>
> >> _______________________________________________
> >> CBOR mailing list
> >> CBOR@ietf.org
> >> https://www.ietf.org/mailman/listinfo/cbor
> >
> > _______________________________________________
> > CBOR mailing list
> > CBOR@ietf.org
> > https://www.ietf.org/mailman/listinfo/cbor
>