An open changelog format
Files and tables have open formats. The change feed that fills them does not.
The OpenCDC Working Group is drafting one: a vendor-neutral format for database change events, written in the open by people who build change data capture, databases and streaming platforms.
OpenCDC is the working name of the specification. It will likely change.
- Open changelog format change events in motion · any producer, any consumer
- Open table formats Iceberg · Delta Lake · Hudi: tables, transactions, evolution
- Open file formats Parquet · ORC · Avro: bytes at rest, readable by any engine
What the gap costs
Every producer has its own dialect, so every consumer keeps a translator for each.
Integration cost
One format handler per source tool, per sink. The count grows with every new pairing.
Fidelity risk
Each connector normalizes types into its own vocabulary, and the source declaration is lost on the way.
Semantic risk
Before image, delete, null and transaction boundary mean slightly different things in each format.
Today: N×M translations
With an open changelog format
No vendor competes on the shape of a change event. Everyone pays to translate it.
Why now
Four shifts are turning change data from plumbing into shared infrastructure.
Lakehouse ingestion
Change feeds are a key input to bronze tables.
AI agents
Agents react to committed state changes and need to read them without a per-system parser.
Mixed-vendor estates
Enterprises run several CDC tools and need them to exchange changes.
Native change streams
Databases emit change events directly, with no external tools required.
Each shift adds producer and consumer pairings. A common format turns that growth from cost into reach.
What the format covers
It standardizes the structure and semantics of the change event, and nothing else.
- Source databasetransaction logyours, unchanged
- Capturelog reader, CDC toolyours, unchanged
- Change eventstructure and semanticsstandardized
- Transportbroker, socket, storageyours, unchanged
- Consumerapply, merge, reactyours, unchanged
It is
- A vendor-neutral payload format for change event streams
- Built on the CloudEvents envelope
- Self-describing: schema travels in the stream
- Full type fidelity across database engines
- Defined for DML, DDL, transaction identity, schema evolution and stream lifecycle
It is not
- A capture technology or log reader
- A transport, broker or registry
- A serialization mandate
- A product, SDK or connector framework
- A rule for how consumers apply data
Separate binding documents will describe how change events travel over specific brokers and protocols.
The working group
Open membership, written proposals, and a record of why.
- 01Proposea GitHub issue with rationale, text change and alternatives
- 02Discussat least one week for comment
- 03Decideconsensus: no substantive unresolved objection
- 04Recordan architecture decision record, with the alternatives that were rejected
Who
Contributors from Confluent, IBM, Oracle and Red Hat, and one independent.
Participation
Individuals contribute. Employer endorsement is in process, and no vendor has committed to ship it.
Home
An independent working-group draft. The group is evaluating submission to a standards body.
Contribution terms
Moving toward the Linux Foundation's Community Specification License.
How the work is kept honest
- Every normative rule has an ID in a requirements register
- The normative summary and compliance matrix are generated from that register
- Every design decision has a written record with the alternatives that were rejected
- Reference examples are validated against published JSON Schemas
Where the draft stands
The core is drafted. Bindings, tests and implementations are still to come.
Drafted
- Core specification
- Type system
- Architecture decisions and glossary
- JSON Schemas and validated examples
In progress
- First transport bindings
- Type system revision
- Initial load and snapshots
- Licensing and standards-body path
Not yet available
- Conformance test suite
- Reference implementation
- Payload format bindings (Avro, Protocol Buffers)
- Any shipped vendor implementation
Current versions of every document are in the specification repository.
How to join
Start with a review. Everything else is optional.
Read
The Quick Start and the capability axes in the specification. Twenty minutes.
Review
Map what your product emits, or what your pipelines ingest, against the compliance matrix. File issues for what does not fit.
Participate
Name a representative. Taking part in issues and pull requests is membership.
Lead
Take a workstream, such as a binding or the test suite, or prototype an emitter or reader.
What we are not asking
No product commitment, no fee, no exclusivity.