Skip to main content
  1. Posts/

The pillars of the software (1/2)

·578 words·3 mins
Table of Contents
Image

The pillars of the software (1/2) #

Today we will leave the mobile topics and talk about the thousands of software. What I mean here by pillar is the software / libraries that everyone uses directly or indirectly (via other software / libraries). And we will see together that a lot relies on little and that is a bit scary!

Actually I wanted to talk about this because I came across this tweet from Mike van Riel (@mvriel: https://twitter.com/mvriel) a fellow developer who posted this:

Image

I think you agree with me, it’s sobering. And it’s true that I had never thought about it before! So I got interested in the subject and wanted to share with you what I discovered!

cURL #

Let’s start with the one we all used at least once, the one we see everywhere in API examples, the one we are taught in school: cURL.

It was created in 1998 by Daniel Stenberg (https://en.wikipedia.org/wiki/Daniel_Stenberg) and if you don’t know, cURL stands for “Client URL”.

It is available on GitHub at this address: https://github.com/curl/curl

It allows to transfer data through a multitude of protocols: DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET and TFTP. curl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload, proxies, HTTP/2, HTTP/3, …

And according to their site, cURL is also used in cars, TVs, routers, printers, audio equipment, cell phones, tablets, set-top boxes, media players and is the Internet transfer engine for thousands of software applications in over ten billion installations.

If I were the creator of this marvel I would be really proud of the success of my software. Because yes, when we reach more than 10 billion installations, I think we can easily talk about success!

Here is the official website of the software: https://curl.se/

But who maintains the software?

If we believe GitHub and the contributors page they are, at the time of writing, 729 contributors. But this count includes all contributors: from those who added a feature to those who corrected a spelling mistake in a comment to those who fixed security holes.

So let’s take a look at the top contributors.

Image

As you can see, we fall very quickly below the thousand of commits per developer and that therefore, we have mainly 3 main developers on the subject! The first is badger the creator of cURL, which seems logical.

The second one is yangtse and his profile does not include any information. So let’s consider that he is a person interested but not necessarily related to cURL.

And the third one is Steve Holme who works for cURL if we believe his GitHub profile.

So we can see that indeed, despite the strong use and popularity of the software, there is almost nobody on the subject. Everything rests on the shoulders of 3 people.

Which, let’s face it, can be scary! Imagine that tomorrow they decide to retire, or that they are no longer passionate about this project. What will happen? So I know that the open source community is supposed to take over, but we all know that taking over someone else’s development is always complicated. Especially when the project has been around for so long.

So as Mike van Riel said, cURL doesn’t rely on many people and yet it’s one of the most used software/libraries in the world!

It makes you think!