Markdown Version | Session Recording
Session Date/Time: 11 Jun 2025 14:00
CBOR
Summary
The CBOR Working Group discussed proposals related to "packed CBOR" and the use of simple values, focusing on a mailing list draft titled "16 simple values." The primary technical debate revolved around generalizing the semantics of simple values to accommodate diverse future specifications while maintaining composability within the CBOR ecosystem. A secondary item on string compression was briefly mentioned, and the status of the CDE draft was noted for future discussion.
Key Discussion Points
-
"16 Simple Values" Proposal (Email Draft)
- Status: The proposal, currently an email draft by Christian, has not yet been submitted to the data tracker. It was initially circulated on the mailing list for comments. Christian clarified that while some text originated from Carsten, it is his proposal, and Carsten is not a co-author.
- Core Technical Difference from CBOR Packed: The email draft aims to provide a very general, "non-committal" definition for simple values (proposing 16 compared to CBOR Packed's 12 currently), allowing future specifications to define their complex semantics for reference items. This contrasts with CBOR Packed's current approach, which gives shared item references a specific, narrow meaning (simple replacement).
- Carsten's Perspective on Interoperability: Carsten expressed concerns about potential fragmentation of the CBOR ecosystem if simple values are not well-defined or coordinated. He emphasized the importance of composability, where different mechanisms can work together without ambiguity, and suggested that CBOR Packed's table model serves as a coordination point. He noted that IETF's approach to extension points is to localize damage and ensure robustness.
- Christian's Rationale: Christian argued for a more abstract and generic definition of simple values to avoid restricting future specifications that might not be based on CBOR Packed's principles (e.g., without self-tables or argument tables). He proposed that different meanings could be differentiated by using CBOR tags or media types. He also suggested this approach would allow for faster progress on the
aparameter for simple values. - Discussion on Generalization vs. Specificity: The group debated whether to define a broad, abstract meaning for simple values (as in Christian's proposal) or to integrate broader functionality into CBOR Packed through specific extension points (as suggested by Carsten). Carsten offered "unquote splicing" as an example of a more complex semantic that could potentially be accommodated within CBOR Packed's shared item mechanism via table setup, albeit with added complexity.
- Extensibility Principles: K reiterated the IETF's approach to designing "bazaar style" extension points that are robust and do not require extension authors to understand all underlying protocol principles, contrasting this with "cathedral style" development.
-
String Compression (Referencing RFC 7400)
- Carsten briefly introduced string compression, citing RFC 7400 (for 6LoWPAN) and current work on DNS CBOR compressing IPv6 addresses with zero bytes. This was presented as an example of orthogonal mechanisms that can be added to application protocols without conflicting with shared/argument items in CBOR Packed.
-
CDE Draft (Lawrence)
- The CDE draft was on the agenda, but Lawrence was not present. The Chair noted that the call for adoption ended in March and committed to reviewing the timelines.
Decisions and Action Items
- Action Item: Carsten will prepare a pull request (PR) to the CBOR Packed draft. This PR will explore generalizing the semantics of simple items within the CBOR Packed framework, potentially incorporating complex semantics like "unquote splicing" into the shared item mechanism via table setup. The goal is to demonstrate how use cases like Christian's could be accommodated while maintaining composability and well-defined behavior.
- Action Item: All are encouraged to discuss the proposed PR text on the mailing list once it is available, prior to the next interim meeting.
- Action Item: Chair (Christian) will investigate the current timelines and status of the CDE draft.
Next Steps
- The working group will continue the technical discussion on the generalization of simple item semantics based on Carsten's pull request on the mailing list.
- The next interim meeting will likely revisit both the generalized simple item discussion and the status of the CDE draft.