Meetecho: https://meetings.conf.meetecho.com/interim/?session=35048
PH doing introductions.
PH: I asked not to make comments on the GitHub (e.g., on PRs). I got
pushback but confirm my request. These comments should be on the mailing
list as more helpful to build consensus in an inclusive way (and also
thinking about the later WG Last Call).
LL: Fine to me to use GitHub comments for fixing typos and so on. But I
also prefer the mailing list for discussing actual content.
-- Updates on issues and PRs for serialization draft
-- Discuss what the serialization draft recommends for libraries,
designers and implementers
LL presenting
LL: Still 16 open issues, some with related open PRs.
LL: I think we have consensus on what to do with big numbers (SHOULDs
and appendices).
CB (on chat): +1 -- that agreement looks great
CB: It's hard to handle a document with 16 PRs open at the same time.
I'd prefer to have a new version of the draft published soon.
PH (on chat): +1 to Carsten about getting a new draft soon.
RM (on chat): there are only 5 PRs, not 16. but no objection to a new
version
CB: Right, still good to have a new version.
PH: In a new version, it's ok to have some text marked as not yet having
consensus about it.
CB (on chat): +1
LL (p6-7): Section 2 aims to give recommendations on
ordinary/deterministic serialization, thinking of different participants
in the CBOR ecosystem (libraries, protocol designs, protocol
implementations). There are different options about what to recommend,
each with pros and cons.
PH: I think that right now we don't have consensus on the suggested
recommendation for CBOR libraries (first bullet on p6). What is a "CBOR
library"? The other recommendations seem just fine although one might
still disagree on the specific recommendation given.
LL: We need more comments from more people.
MG (on chat): "MUST support ordinary" would practically restrict CBOR
encoding choices retroactively, i.e. remove options available in RF8949,
right?
CB (on chat): Mikolai: Where that would be the outcome, we cannot do
that for other peoples' protocols
LL (on chat): That would be my reading. That's why I like the SHOULD
CB: What do the terms "support" and "use" mean? We need definitions for
those. More in separate slides archived at
https://tzi.de/~cabo/cbor-2026-01-21-serialization.pdf
CB: The separation in the three categories of participants is good, but
it might not cover everything.
PH: Whatever wording we use, let's be consistent.
CB (on chat): We are using the terinology of RFC 8949 unless that is bad
LL (on chat): Yes, 8949 -- encoding/decoding
PH (on chat): Fair point
RM: SHOULD comes with the need to motivate when it might not be met and
what happens then. Recommendations are meant to build on what we know
has been working well.
LL: Many implementations are incomplete (e.g., COSE).
CB: We need to use keywords from RFC 2119 as they are meant to, in the
interest to ensure interoperability. We may also want to give
recommendations that have a different scope and are about what's good to
do to get advantages.
LL (on chat): Yes, agree that we can considered other than SHOULD in
this case.
PH (on chat): +1 to us saying "good for you" vs. "good for interop"
JH: I think it's good to give advice to libraries about what to check.
CB (on chat): Giving advice is fine!
MG (on chat): can you reiterate why you treat protocol implementations
separate from protocol specifications (designs)? if protocols use
ordinary seralization, implementations must do so, too?
LL: Protocol libraries are often incomplete.
CB (on chat): (Doing good work with Partial implementations is an
important concept)
LL: I think that CWTs and COSE are more toolboxes than protocols. They
are eligible for incomplete implementations.
CB (on chat): CBOR definitely embraces the toolbox concept
CB (on chat): Protocol implementations need protocol speciications.
These do not all come from just the framework/toolbox specification.
MT (on chat): On "Protocol implementations need protocol speciications.
These do not all come from just the framework/toolbox specification.":
confirmed, thinking of EDHOC
PH: We need comments to build consensus on the document, make it
proceed, and have a WG Last Call. If we don't get to that point, the
document is at risk and the WG is at risk (relaying from our responsible
AD). We need more activity on the mailing list, or the WG risks to be
shut down as unable to have a productive discussion on an important
topic. Regardless, we still need a new version of this document.
LL: On what to say in the recommendations, SHOULD or MUST?
CB (on chat): SHOULD is not useful.
PH (on chat): SHOULD is useful if we say why it is not MUST
CB (on chat): DLO is generally good for constrained environment.
CB (on chat): It only works with MUST, though.
JH: I think that document coming after this one should say something
about serialization. I agree with CB that, when doing that, those
documents ought to use only MUST or MUST NOT.
CB: This is not about inventing new serializations. It's only about
constraining what can be done in the boundaries of CBOR.
LL: What about COSE then?
CB: COSE is a toolbox (with labels, names, ...).
LL: So the toolboxes using CBOR don't guarantee interoperability.
JH: So a new document that does not call out any constraint, it
implicitly refers to well-formed CBOR only.
CB: Correct.
JH: If it says something, then here we recommend what it should say and
how.
CB (on chat): +1
CB (on chat): (MUST implement within the data model confines, which is
orthogonal to serialization)
PH: I like what JH just said, related to the second bullet of p6.
RM (on chat): +1 to what Joe just said
JH (on chat): No. MUST implement everything, because otherwise you can't
check the data model correctness.
CB (on chat): OK, interesting: erroring out on a floating point value if
the data model doesn't have them is a valid implementation strategy
MG (on chat): +1 to say "SHOULD say something", instead of imposing
ordinary
LL: FIDO seems to me something that requires end-to-end
interoperability. But CWTs and COSE are toolboxes; if they say nothing,
it feels like one is supposed to imlement them fully but nobody does.
JH: Good toolboxes don't have to say something about it, but they
should.
CB (on chat): Ordinary (if that is DLO+PS) is not a good MUST enforce in
the decoder.
VG (on chat): +1, not MUST
CB: Another example is -core-href (soon RFC), which does say something
about serialization, when considered in isolation or when used within a
protocol (which then has to say something).
PH: LL, is there anything here for you to modify the PRs? Anything that
can be moved towards consensus?
LL: I think so, this is helpful.
PH: Good. Honestly I don't like these interims and prefer the mailing
list. But this seems useful. LL, could you produce a new version of the
draft by Friday or Monday?
LL: Maybe Monday.
PH: Because then we can keep the discussion going. There is momentum and
ongoing consensus building; I'd like to keep it going.
MG (on chat): re Joe, Carsten above: MUST not implement fully but,
"everything that the data model allows"
IMD (on chat): LL's example of COSE (no one implements it all, it's not
a protocol like TLS) is a relevant example - since CBOR is never a
protcol itself.
LL (on chat): Yes, COSE is different than TLS. TLS and FIDO are similar
in this way.
CB (on chat): TLS is a protocol in the sense of sending back and forth
messages; CBOR is a data representation format -- that is bound to be
different
PH: Keep providing comment on the mailing list, well before a new
version of the draft is published. I'd like the mailing list to focus on
this topic and not other ones. We need to show that we are able to come
to consensus about this. Again, I was skeptical that this meeting was
going to be useful, but I'm happy to be wrong.
Note taking: Marco Tiloca