19 comments

[ 2.7 ms ] story [ 53.2 ms ] thread
For some context on this, it appears the author of the blog is also the author of curl/libcurl.

For additional context, it appears that the issue was also specific to Apple, not an upstream issue, which it would have been nice if the blog added that for context. Context here:

https://twitter.com/spotmac/status/1461254677966864384

Thanks, I had no idea what was the rant about besides "cRaPpLe".
This will be controversial, but my preferred solution to this problem is to switch to GPL.

In an ideal world, cURL would be able to expect some collaboration/support from downstream consumers like Apple, but wishing for this (or issuing valid complaints against their behaviour) is a waste of time.

Make macOS useless by starting to strangle the core utilities with GPL and you might see their stance change.

Not likely. They'll do the same thing just with whatever version last had a license they like probably making the problem worse. They happily shipped years old versions of things like bash and emacs to keep using GPL2 versions. It took like a decade before they replaced them with something else or just removed them entirely.
In the case of cURL, there's a much greater amount of network exposure. It would be extremely irresponsible for Apple to simply ship an older version missing security patches.
This didn't work with Bash 4 (zsh is now the default shell), and Apple created in-house alternatives for OpenSSL (SecureTransport) and OpenGL (Metal), showing a degree of willingness to write replacements for impossibly-difficult subsystems that few others show.

I would hazard a guess, based on that tendency, that attempting to pressure Apple through open-source licensing is more likely to cause Apple to replace open-source with closed-source, than it is to benefit open-source in any way whatsoever.

They also made their own SMB client after SAMBA switched to GPL3. Forgot about that.
Sounds like a good plan. Switch as many possible tools and libraries to GPLv3. This forces Apple to either give in, or have to maintain a growing library of tools (costing them money), or do a one off rewrite and not maintain it, exposing their users to unmaintained software and showing off how much Apple simply cares about profit and not its users.
(comment deleted)
, or do a rewrite and make closed proprietary code a core/mandatory feature of their platform (SecureTransport, Metal).

, or do a rewrite and make open code a core dependency for their platform (Clang).

Nobody uses Metal, and every developer that has to implement it complains of how dogshit it is. Same goes for securetransport. The end result remains Apple hurting itself with their nonstandard, unmaintained APIs.

Clang/LLVM hasn't been Apple led for a long time.

Your uses of "nobody" and "every developer" have built-in, unstated assumptions wherein you exclude everyone who does not share your views. Unfortunately, that excludes me from further participation in this conversation with you.
> showing a degree of willingness to write replacements for impossibly-difficult subsystems that few others show.

Also look at Clang. Apple wanted a compiler that did not have the GPL and spent a lot of resources making it and pushing it.

Right - and they ended up giving enormously more value back to the open source ecosystem by doing so than if they had stuck with GCC.
(comment deleted)
How would switching to GPL affect support questions?
Maybe it is just me, but besides the content of the message (which is terrible) I have to object to the form as well.

Some minimal education/respect to the user is missing, WHY are you referring me to someone else on the internet?

Even the usual corporate jargon or bogus explanation/excuse, like - say - "We are sorry but from our tests the behaviour you describe is not connected to our product, you may want to contacxt directly ..."

The text in the message:

"Please reach out to ..."

could be - maybe - acceptable - if it was a reply forwarding to another division/office of Apple itself, i.e. you write to (hypothetical) support@apple.com and you get as reply "Thanks for contacting us. To get help with this issue, please reach to softwaresupport@apple.com."

And it would still remain (IMHO) rude.

A modest solution:

if (strstr(SYSTEM_OS, "MacOS")) {

    if (randomNumber(1, 1000)) == 42) {

         // Contact Apple support if this is a issue

        char *s = "replacing this";

        *s = "causes a segfault";}

}