Lake View at Engelsberg, Västmanland. Foto: Cecilia Heisser / Nationalmuseum 2023
Lake View at Engelsberg, Västmanland. Foto: Cecilia Heisser / Nationalmuseum 2023

Curl is one of my favorite open source projects. We marked its 25th anniversary in the news segment of ASW episode 233.

I’ve used Curl as a command-line tool, a library, and as a positive example of how to maintain a community. Daniel Stenberg has a done a wonderful job of maintaining the project and fostering a positive atmosphere around it. His blog provides lots of insights into the development process and how software engineers make informed decisions.

Curl has wonderful documentation – a necessity for a tool with almost 250 command-line options. I also appreciate that it documents its own history. Its development has been consistent over the decades, with an ever-improving list of features and performance.

Its development has reflected major milestones in the web ecosystem, such as supporting HTTP/2 in 2014, becoming part of the OSS-fuzz effort to secure critical software in 2017, and supporting HTTP/3 in 2019.

Curl is also an example of why C code will be around for quite a long time – many other languages rely on the library and can easily integrated with its C-based API. Curl is also an example of how C can be written securely. Two major security challenges of working with C are safely handling memory and concurrency. The code has had a few stumbles in both, but nothing to the degree that should cause anyone to lose confidence in its underlying design.

Here’s to several more decades of developer-friendly code and user-friendly tools.