What is the Open Data Contract Standard (ODCS)?
A plain-English introduction to ODCS — the open standard for data contracts — and the quality block at the center of it.
ODCS stands for the Open Data Contract Standard. It's an open specification, governed by the Linux Foundation, for writing down what a dataset promises — in a single YAML file that both producers and consumers agree on.
Think of it as a README for a table, but machine-readable and enforceable.
What's in an ODCS contract
A contract describes one or more datasets. For each one it can carry:
- Schema — the tables and columns, their types, which are required, and the keys.
- Quality — the checks the data must pass: not-null, unique, allowed values, row counts, freshness, custom SQL, and more.
- SLA — retention, refresh frequency, and latency.
- Team & ownership — who's responsible.
- Status & version — draft / active / deprecated, plus a semantic version.
The quality block
The part that matters most for trust is the quality block, which exists at both the table and column level. ODCS defines four kinds of check:
- library — predefined metrics like null counts, duplicates, and row count.
- sql — a query that returns a value compared against a threshold.
- custom — an engine-native check (Soda, Great Expectations, and others).
- text — a human-readable description.
This is the block DQHub specializes in. Our rules map onto all four types, and a single contract compiles out to Soda, dbt, Great Expectations, SQL, and Spark.
Why a standard helps
- Interoperability — one contract, many tools. No lock-in to a single vendor's format.
- Enforcement — the same file can gate a CI pipeline and run at runtime.
- Versioning — changes are explicit, and you can tell a safe change from a breaking one.
Try it
- Generate a contract from a CSV — no setup required.
- Export any pack as ODCS — and compile it to your engine.
- Read the launch perspective on why the quality half is the half that matters.