Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFC: ProtoCBOR specification #233

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

deeglaze
Copy link

@deeglaze deeglaze commented Mar 4, 2025

JSON is a web-interchange format that is widely used but has inefficient space usage properties. The CBOR format (RFC8949) is a newer web standard for exchanging JSON-like objects with better encoding overheads.

Whereas protocol buffers are still proprietary to Google, CBOR is an open standard. For platforms that provide multiple encodings of their messages through protoc for JSON and Protobuf, it is challenging to introduce a CBOR format without disruption unless CBOR is a supported target for the protocol buffer compiler.

If this proposal is approved to move forward, this will come with a prototype implementation for Golang to prove the concept and engage the protocol buffer community to discuss whether full support across target languages is something they're willing to accept maintenance for, at least temporarily as a beta experiment for early adopters to try.

The goal is to not merge this specification without first accepting the initial implementation. The initial implementation should not be merged until the flagship project that uses it (in-toto framework) demonstrates its correct behavior.

JSON is a web-interchange format that is widely used but has inefficient
space usage properties. The CBOR format (RFC8949) is a newer web
standard for exchanging JSON-like objects with better encoding
overheads.

Whereas protocol buffers are still proprietary to Google,
CBOR is an open standard. For platforms that provide multiple encodings
of their messages through protoc for JSON and Protobuf, it is
challenging to introduce a CBOR format without disruption unless CBOR is
a supported target for the protocol buffer compiler.

TODO: replace with link
This proposal will come with a prototype implementation for Golang to
prove the concept and engage the protocol buffer community to discuss
whether full support across target languages is something they're
willing to accept maintenance for, at least temporarily as a beta
experiment for early adopters to try.
The goal is to not merge this specification without first accepting the
initial implementation. The initial implementation should not be merged
until the flagship project that uses it (in-toto framework) demonstrates
its correct behavior.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant