‘You too Could Have Made Curl’: Daniel Stenberg at FOSDEM

“There’s no genius or magic trick behind successful open source,” Daniel Stenberg, the creator/maintainer of the ubiquitous data-transfer utility curl told his FOSDEM 2024 audience. “You can do it.”
Even though curl, a simple command utility for downloading files from the Internet, is in roughly 20 billion installations, Stenberg remembered how his own journey started with just 160 lines of code — “a few screenfulls” — back in 1996. “You start playing with it… You start fiddling with it… Start small. Do whatever you want to do. Give it a lot of time and have fun.”
“Right? That’s how you start an open source project. You have an itch, you start scratching. As long as it’s fun, why not work on it?”
So what has he learned in the 28 years since? In sharing his experiences, Stenberg’s talk became a kind of testimonial to the power of open source for sustaining a development project.
And along the way, Stenberg also acknowledged all the people who inspired him early on, curl’s own vast community of users — and the dedicated team of contributors that are still supporting curl today.
Open Source Is Awesome
After his first two years of development on curl, Stenberg remembered, he’d attained a whopping 300 downloads — and had decided to start a mailing list. At that rate, Stenberg joked, “In 20 years, we could have 3,000!”
In a free online ebook, Stenberg remembered that curl, in the beginning, was “a toy project”. But he drew inspiration from the developer community. “I admired and thought Open Source authors were cool and I wanted to be part of that group as well.” So Stenberg began open sourcing his code — even before the term “Open Source” was officially adopted.
But he tells his FOSDEM audience it’s much easier today. “Back in 1998 or 1996, no one knew about open source, in general. It was just a niche clique of weirdos.” One 1998 estimate had the total population of the internet at around 40 million people. “That’s basically the amount of open source developers today.”
And in addition, as Stenberg said in his book, “There is better and more free and no-cost infrastructure available than ever before.” He told his audience ” I think it’s going to be much easier and better going forward as well, because all of this is just going to improve… It’s way, way easier to do open source today, too, thanks to infrastructure, tooling, funding, whatever. I think we’re in for a bright future.”
This led to another tip for his audience: “Make it easy for others to help.” (One slide made the point succinctly. “Reduce contributor friction. Have fun.”) Stenberg shared a telling statistic: that curl has had 1,240 contributors — but “Over 65% of them did it once, and never again.”
Yet the opposite can happen too, when a new and knowledgeable contributor arrives with an amazing patch “showing that they understand everything… Someone just shows up on your doorstep one day, and has a perfect understanding of your architecture… and code style and everything.”
The moral of the story? “Open source is open and ready for surprises in every direction.
“And that’s part of the fun, right?”
Bugs from 20 Billion Installations
Stenberg estimates curl is used in roughly 20 billion installations — but there’s also a downside. “If your code is running in a lot of places, can you really ever be sure, when you release a version, that it’s not going to sort of bring down half the internet?”
His next slide shows the only possible response. “Own your mistakes. Learn, adapt, add more tests.”
“Everyone makes mistakes,” Stenberg said. “It’s really a matter of how you handle the mistakes. It’s not the amount of mistakes or how critical they are, but how you take care of them, how you take care of the people that actually made the mistakes.”
The next slide acknowledged that “Realizing your mistakes can be soul-crushing.” But then Stenberg added the words “Learn from them…”
“In our case,” Stenberg said, “and in pretty much everyone’s case — we just have to do what we can do.” And the next slide provides some examples of everything that entails. “Readable code. Documentation. Tests. Code analyzers. Fuzzing. Bug-bounty.”
“And keep having fun,” Stenberg adds. “Because if it’s not fun, you’re not going to spend all that time on it. And no one else is going to do it either.”
More Difficult Than Code
One slide presented what’s perhaps the trickiest problem of all. “People are more difficult than code.”
Stenberg spoke from decades of experience. “What you face on a day-to-day basis is the problems with communicating and talking to people from different areas of life, cultures, languages and everything.” And Stenberg’s book warns that only “a small fraction” of feedback is ever positive. But “you will hear a lot about bugs and flaws — both the real kind as well as the ones people think exist because they misunderstood something… When it works, people are silent. When something fails, the crowds roar.”
In his talk, Stenberg adds that when a bug looks stupid, people will also marvel that it managed to go unfixed for so long…
People ask him what’s the difference now with a larger codebase — and Stenberg says truthfully, “There’s really no difference. Because in the development community, people raise their bugs, they complain, they have problems… It doesn’t really look different today.”
This guy. He exists in every open source project. He knows things. He’s an expert. He can judge. He can point out our flaws. Yet for some reason, he has never contributed code. https://t.co/FkgrnpUKF3
— daniel:// stenberg:// (@bagder) February 22, 2024
Misdirected Emails
There’s a related problem. In Stenberg’s book, he writes of users who “do not get help and adequate support from the original vendor,” leaving them reduced to “begging for help. The questions are often a result of utter desperation,” from a struggling end user who’s “tried everything else, turned every stone… I am now perhaps the last chance to get their issue handled.”
There’s a positive side. “This gives me an excellent opportunity to learn about people’s agonies in life.” One misdirected user contacted him for help learning how to use their GPS system — and also, how to change the GPS system’s language to Hebrew. “I get a lot of car questions,” Stenberg said in his talk — and there are seven different examples in his book.
“This is the best way I have to actually learn about where people are using curl… Often I don’t even understand the question, and I have to Google it!”
There’s also five questions about videogames — including the user asking for help because their Battlegrounds Mobile India account “has been recently banned for no reason…”)
He has some sympathy, imagining a user so desperate he’s “scrolling through that open source license screen in his car…” But lowering his voice, Stenberg confided to his audience that “I’ve sort of stopped replying to them…” In his book Stenberg adds that “it backfired so many times I have realized it often just makes the user more upset than before.” They’re still convinced that he works for the company, and is shirking his responsibility to help.
One user even sent him a warning that “you likely don’t want to have a trail of evidence that you are a part of an Instagram and Spotify hacking group.”
And sometimes the emails are even angrier. (“Your bullshit software was an attack vector that cost me a multimillion-dollar project…”)
But more importantly, that story also came to a resolution. “Many months later, the person emailed me again and apologized.”
So despite all the hazards, Stenberg will still take the time to write out a response in sensitive situations, “like if the user seems to be the victim of a scam or is in a truly vulnerable situation.”
The Power of People
Last month Stenberg noted that he’d personally made a total of 18,001 commits (with the last 1,000 taking just 422 days). But an early-February blog post also stressed that curl “is not a solo mission. We have surpassed 1,200 commit authors in total and we average in 25 commit authors every month, with about 10 new committers arriving every month. My share of all commits has been continuously shrinking for many years.”
And one of Stenberg’s last slides made the point that all this started from something simple.
“What I’m trying to say is I’m not special,” he told his audience. “I didn’t do anything genius. I’ve just been working on this for a long time. I just had an idea. I think it’s fun. So this is what I do.”
His advice for others? “Keep polishing. If you spend a lot of time with something, it can actually become pretty good…
“It’s that easy. I think you can do it too.”
You can enjoy the entire presentation below. You can can view other FOSDEM 2024 talks, including this one, here.