It used to be, but Apple seems to have lost interest in the Unix/Open Source side of macOS a decade ago. They've abandoned GNU tools after GPLv3 (2007), haven't added anything new, and just let the old stuff limp along until it's obsolete.
Nowadays macOS needs something like Homebrew to fill the gaps. It's still slightly better than Windows + WSL, but Microsoft is catching up, while Apple seems to think that iPadOS is the future.
> It used to be, but Apple seems to have lost interest in the Unix/Open Source side of macOS a decade ago. They've abandoned GNU tools after GPLv3 (2007), haven't added anything new, and just let the old stuff limp along until it's obsolete.
There's a whole lot more to Unix and open source than GNU. macOS has current versions of many open source tools, such as zsh, awk, sqlite, tar, git, and xz.
If one is being pedantic, GNU is not even "open source" but rather is "free software," and macOS certainly is not free software.
None of that really matters when GNU is the predominant standard, though. You could tell your boss all about how great the MacOS coreutils are, but if your program doesn't compile, you're gonna be in trouble.
This new world is way better. Before we were dependent on Apple's release cadence to keep our OSS up to date. Apple officials dropping support doesn't mean they don't want these tools to be on their platform, it just means the community does a better job of managing Unix/OSS tools separate from Apple's release schedule.
That's still pretty appawling though. If Linux distros can have big release candidates and still push out package updates between releases then why can't one of the most profitable companies in the world manage it?
I'm not saying it's an easy problem to solve. Just that Apple aren't dropping support out of respect to their customers. They're doing it because it's cheaper.
Linux distros have massively different expectations of their users. And users have very different requirements from how they get and update their OSS, hence he variety of distros and package managers. Its less that Apple is unable to do this and more that Apple is in the one size fits all business, and that model simply doesn't work for solving the OSS distribution problem.
We're not talking about forking macOS for every theme change or offering alternative init daemons. We're just talking about providing a package manager for common user land tools. In fact Apple already do this: it's called "App Store". But you have to pay to have your app on there so most OSS don't bother. And here lies the problem: why would Apple run another package manager for free? For them, this is 100% a financial decision.
I'm thinking that the less value that Apple delivers to the customers, the better it is for their bottom line, don't forget, adding value costs money, plus its not like Apple fans are going to suddenly quit buying their products right?
Apple seems to be really good at maintaining their profit margin.
In a nutshell, this is the correct answer. Going all the way back to when Apple's Java was deprecated and eventually removed from the shipping OS. In the moment, it's annoying, but I would rather not have to fight with preinstalled software when trying to get a newer version of (say) zsh installed.
Here, they not only realized it had become popular, but GNU licensing gave them an excuse to switch the default without much thrashing about.
The fact that I can `chsh -s /usr/local/bin/zsh` and macOS doesn't freak out is quite nice.
There's still an even better solution: Apple could start treating their operating system like a first-class programming platform, and everyone would win. But it looks like they're still dragging their feet on that one.
They're rolling in billions with nowhere to spend it. They could just hire some more unix devs to update their tooling. Nobody wants to champion that because it'll never be a keynote bullet point.
Nowadays macOS needs something like Homebrew to fill the gaps. It's still slightly better than Windows + WSL, but Microsoft is catching up, while Apple seems to think that iPadOS is the future.