Comment by alwillis
3 months ago
> Apple loves to change which tools they ship, too, it at least have for the last few years as system updates were routinely breaking our build scripts at work, mostly when Apple would replace a GNU tool with a BSD tool without warning i think.
It's a licensing issue; Apple has never shipped GPLv3 software. This has been discussed dozens of times on HN.
Of course you can use Homebrew to install a GNU toolchain to your heart's content.
Just FYI: macOS has been a BSD-derived operating system from the beginning, using stuff from FreeBSD, OpenBSD and NetBSD on a Mach kernel. It’s a certified UNIX™ operating system.
And because GPLv3 is incompatible with how Apple operates, they ship versions of pre-GPLv3 software like Bash 3.2.
Apple now ships openrsync [1] as a replacement for rsync due to licensing issues.
[1]: https://appleinsider.com/inside/macos-sequoia/tips/what-you-...
Well there's now an MIT-licensed Rust rewrite of GNU coretools. Maybe in a few years they'll ship that, and we won't have to faff about with crappy 3rd party solutions. (I mean, seriously, when Windows ships with better dev tools than you? That's embarrassing.)
I'd have sworn they used to ship nano instead of pico; but i could be misremembering, regardless, the behavior of the tools changed and the only solution was install the gnu version from brew (and later, move the whole build to docker when Apple broke something else that used to work fine on both Mac and Linux)