OpenCDC Working Group

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.

Operational databases
changes
  1. Open changelog format change events in motion · any producer, any consumer
  2. Open table formats Iceberg · Delta Lake · Hudi: tables, transactions, evolution
  3. 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

Tool ATool BTool C LakehouseAnalyticsReplica DB
9 bespoke adapters, fidelity lost at each seam

With an open changelog format

Tool ATool BTool C LakehouseAnalyticsReplica DB one wire
Any conformant producer feeds any conformant consumer

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.

  1. Source databasetransaction logyours, unchanged
  2. Capturelog reader, CDC toolyours, unchanged
  3. Change eventstructure and semanticsstandardized
  4. Transportbroker, socket, storageyours, unchanged
  5. 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.

  1. 01Proposea GitHub issue with rationale, text change and alternatives
  2. 02Discussat least one week for comment
  3. 03Decideconsensus: no substantive unresolved objection
  4. 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.

  1. Read

    The Quick Start and the capability axes in the specification. Twenty minutes.

  2. Review

    Map what your product emits, or what your pipelines ingest, against the compliance matrix. File issues for what does not fit.

  3. Participate

    Name a representative. Taking part in issues and pull requests is membership.

  4. 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.