Software Engineering Radio - the podcast for professional software developers

SE Radio 688: Daniel Stenberg on Removing Rust from Curl

Oct 1, 2025
Daniel Stenberg, Swedish internet protocol expert and founder of curl, describes the five-year attempt to add and then remove Rust-based Hyper from curl. He recounts why Hyper was chosen, the FFI and async integration hurdles, testing and adoption shortfalls, and the lasting codebase improvements and lessons learned from the experiment.
Ask episode
AI Snips
Chapters
Transcript
Episode notes
ANECDOTE

Curl Runs In Billions Of Devices

  • libcurl is embedded in billions of devices, often multiple times per device because apps bundle it.
  • Daniel Stenberg maintains curl largely alone as the only full-time team member.
INSIGHT

Incremental Rust Replacement Works

  • Replacing C components with Rust backends can incrementally increase memory safety without a full rewrite.
  • Component-by-component replacement proved viable but exposes tricky integration edges.
ADVICE

Expose Rust With A C Glue Library

  • Detect and expose a Rust-powered backend to C via a thin C-compatible glue library and configure-time checks.
  • Make configure detect the installed C-facing Rust library and set defines so C code can #ifdef the backend.
Get the Snipd Podcast app to discover more snips from this episode
Get the app