Way back in 2006, after reading on ruby-talk about people’s problems using libcurl with Ruby, I put together a basic C extension to replace the (by-then-unmaintained) bindings that already existed. Little did I know then that it would end up being some of the most popular open-source code I’ve written.
In time, pressures of family, work, and life in general meant I didn’t have a lot of time to devote to my open-source works, and so Todd Fisher took over as maintainer of the project, and did some awesome work improving it, building the multi interface code, and generally making Curb more and more useful. The project is still going strong over ten years later.
I came back to Curb via some work I was doing on a Windows-based system, and after a few hiccups building the library I found myself patching things up a bit to make them work on Windows (which isn’t officially a supported platform for Curb), and a couple of pull requests later Todd got in touch and asked if I’d like to be added to the project on Github. I thought this over for, oh, about ten seconds, and then said yes. I have more time these days for Open Source work, and I don’t have anything currently on the front-burner, so I’m now back on Curb. Todd’s still the boss (after all, he has more code in there than I do!) but I’ll be happily working away, fixing bugs where I can, and trying to make life easier for people out there wanting to use Curb on Windows.
Here’s the original announcement of Curb, from November of 2006.
From: Ross Bamford
Date: November 17, 2006 1:25:05 PM CST
To: ruby-talk_at_ruby-lang.org (ruby-talk ML)
Subject: [ANN] Curb 0.0.1 – New ruby libcurl bindings
Curb 0.0.1 is now available from
provides nice, easy to use bindings to the libcurl URL transfer
This is the first release, and Curb is still a work-in-progress.
Currently, it supports the curl_easy interface, and can handle the
most common usages for libcurl.
The project is now seeking user feedback, testers on various
platforms, and requests for the features you need the most.