Software Engineering Radio - the podcast for professional software developers

SE Radio 688: Daniel Stenberg on Removing Rust from Curl

Oct 1, 2025
Daniel Stenberg, a Swedish Internet protocol expert and founder of the curl project, dives into the challenges of integrating Rust into curl, specifically discussing the removal of the Hyper backend. He shares insights on why the last stages of the integration proved to be the toughest, the critical importance of user support, and the lessons learned over five years. Stenberg highlights the positive impacts despite the removal, emphasizing cleaner HTTP handling and valuable architectural insights gained from the attempt.
Ask episode
AI Snips
Chapters
Transcript
Episode notes
INSIGHT

Curl's Scale And Stability Constraints

  • curl is a command-line tool plus a widely embedded library (libcurl) used for many internet transfers across billions of devices.
  • API/ABI stability, security, and portability are the project's primary design constraints.
ANECDOTE

Multiple Curl Copies Ship On Phones

  • Daniel described many mobile OSes and apps bundle their own copies of libcurl, meaning a single phone can contain multiple curl installations.
  • He also explained he is the only full-time maintainer and most large users don't directly sponsor his work.
INSIGHT

Incremental Memory Safety Via Backends

  • Curl's strategy was to introduce memory-safe code incrementally via optional backends written in Rust rather than a full rewrite.
  • ISRG sponsored adding a Hyper-based HTTP backend to gain safer components without dropping the native C implementation.
Get the Snipd Podcast app to discover more snips from this episode
Get the app