Re: [Cbor] New IETF Internet-Draft draft-mcnally-deterministic-cbor-00
Carsten Bormann <cabo@tzi.org> Fri, 10 March 2023 12:01 UTC
Return-Path: <cabo@tzi.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 50668C152574 for <cbor@ietfa.amsl.com>; Fri, 10 Mar 2023 04:01:07 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.899
X-Spam-Level:
X-Spam-Status: No, score=-6.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
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 FoIdKwtpjMpx for <cbor@ietfa.amsl.com>; Fri, 10 Mar 2023 04:01:04 -0800 (PST)
Received: from smtp.uni-bremen.de (mail.uni-bremen.de [134.102.50.15]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 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 2873DC1CAB4A for <cbor@ietf.org>; Fri, 10 Mar 2023 04:00:41 -0800 (PST)
Received: from [192.168.217.124] (p548dc9a4.dip0.t-ipconnect.de [84.141.201.164]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.uni-bremen.de (Postfix) with ESMTPSA id 4PY4Pf4TCNzDCcJ; Fri, 10 Mar 2023 13:00:38 +0100 (CET)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.120.23.2.7\))
From: Carsten Bormann <cabo@tzi.org>
In-Reply-To: <CAAse2dG0xwdToi_+B0UbhBo3ZYYqPTv9oiA=OkaYQbojENiSGg@mail.gmail.com>
Date: Fri, 10 Mar 2023 13:00:38 +0100
Cc: cbor@ietf.org
X-Mao-Original-Outgoing-Id: 700142438.086481-196f15abb588629b35d140f8f2c326b1
Content-Transfer-Encoding: quoted-printable
Message-Id: <F189F1ED-9435-4443-B743-F23136D014FB@tzi.org>
References: <CAAse2dG0xwdToi_+B0UbhBo3ZYYqPTv9oiA=OkaYQbojENiSGg@mail.gmail.com>
To: Christopher Allen <ChristopherA@lifewithalacrity.com>
X-Mailer: Apple Mail (2.3608.120.23.2.7)
Archived-At: <https://mailarchive.ietf.org/arch/msg/cbor/JwjMumIilbKuj1xgz0vQkUJZ66A>
Subject: Re: [Cbor] New IETF Internet-Draft draft-mcnally-deterministic-cbor-00
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: Fri, 10 Mar 2023 12:01:07 -0000
A quick review of this draft: The draft mixes up requirements of very different kinds. This requires sorting. Not distinguishing int and float, only supporting one NaN value, as well as not allowing `null` values in map entries, are specific choices that an application data model can make. Or it doesn’t. In this way, this is a *profile* of the CBOR data model. (I happen to completely disagree with the no `null` thing as a general requirement for maps — this MAY be acceptable to certain JSON-like usages, but it rules out explicit statements about certain map keys.) Mixing API requirements and interchange requirements makes for a weird specification. I certainly can fulfill the interchange requirements with a very different API (which is one of the reasons why IETF has been sparse in its efforts to define APIs). 3.9 is *not* about validation, it mostly restates wellformedness requirements, with some application data model requirements thrown in. The API assumes schema-informed processing so int and float can be handed to the application in the form expected by it. This is certainly possible, but it reduces the usefulness of CBOR’s availability of schema-free processing. I think it would be good to separate the restatements, the actual normative encoding requirements, the application level data model profiling, and the statements about API characteristics. The net normative encoding content is small, but not negligible, so I do think this writeup is a useful profile for deterministic CBOR. It certainly is not the only one that can claim to be deterministic CBOR. Grüße, Carsten
- [Cbor] New IETF Internet-Draft draft-mcnally-dete… Christopher Allen
- Re: [Cbor] New IETF Internet-Draft draft-mcnally-… Carsten Bormann
- Re: [Cbor] New IETF Internet-Draft draft-mcnally-… Anders Rundgren