curl, 17 years old today

Today we celebrate the fact that it is exactly 17 years since the first public release of curl. I have always been the lead developer and maintainer of the project.

Birthdaycake

When I released that first version in the spring of 1998, we had only a handful of users and a handful of contributors. curl was just a little tool and we were still a few years out before libcurl would become a thing of its own.

The tool we had been working on for a while was still called urlget in the beginning of 1998 but as we just recently added FTP upload capabilities that name turned wrong and I decided cURL would be more suitable. I picked ‘cURL’ because the word contains URL and already then the tool worked primarily with URLs, and I thought that it was fun to partly make it a real English word “curl” but also that you could pronounce it “see URL” as the tool would display the contents of a URL.

Much later, someone (I forget who) came up with the “backronym” Curl URL Request Library which of course is totally awesome.

17 years are 6209 days. During this time we’ve done more than 150 public releases containing more than 2600 bug fixes!

We started out GPL licensed, switched to MPL and then landed in MIT. We started out using RCS for version control, switched to CVS and then git. But it has stayed written in good old C the entire time.

The term “Open Source” was coined 1998 when the Open Source Initiative was started just the month before curl was born, which was superseded with just a few days by the announcement from Netscape that they would free their browser code and make an open browser.

We’ve hosted parts of our project on servers run by the various companies I’ve worked for and we’ve been on and off various free services. Things come and go. Virtually nothing stays the same so we better just move with the rest of the world. These days we’re on github a lot. Who knows how long that will last…

We have grown to support a ridiculous amount of protocols and curl can be built to run on virtually every modern operating system and CPU architecture.

The list of helpful souls who have contributed to make curl into what it is now have grown at a steady pace all through the years and it now holds more than 1200 names.

Employments

In 1998, I was employed by a company named Frontec Tekniksystem. I would later leave that company and today there’s nothing left in Sweden using that name as it was sold and most employees later fled away to other places. After Frontec I joined Contactor for many years until I started working for my own company, Haxx (which we started on the side many years before that), during 2009. Today, I am employed by my forth company during curl’s life time: Mozilla. All through this project’s lifetime, I’ve kept my work situation separate and I believe I haven’t allowed it to disturb our project too much. Mozilla is however the first one that actually allows me to spend a part of my time on curl and still get paid for it!

The Netscape announcement which was made 2 months before curl was born later became Mozilla and the Firefox browser. Where I work now…

Future

I’m not one of those who spend time glazing toward the horizon dreaming of future grandness and making up plans on how to go there. I work on stuff right now to work tomorrow. I have no idea what we’ll do and work on a year from now. I know a bunch of things I want to work on next, but I’m not sure I’ll ever get to them or whether they will actually ship or if they perhaps will be replaced by other things in that list before I get to them.

The world, the Internet and transfers are all constantly changing and we’re adapting. No long-term dreams other than sticking to the very simple and single plan: we do file-oriented internet transfers using application layer protocols.

Rough estimates say we may have a billion users already. Chances are, if things don’t change too drastically without us being able to keep up, that we will have even more in the future.

1000 million users

It has to feel good, right?

I will of course point out that I did not take curl to this point on my own, but that aside the ego-boost this level of success brings is beyond imagination. Thinking about that my code has ended up in so many places, and is driving so many little pieces of modern network technology is truly mind-boggling. When I specifically sit down or get a reason to think about it at least.

Most of the days however, I tear my hair when fixing bugs, or I try to rephrase my emails to no sound old and bitter (even though I can very well be that) when I once again try to explain things to users who can be extremely unfriendly and whining. I spend late evenings on curl when my wife and kids are asleep. I escape my family and rob them of my company to improve curl even on weekends and vacations. Alone in the dark (mostly) with my text editor and debugger.

There’s no glory and there’s no eternal bright light shining down on me. I have not climbed up onto a level where I have a special status. I’m still the same old me, hacking away on code for the project I like and that I want to be as good as possible. Obviously I love working on curl so much I’ve been doing it for over seventeen years already and I don’t plan on stopping.

Celebrations!

Yeps. I’ll get myself an extra drink tonight and I hope you’ll join me. But only one, we’ll get back to work again afterward. There are bugs to fix, tests to write and features to add. Join in the fun! My backlog is only growing…

62 thoughts on “curl, 17 years old today”

  1. Mike: there is of course and without doubt a certain amount of users who have problems, big and small and curl has its flaws and errors.

    If you have any sort of curl problem I would urge that user to go to where the curl users and hackers hang out and ask there. That would be a curl-related mailing list.

    I know the kids of today just love posting everything on stackoverflow and you can see me having responded to more than 400 curl related questions there, but usually that isn’t the correct site to continue the discussion on what we can do to make it easier in the future, how we can explain things better in the docs for the next user and so on.

    Not to mention how my answers could just as well get downvoted the minute after and a rookie with a shorter answer that paints over the problem faster will get all the votes and then appear to be right forever after…

  2. Just wanted to say congrats.

    Congrats!

    Love the program and it helps me loads. You’re a real pioneer in my book.

  3. As both a user and developer using cURL, I really appreciate your (And the contributors’) work. Thanks! Happy project anniversary.

  4. I will toast you and your software this evening. I always do for useful stuff 🙂 Cheers!
    *beer*

  5. On this day of celebration I want to say thanks for an awesome library. It’s a joy to work with, especially the ssl support on Windows compared to so many open source tools that is a pain to build on Windows.

    Keep up the great work!

  6. Congratulations on building such a fantastic tool!

    I’m glad to finally learn where the “c” in cURL comes from 🙂

  7. Thanks so much for your time and vision. My IT career is 20 years so far and I have used curl for many automation tasks, it is a real gem of a program!

  8. I got a chill reading the last part. You indeed greated a awesome piece of software that is as default for me as cat, grep and ls are. Thanks for beeing behind this for so long! Kudos!

  9. Happy Birthday Curl!! Thanks a lot Daniel for your contribution to the world. Enjoy the drink!

  10. Congratulations! I appreciate your commitment to making such a useful and functional tool available for everyone’s use. I’m glad to hear you find a certain satisfaction in contemplating the myriad ways your project is being used, and I hope you feel the late nights and sacrifice have been worth it!

  11. Awesome! Thank You for investing that unbelieveable amount of energy and endurance into cURL. Funny how used I got to my daily tools, without further thinking about them and the story behind. Especially in contrast to all those fancy, shiny, super-awesome, loudly-promoted projects that pop up everytime everywhere but are forgotten or left behind so fast.
    A big Thank You – to You and all contributors – wish You a good celebration!

  12. I’m surprised to see my name on the list, despite having contributed the sum total of one bug report. It just goes to show that some open-source projects are genuinely glad to receive constructive feedback. Even from Windows users 🙂 I am glad to be someone outside of the camp of whiners.

    I use cURL most days to help protect my customers from phishing sites, so your efforts are helping every-day people stay safe. cURL is lovely and so are the hackers and contributors. Thank you!

  13. Daniel,

    Thank you so much for your 17 years of dedication. cURL and Libcurl are truly outstanding tools.

  14. Congrats!!!
    Curl has solved many of my requirements in the most easy way.
    Much appreciated.

  15. I think the first time I used cURL was in 2002 in a C project that posted things to craigslist. I then ported it to D and have probably used it half a dozen other languages since then.

    THANK YOU for such an awesome tool!

  16. Hey,

    Thanks for the work. I use curl almost every day.

    I found it really funny how your third last paragraph was about users and the first comment was a StackOverflow thread about “how do I …???” Some people seem to lack reading comprehension.

    Happy Birthday, curl 🙂

    – nc

  17. Very nice story Daniel, it’s been such a labor of love!
    I wish a very happy birthday to cURL, and thank you for all that hard work to make something so useful! Congrats!

  18. Congratulations on one of the most amazing tools we all take for granted!

    I just wrote a section of my project’s reference documentation detailing how to interact with it via curl. Superb work!

  19. Great tool. So useful for testing web work.

    Been using it for 15 years or so.

    Thank you for your efforts.
    Mark

Comments are closed.