Now Reading
curl on 100 working programs

curl on 100 working programs

2023-11-15 00:48:53

In a current pull-request for curl, I clarified to the contributor that their change would solely be accepted and merged into curl’s git code repository in the event that they made certain that the change was finished in a method in order that it didn’t break (testing) for and on legacy platforms.

In that thread, I may virtually really feel how the contributor squirmed as this requirement made their work tougher. Not by a lot, however tougher no much less.

I insisted that since curl at that time (and nonetheless does) already helps 32 bit time_t sorts, adjustments on this space ought to keep that performance. Even when 32 bit time_t is of restricted use already and might be much more restricted as we rush towards the yr 2038. Fairly a lot of legacy platforms are nonetheless caught on the 32 bit model.

Why do I care a lot about previous legacy crap?

No one requested me precisely that utilizing these phrases. I’m paraphrasing what I think some contributors suppose at occasions once I ask them to do extra adjustments to drag requests. To make their adjustments full.

It isn’t a lot concerning the legacy programs. It’s rather more about sticking to our guarantees and never breaking issues if we don’t need to.

Partly stability and guarantees

Within the curl undertaking we work relentlessly to take care of ABI and API stability and compatibility. You may improve your libcurl utilizing utility from the mid 2000s to the newest libcurl – with out recompiling the applying – and it nonetheless works the identical. You may run your unmodified scripts you wrote within the early 2000s with the newest curl launch immediately – and it’s virtually assured that it really works precisely the identical method because it did again then.

That is greater than a celebration trick and a handy guide a rough line to make use of within the gross sales brochures.

That is the very core of curl and libcurl and a foundational precept of what we ship: you possibly can belief us. You may lean on us. Your utility’s Web switch wants are in secure palms and you’ll ensure that even when we often ship bugs, we offer updates you can change over to with out the conventional sorts of improve pains software program so usually comes with. In a endless trend.

Additionally in fact. Why break one thing that’s already working fantastic?

Partly consumer numbers don’t matter

Customers do matter, however what I imply on this subtitle is that the variety of customers on a specific platform isn’t a cause or motivator for engaged on supporting it and making issues work there. That’s not how issues are likely to work.

What issues is who’s doing the work and if the work is getting finished. If now we have contributors round that preserve ensuring curl works on a sure platform, then curl will preserve working on that platform even when they’re mentioned to have only a few customers. These customers don’t keep the curl code. Maintainers do.

A platform doesn’t actually die in curl land till needed code for it’s not maintained – and in lots of circumstances the unmaintained code can stay purposeful for years. It may additionally take a very long time till we really discover out that curl not works on a specific platform.

On the alternative aspect it may be arduous to take care of a platform even when it has great amount of customers if there will not be sufficient maintainers round who’re keen and educated to work on points particular to that platform.

Partly that is how curl could be all over the place

Exactly as a result of we preserve this sturdy concentrate on constructing, working and working all over the place, even typically with moderately humorous and bizarre configurations, is an evidence to how curl and libcurl has ended up in so many various working programs, run on so many CPU architectures and is put in in so many issues. We ensure it builds and runs. And retains doing so.

And actually. Numerous customers and corporations insist on sticking to historic, area of interest or legacy platforms and there’s nothing we will do about that. If we don’t have to interrupt performance for them, having them stick with counting on curl for transfers is oftentimes a lot better security-wise than virtually all different (usually homegrown) alternate options.

We nonetheless deprecate issues

Despite the flamboyant phrases I simply used above, we do take away assist for issues from time to time in curl. Principally within the phrases of dropping assist for particular third occasion libraries as they dwindle away and fall off like leaves within the fall, but additionally in different areas.

See Also

The secret’s to deprecate issues slowly, with care and with an open communication. This ensures that everybody (who needs to know) is conscious that it’s taking place and might put together, or object if the proposal appears unreasonable.

If no consumer can detect a modified conduct, then it’s not modified.

curl is made for its customers. If customers need it to maintain doing one thing, then it shall accomplish that.

The world adjustments

Web protocols and variations come and go over time.

If you happen to convey up your curl command strains from 2002, most of them most likely fail to work. Not due to curl, however as a result of the host names and the URLs used again then not work.

An enormous cause why a curl command line written in 2002 is not going to work immediately precisely because it was written again then is the transition from HTTP to HTTPS that has occurred since then. If the location really used TLS (or SSL) again in 2002 (which actually was not the norm), it used a TLS protocol model that these days is deemed insecure and fashionable TLS libraries (and curl) will refuse to connect with it if it has not been up to date.

That can be the explanation that if you happen to even have a saved curl executable from 2002 someplace and handle to run that immediately, it is going to fail to connect with fashionable HTTPS websites. Due to adjustments within the transport protocol layers, not due to adjustments in curl.


High picture by Sepp from Pixabay

Source Link

What's Your Reaction?
In Love
Not Sure
View Comments (0)

Leave a Reply

Your email address will not be published.

2022 Blinking Robots.
WordPress by Doejo

Scroll To Top