FOSDEM 2024 impressions – Raphaël reports on Daniel Stenberg’s report on curl

FOSDEM 2024 impressions – Raphaël reports on Daniel Stenberg’s report on curl

Raphaël Melotte
22/02/2024

In addition to meeting wonderful people, this year at Fosdem I again had the chance to attend a number of interesting talks.

I chose to write about one in particular that I liked.

You too could have made curl – by Daniel Stenberg, founder and main developer of curl.

curl on 2 planetsDo you think you either need to be a genius or have a brilliant idea that no one ever had before in order to start a successful open source project? Think again!
In this talk Daniel outlined how the development of curl started, the command line utility used all over the solar system (yes, curl landed on Mars!), what he did (and still does) in order to maintain it successfully all those years, along with a few interesting stories along the way.

Among all the pieces of advice that Daniel gave, the one he insisted the most on is to have fun.
No matter what the project is about or how useful it is to other people, no project will survive the test of time if working on it is painful.

To help with that, he also gives a couple of recommendations about helping yourself that (even though they may seem obvious) are often ignored or at least overlooked:

  • Write readable code.
  • Write documentation.
  • Write tests.
  • Use code analyzers.
  • Use fuzzing.
  • If needed, offer bug-bounties to fix bugs (e.g. security problems).

Daniel also points out that over time, the challenges with an open source project are increasingly related to people (communicating and understanding each other can be difficult, just like in other parts of our lives) and less related to code (over time the maintenance consists of less coding).

Maintaining a project almost alone can also feel depressing or boring at times. Daniel’s suggestion when you feel bored is to take a break: spend some time on something else, come back to it later.
People give negative feedback most of the time. When things are good, you most of the time don’t hear about it. Contributors rarely stick around. To take curl as an example, over 65% of all the contributors made one contribution and never again. That’s fine, you just have to realize it and accept it.

Finally, during the talk, Daniel also gave a few keys to success:

  • Make sure to use the time slots you get (you have 20 minutes here and 20 minutes there? Use them! That’s 40 minutes combined). If you have to wait until you have 2 hours straight available, you’re rarely going to work on the project.
  • What’s not done today can be continued tomorrow.
  • Release early, release often. Most people won’t be testing your new development branch, so releasing often gives you a chance to get feedback on new features early on.
  • Be persistent. Things will not always work at the first attempt and mistakes are going to happen, the key is to learn from it and keep on trying.
  • Have fun!

curlIf you too are interested in knowing more about how to run a successful open source project, the curl project, and read some interesting trivia about it, Daniel wrote an entire book about it that is available for free.

Presentations

Drop the docs and embrace the model with Gaphor Fosdem '24 - Frank Van Bever 20 March, 2024 Read more
How to update your Yocto layer for embedded systems? ER '23 -Charles-Antoine Couret 28 September, 2023 Read more
Tracking vulnerabilities with Buildroot & Yocto EOSS23 conference - Arnout Vandecapelle 12 July, 2023 Read more
Lua for the lazy C developer Fosdem '23 - Frank Van Bever 5 February, 2023 Read more
Exploring a Swedish smart home hub Fosdem '23 - Hannah Kiekens 4 February, 2023 Read more
prplMesh An Open-source Implementation of the Wi-Fi Alliance® Multi-AP (Arnout Vandecappelle) 25 October, 2018 Read more

 

News