curl Icon

curl

A command line tool and library for transferring data with URLs
19 Stories
All Topics

Open Source un.curl.dev

Everything I know and learned about running and maintaining open source projects for three decades

Curl creator/maintainer Daniel Stenberg is writing a book. It’s (aptly) named: Uncurled

Because of my background and life with Open Source and probably a lot because of the relative success some of my projects have had, I frequently get questions about subjects related to maintaining Open Source. How to run a project and what makes them succeed? For a long time I have been collecting lessons from my life with Open Source into a list of advice for fellow Open Source library hackers. This document is my attempt to convert those thoughts and experiences into words.

I don’t believe it’s finished, but there’s a lot here already! Excited for this and while it’s a free to read GitBook right now, I hope it ends with some kind of physical manifestation.

curl daniel.haxx.se

Curl gets a --json flag

Daniel Stenberg’s first step toward adding first-party JSON support to everyone’s favorite command-line URL transmitter is a flag that is basically a shortcut for the following flags:

--data [arg]
--header "Content-Type: application/json"
--header "Accept: application/json"

Will more come of this? Time (and the community) will tell…

The discussion has been ignited in the curl community about what, if anything, we should do in curl to make it a smoother and better tool when working with JSON. The offered opinions range from nothing (“curl is content agnostic”) to full-fledged JSON generator, parser and pretty-printer (or a combination in between).

curl daniel.haxx.se

There are "no easter eggs in curl"

If you’re a fan of Easter eggs in software, you won’t find them in the curl codebase. Daniel explains, “There are no Easter eggs in curl. For the good.” The parimary reason is “trust,” but also to not waste time and effort on “useless work.”

If we would allow an Easter egg to get merged, we would soon start getting improvements to the egg code and people would like to add more eggs and to change the existing one. We would spend time and effort on the silly parts and we would need to spend testing and energy on these jokes instead of the real thing. We already have enough work without adding irrelevant work to the pile.

Given the massive usage of curl, I agree with the all business approach that Daniel desires and promises.

curl daniel.haxx.se

The most used software components in the world

Curl maintainer Daniel Stenberg:

We can’t know for sure which products are on the top list of the most widely deployed software components. There’s no method for us to count or estimate these numbers with a decent degree of certainty. We can only guess and make rough estimates – and it also depends on exactly what we count. And quite probably also depending on who‘s doing the counting.

He goes through his process of trying to determine contenders, and ends up with zlib, qlite, and libcurl. Other have added OpenSSL, expat and the Linux kernel to that list.

curl daniel.haxx.se

Curl's CLI can now write out JSON

This does not mean curl can fetch some JSON and print it to STDOUT. That would not be new. What it means is that the --write-out option now supports JSON as an output format. Pipe that output to a tool like jq and you get something like this:

{
  "url_effective": "https://example.com/",
  "http_code": 200,
  "response_code": 200,
  [lots more but I snipped them for length]
}

Which is pretty cool, if you ask me.

curl daniel.haxx.se

Curl lands its biggest single-shot donation following accidental license breach

Here’s a heartwarming tale of how Backblaze broke libcurl’s copyright, then fixed it, then donated a hefty $15,600 to the project. Why that particular amount?

Backblaze was started in my living room on Jan 15, 2007 (13 years ago tomorrow) and that represents $100/month for every month Backblaze has depended on libcurl back to the beginning. / Brian Wilson, CTO of Backblaze

More like this!

curl blog.benjojo.co.uk

You cannot cURL under pressure 😰

The scope creep of cURL is also something to behold, the program can do tons of stuff! Just look at the home page! With cURL having this many features (with the general mass of them being totally unknown to me, let alone how you use them) got me thinking… What if you could do a game show style challenge for them?

I couldn’t make it past the DELETE request (stage 3) without consulting Manuel. How far can you get?

curl daniel.haxx.se

Why people use curl

You know we’re curl fanpeople around these parts, and we’re obviously not the only ones (it’s used by millions of people around the world!). In this brief post, Daniel Stenberg lays out seven common reasons people tell him why they use curl. This particular bit resonated with me:

No other tool or library for internet transfers have even close to the same amount of documentation, examples available on the net, existing user base that can help out and friendly users to support you when you run into issues.

curl daniel.haxx.se

Daniel Stenberg is leaving Mozilla

We’ve been chronicling Daniel’s work on #curl for some time now. December 11, 2018 will be Daniel’s final official day at Mozilla. He assures us that his work on curl will continue, saying this in regards to his time dedicated to curl and where he works for his full-time income, “I don’t think my choice of future employer should have to affect that negatively too much, except of course in periods.”

Here are the main points from Daniel (but you should certainly dig into the details):

  1. It’s been five great years, but now it is time for me to move on and try something else.
  2. …lots of the HTTP/2 development and the publication of that was made while I was employed by Mozilla and I fondly participated in that.
  3. …we’re also losing Mozilla as a primary sponsor of the curl project, since that was made up of them allowing me to spend some of my work days on curl and that’s now over.
  4. I will continue to follow and work with HTTP and other internet protocols very closely.
  5. The future is bright but unknown! “I don’t yet know what to do next.”

Culture daniel.haxx.se

curl turns 20! 🎂

At this time in 1998 Titanic was winning 11 Oscars, My Heart Will Go On was topping the music charts, and Daniel Stenberg was uploading the first public release of one of the most useful tools in Internet history.

In this birthday post, Daniel walks down memory lane and says what those first few years were like:

It was far from an immediate success. An old note mentions how curl 4.8 (released the summer of 1998) was downloaded more than 300 times from the site.

We talked about curl on The Changelog when it was 17 years old. I think It’s time to bring Daniel back on to celebrate the big Two Oh. 🎊

curl daniel.haxx.se

Curl gets a spaceship progress bar

Starting in curl 7.58.0

If the total size is unknown, it will now instead display a small space ship flying across the line, back and forth – and it will only move as long as there is data being transferred. If it stalls, the little ship stops.

Daniel calls this new progress bar style “useless”, but we always love seeing people inject fun and whimsy in to their open source projects, even at curl’s state of maturity.

Curious what it looks like? There’s a sample video on YouTube.

Changelog Interviews Changelog Interviews #153

17 Years of curl with Daniel Stenberg

Daniel Stenberg joined the show to talk about curl and libcurl and how he has spent at least 2 hours every day for the past 17 years working on and maintaining curl. That’s over 13k hours! We covered the origins of curl, how he chooses projects to work on, why he has remained so dedicated to curl all these years, the various version control systems curl has used, licensing, and more.

Player art
  0:00 / 0:00