Re: [Cbor] [Ext] Éric Vyncke's No Objection on draft-ietf-cbor-7049bis-14: (with COMMENT)

Paul Hoffman <paul.hoffman@icann.org> Wed, 23 September 2020 19:31 UTC

Return-Path: <paul.hoffman@icann.org>
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 7C6D53A13E2; Wed, 23 Sep 2020 12:31:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=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 hDkQ_Z44tTKB; Wed, 23 Sep 2020 12:31:21 -0700 (PDT)
Received: from ppa4.dc.icann.org (ppa4.dc.icann.org [192.0.46.77]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9051B3A1407; Wed, 23 Sep 2020 12:31:21 -0700 (PDT)
Received: from MBX112-W2-CO-1.pexch112.icann.org (out.mail.icann.org [64.78.33.5]) by ppa4.dc.icann.org (8.16.0.42/8.16.0.42) with ESMTPS id 08NJVICG024009 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 23 Sep 2020 19:31:19 GMT
Received: from MBX112-W2-CO-1.pexch112.icann.org (10.226.41.128) by MBX112-W2-CO-2.pexch112.icann.org (10.226.41.130) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.659.4; Wed, 23 Sep 2020 12:31:18 -0700
Received: from MBX112-W2-CO-1.pexch112.icann.org ([10.226.41.128]) by MBX112-W2-CO-1.pexch112.icann.org ([10.226.41.128]) with mapi id 15.02.0659.006; Wed, 23 Sep 2020 12:31:18 -0700
From: Paul Hoffman <paul.hoffman@icann.org>
To: =?utf-8?B?w4lyaWMgVnluY2tl?= <evyncke@cisco.com>, "eve.m.schooler@intel.com" <eve.m.schooler@intel.com>
CC: The IESG <iesg@ietf.org>, "cbor@ietf.org" <cbor@ietf.org>
Thread-Topic: =?utf-8?B?W0V4dF0gw4lyaWMgVnluY2tlJ3MgTm8gT2JqZWN0aW9uIG9uIGRyYWZ0LWll?= =?utf-8?Q?tf-cbor-7049bis-14:_(with_COMMENT)?=
Thread-Index: AQHWhrYnIU5oiGSWzkqWuSBzlwTbV6l3KCKA
Date: Wed, 23 Sep 2020 19:31:17 +0000
Message-ID: <97DFCD48-DB0D-46F6-9329-A6D525E9AD39@icann.org>
References: <159966199241.32601.2625919984583918486@ietfa.amsl.com>
In-Reply-To: <159966199241.32601.2625919984583918486@ietfa.amsl.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
x-originating-ip: [192.0.32.234]
x-source-routing-agent: Processed
Content-Type: multipart/signed; boundary="Apple-Mail=_41EEA29B-BA90-4CEF-9594-0E373D5E99F1"; protocol="application/pkcs7-signature"; micalg=sha-256
MIME-Version: 1.0
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.235, 18.0.687 definitions=2020-09-23_16:2020-09-23, 2020-09-23 signatures=0
Archived-At: <https://mailarchive.ietf.org/arch/msg/cbor/P5eqfXkw0faxR_inHl8itwYUWCs>
Subject: Re: [Cbor] =?utf-8?q?=5BExt=5D_=C3=89ric_Vyncke=27s_No_Objection_on_?= =?utf-8?q?draft-ietf-cbor-7049bis-14=3A_=28with_COMMENT=29?=
X-BeenThere: cbor@ietf.org
X-Mailman-Version: 2.1.29
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: Wed, 23 Sep 2020 19:31:24 -0000

Thanks for your comments and those of the IoT directorate review. Our notes are below.

--Paul Hoffman


> The document is very thorough. In places, it provides a lot of detail upfront
> that seems like it could be deferred until later sections and closer to the
> topics at hand. For consistency and accuracy, the document would benefit from
> review by the authors of the usage of may and must, capitalized or not, and
> alternate terms (e.g., "does not", "can", "cannot", "might", etc.) that may
> require replacement by those recommended by [RFC2119][RFC8174]. Explicit use of
> "recommended" advice and usages could be beneficial.

The WG tried to do this wherever possible. It is very difficult to do this in the
specification of a data format because most the recommendations are for application
developers, not encoder and decoder developers. The WG jiggled some of the
requirements language, and this is the best result we could come up with.

> Given the length and
> coverage of the spec, and given that this was a first read of the spec by this
> reviewer, below are suggestions for additional forward/backward pointers to
> sections where topics are mentioned (as I found myself flipping forward or
> backward in the doc, in search of the first mention or deeper discussion), for
> places where subsections and table names could use reconciling, for consistent
> use of double quotes that highlight special terms, and a few places where
> clarifications could help readability. The examples throughout are great,
> though there are some places where examples are missing.It is also helpful
> when a section includes an explanation of the primary purpose for a feature
> (for example, tags are explained well on page 20, last paragraph); these kinds
> of explanations are not always present.

This is useful input. Many of us have been reading this for seven years...
We have taken many of your suggestions about forward references and first
definitions to heart and will put them in the document before sending it
to the RFC Editor.

> The linkage to IoT is given in the
> document as advice for constrained node processing, though it would be
> interesting -  now that the IoT Edge includes constrained as well as less
> constrained nodes - to evaluate if there is also relevance for lower latency
> IoT scenarios.

Great!

[[ Lots of editorial notes elided here, but many edits were added to the
document based on them: thanks! We could not add the extensive cross-references that
were requested, but were able to add some of them to increase clarity. ]]


> ----------------------------------------------------------------------
> COMMENT:
> ----------------------------------------------------------------------
>
> Thank you for the work put into this document. While it is rather long, it is
> exhaustive and usually quite clear (with exceptions see below).
>
> Thanks to Eve Schooler for her very detailed IoT directorate review at
> https://datatracker.ietf.org/doc/review-ietf-cbor-7049bis-14-iotdir-telechat-schooler-2020-09-08/
> I strongly suggest to the authors to follow Eve's recommendation to clarify and
> make the text easier to read.

Definitely! See above.

> Please find below a couple of non-blocking COMMENT points.
>
> I hope that this helps to improve the document,
>
> Regards,
>
> -éric
>
> == COMMENTS ==
>
> -- Section 3.4  --
> Is there a reason why "specifically, tag number 25 and tag number 29" have no
> reference to a RFC ? The reader would benefit from some short description. This
> oddity was also mentioned by Eve in her review, so, I strongly suggest to
> address the issue.

As you can see at <https://www.iana.org/assignments/cbor-tags/cbor-tags.xhtml#tags>,
these are not RFCs, they are to a personal website.  Instead of creating a link in an
RFC that could go stale, we added another reference to the IANA registry.

> -- Section 3.4.5.2 --
> As noted by other AD, I am puzzled by the added value of checking whether a
> string is PCRE or ECMA262.

Already fixed; see earlier responses to Ben.

>
> -- Section 3.4.6 --
> I like this idea of 'magic number' but, as I am not a Unicode expert, I wonder
> whether "In particular, 0xd9d9f7 is not a valid start of a Unicode text in any
> Unicode encoding if it is followed by a valid CBOR data item." will always
> stand true.

One can never predict the future, but the stability of the Unicode standard in
respect to these code points seems pretty good.


> -- Section 4.2.1 --
> Humm this section says "MUST be as short as possible" while the introduction
> says "optimize for CPU not for bytes". Same applies for sorted keys... How can
> we reconciliate ? Suggestion: add some text about this apparent goals conflict.

The goal of Section 4.2.1 is pretty clearly "deterministic encoding". This section
has nothing to do with the optimization of the format itself.