Developer Voices
Avsnitt

DuckDB And The Burden of Success (with Hannes Mühleisen)

Dela

Building something people actually want is supposed to be the happy ending. But it arrives with a bill attached: feature requests you didn't ask for, pull requests you'd rather not maintain forever, users demanding the one thing you swore you'd never build, and — if you're unlucky — a company where the sales team quietly starts deciding what engineering works on. DuckDB has spent the last two and a half years working through that list. So how do you stay a database engineering team when success keeps trying to turn you into something else?

Hannes Mühleisen, co-creator of DuckDB, is back to talk through the answers they've landed on. Their fix for unwanted pull requests was an extension mechanism, which then forced them to make every part of the engine pluggable — including the parser, which meant ripping out 20,000 lines of Postgres' yacc grammar and rewriting SQL parsing on top of PEG. Their fix for the users demanding client-server was Quack, a protocol designed by people who'd already published a paper on why every existing database wire protocol is wrong. And their answer to Apache Iceberg, after three years of implementing it, was DuckLake: throw out the Avro-and-JSON metadata files and keep the metadata in a database, on the grounds that the Iceberg REST catalog has a Postgres in it anyway.

Which brings us to the news Hannes breaks in this episode: DuckDB Labs is being acquired by AWS, while the DuckDB Foundation, the project and its licence stay where they are. There's the question of why a profitable, self-funded, 30-person company in Amsterdam would take that deal, what commitments you write into the contracts when you're worried today's promises might outlive today's management, and what it's actually like to have a boss again after five years without one. If you're curious how an open source project keeps its technical soul once the enterprise arrives — or you just want to know why parsing SQL is harder than parsing almost anything else — Hannes has some good answers.

---

Support Developer Voices on Patreon: https://patreon.com/DeveloperVoices

Support Developer Voices on YouTube: https://www.youtube.com/@DeveloperVoices/join

Our previous episode with Hannes: https://youtu.be/pZV9FvdKmLc

DuckDB: https://duckdb.org/

DuckDB Foundation: https://duckdb.foundation/

DuckLabs (formerly DuckDB Labs): https://ducklabs.com/

DuckLake: https://ducklake.select/

Quack (DuckDB's client-server protocol): https://duckdb.org/quack/

DuckDB v2.0: Your Database Deserves a Better Parser: https://duckdb.org/2026/08/20/duckdb-20-peg-parser

Runtime-Extensible Parsers (CIDR 2025 paper): https://duckdb.org/pdf/CIDR2025-muehleisen-raasveldt-extensible-parsers.pdf

Don't Hold My Data Hostage (VLDB 2017 paper): https://www.vldb.org/pvldb/vol10/p1022-muehleisen.pdf

cpp-peglib: https://github.com/yhirose/cpp-peglib

GNU Bison: https://www.gnu.org/software/bison/

PEP 617 – New PEG parser for CPython: https://peps.python.org/pep-0617/

PRQL: https://prql-lang.org/

Apache Iceberg: https://iceberg.apache.org/

CWI (Centrum Wiskunde & Informatica): https://www.cwi.nl/en/

DuckCon #7, Amsterdam: https://duckdb.org/events/2026/06/24/duckcon7/

Kris on Bluesky: https://bsky.app/profile/krisajenkins.bsky.social

Kris on Mastodon: http://mastodon.social/@krisajenkins

Kris on LinkedIn: https://www.linkedin.com/in/krisjenkins/

Podden och tillhörande omslagsbild på den här sidan tillhör Kris Jenkins. Innehållet i podden är skapat av Kris Jenkins och inte av, eller tillsammans med, Poddtoppen.