Funding AI advancements in the open, and opening applications for second Accelerator cohort.
Maintainer spotlight: Daniel Stenberg
We’re sharing interviews from several open source contributors about their projects, challenges, and what a GitHub sponsorship means to them. This week, hear from Daniel Stenberg.
With the launch of GitHub Sponsors, open source maintainers and developers can apply to receive funding from the community that depends on their work. Through sponsorship, open source maintainers have the freedom, financial security, and autonomy to continue the work they’re passionate about to further build and strengthen the open source community.
Over the next few weeks, we’re sharing the stories of several open source contributors. Learn about their projects, challenges, and what sponsorship means to them.
Daniel has been an open source developer for over 25 years. He’s the founder and lead developer on cURL, one of the most widely used open source components in the world. He currently lives in Sweden with his wife and two kids. When he’s not writing code, Daniel likes to hang out with his family or play floorball.
I maintain several projects, but there’s one I’m well-known for in particular. I founded cURL, a command line tool and library for internet protocol-based data transfers specified with a URL. cURL also has a handful of other trusted maintainers, and we fully conform to the Core Infrastructure Initiative’s open source best practices. I’m proud to say that cURL is one of the most widely used software components in the world with an estimated six billion installs. It’s currently shipped by default in Windows 10 and macOS, and it’s available as a package in popular Linux and BSD distributions. Highly portable, you can build and run it on virtually any operating system. You’ll find it used in mobile phones, TVs, cars, printers, servers, kitchen appliances, and more.
Born in 1998, cURL is an old project and has been my primary spare time project and hobby since then. We’ve had more than 650 contributors and we’ve thanked over 1,900 people for their help. After all this time, the development, speed, and activity of the project are still high. Features are constantly added and bugs are fixed as we keep up with internet trends, browser updates, and new technologies—it never ends.
I became involved to satisfy my desire to build and code. In 1996, I worked on an open source IRC bot and I wanted to offer a service to exchange currencies. This meant that I had to download currency rates almost daily—luckily I found a site that hosted rates. Using this information, I wanted to create a simple tool to download an HTTP name was changed to httpget. I quickly became a maintainer and when I added support for Gopher, the name changed to urlget. This was a descriptive name until I added support for FTP, at which point I had to rename it again. It transfers based on a URL, it’s a client, and it allows you to view the contents of a URL—that’s when cURL was born. cURL 4.0 was released on March 20, 1998 with around 2,000 lines of code. It took off and we’re currently at 160,000 lines and growing.
The biggest challenge open source faces is maintenance. When different interests pull in different directions, the maintainers need to continue following their roadmap. Companies can often be persuaded to pay for new features and extend open source projects, but it’s not as easy to pay and take the time for project maintenance and fixing bugs. Often we see paid developers working on incorporating a highly visible feature while the long-term work—that requires patience, time, and deep technical and architectural understanding—is taken on by unpaid volunteers in the project. These patterns can end up bad for projects in the long run, since it doesn’t allow the project to be sustainable, let alone successful.
Making an open source project is easier than ever. The infrastructure to get a project out to the community is smoother, and making it searchable as well as notifying users has improved tremendously over the years. The sheer amount of projects is exploding, and the total amount of code in the world grows at an amazing speed, both with proprietary and open source. Every project today competes with millions of others for attention from contributors and developers—and users.
Why would someone contribute to your project? And how would you get food on the table while spending time to maintain the projects you think are valuable? The match between what companies think are the right priorities to work on against what an individual wants to work on is a constant struggle and challenge for open source developers. Our biggest hurdle to overcome is convincing companies about our recommendations and views, along with gaining an understanding of the commercial aspects and needs of our projects.
This project defines me and my career to a high degree. I’m known for cURL. My career and professional life are focused and revolves around this project. I’ve spent more than 15,000 hours in my spare time working on this project. I now work full-time with cURL support.
cURL is my life. I joined the Internet Engineering Task Force (IETF), and I’ve worked with protocol development and standardization there for over 10 years thanks to cURL. And I get to make contributions to help improve HTTP and the internet as a whole.
We’re a small project, team-wise. We always lack developers to help out in various aspects of the project where our regular maintainers aren’t experts. We’re also an internet transfer project, so we must keep up with how internet transfers are done by browsers, what other major companies are doing, and what users want.
We need people involved in the project with an understanding of our history, our current roadmap, and what’s coming in the horizon. Companies and individuals will always contribute new features when they feel a need, but we need people to maintain and polish these additions. We also need contributors to be empowered to say no when necessary, and help newcomers feel a sense of community. cURL is a foundational component of a vast number of internet-related software and devices—we don’t want it to break!
I signed up because I want to encourage all efforts that make it easier for open source developers and maintainers to get sponsored for their work—and I think Github Sponsors could work. I signed up to be part of the beta and provided my feedback for (and on behalf of) our community. An awesome sponsorship system could be really good for a lot of people and for open source, and I’m happy to be part of any efforts to make this happen.
Sponsoring me helps cURL maintenance. It ensures that the cURL project can keep its trajectory forward and remain independent from larger players. It will ensure continued debugging, packaging, user support, release management, and everything that no one is usually paying anyone to do.
Anyone thinking of sponsoring me can learn about who I am, what I’ve accomplished, and my history with the cURL project for the past 21 years. I do open source and internet protocols and standards—and I don’t intend to stop, ever. Sponsors will help me stay true to this.
Want to learn more about featured maintainers? Read about:
Check back soon—we’ll be adding new interviews every week. Contact us If you have ideas about how GitHub Sponsors can better serve the open source community.