Very good solution.
I mean who checks every library (even core libraries) if it uses an mit licensed product.
most people probably do not. btw. .net core uses libcurl on linux which means that every product deployed to linux with dotnet needs to acknowledge it.
> I found libcurl difficult to use in 'C'
Umm.... it is literally the most simple API that could possibly exist? Here are the four lines in 'C' to fetch a URL:
curl_global_init(CURL_GLOBAL_SSL); // do this once inside of "main()"
CURL ch = curl_easy_init();
curl_easy_setopt(ch, CURLOPT_URL, "http://www.google.com");
int res = curl_easy_perform(ch);
I'm not sure how you could fetch a URL without initializing the library or specifying the URL?? It is like profoundly the most simple API that could possibly exist, I challenge you to specify any imagined API that is shorter or more simple or more straight-forward??!
The nice thing about the libcurl API is the above works and is the "base" concept, but if you want to specify something like a "network throttle" to be polite to other things on the network, you just start adding one extra line at a time to the above code:
curl_easy_setopt(ch, CURLOPT_MAX_SEND_SPEED_LARGE, (curl_off_t) (256 * 1024)); // 256 kbits/sec
It's a great idea, this "paying back" accumulated moral debt (or whatever you'd like to call it) to open source developers whose software you've built a successful business on. Applauds to you, and to Backblaze!
I am not running Load Impact anymore, but will see if we can follow Backblaze's lead here and do something similar.
Considering tens of thousands of paying users that use a service which would not function if it wasn't for libcurl, I was expecting nothing short of 50k$