reminds me of a funny anecdote from my first job in the tech industry. all of the team's VM's had VIM installed, but no emacs. when I asked a teammate if we could add emacs to the bsse image, he responded "It already has an OS, we don't need another one."
I still use the ancient bash on macOS. And the jq that happens to be there, which I think was new in macOS 26? (WWDC hinted it would be in macOS 15, but IIRC it wasn't)
I honestly had no idea that emacs ever shipped with it.
This is probably as good a place as any to ask: why does the macOS vi return a nonzero exit code when I make any error at all? Like if I search for text that doesn't exist in the file, or mistype at the : prompt, and then (successfully) save and quit, it returns 1. This is bad when I'm using it as the editor for something like git commit, which will fail if $EDITOR returns nonzero. No other vi/vim seems to behave this way.
In addition, there is a clause added (IIRC because of the patent shield licensing deal between Novell and Microsoft) that third party patent licensing needs to cover downstream GPLv3 usage. You cannot simply license a patent for your binary distribution.
So it is possible Apple's lawyers read this section as meaning an injunction against GPLv3 code may be infeasible to solve with licensing the patent, and instead require Apple to make changes on a time-table they would not be happy with.
Sticking to GPLv2 lets Apple control the time table it has taken to license, reimplement or remove components which had moved to GPLv3.
I can't tell you why it took them until El Capitan to remove the Emacs install though.
The situation has gotten more complex since that discussion, too. Modern versions of macOS use an immutable root partition [1]; shipping GPLv3 code in that partition could arguably be a violation of the license.
`EDITOR=mg` is a great find. I never knew of it before! One caveat I found is that it doesn’t support unicode (at least not in the default mac installation).
As an Emacs user, my reaction to this is positive. The version that shipped with macOS was so out of date that it just tended to confuse potential new users
I have a fond childhood memory of discovering the emacs eliza on the family iMac, well before I would understand what emacs or eliza were. Like telnet towel.blinkenlights, part of me is sad to see that magic go.
Probably makes sense not to ship an old version by default anymore, though.
Do you really think a company that typically builds base systems with small storage in order to upsell storage upgrades (both local and cloud) is concerned with the bloat of its OS install?
reminds me of a funny anecdote from my first job in the tech industry. all of the team's VM's had VIM installed, but no emacs. when I asked a teammate if we could add emacs to the bsse image, he responded "It already has an OS, we don't need another one."
Boom!
I still use the ancient bash on macOS. And the jq that happens to be there, which I think was new in macOS 26? (WWDC hinted it would be in macOS 15, but IIRC it wasn't)
I honestly had no idea that emacs ever shipped with it.
This is probably as good a place as any to ask: why does the macOS vi return a nonzero exit code when I make any error at all? Like if I search for text that doesn't exist in the file, or mistype at the : prompt, and then (successfully) save and quit, it returns 1. This is bad when I'm using it as the editor for something like git commit, which will fail if $EDITOR returns nonzero. No other vi/vim seems to behave this way.
> This is bad when I'm using it as the editor for something like git commit, which will fail if $EDITOR returns nonzero.
I got hit by this so often and never knew the reason. At least I know who's to blame now.
https://stackoverflow.com/questions/66283714/how-can-i-force...
explicitly using vim (rather than the vi alias) is supposed to give the return code behavior you prefer.
Very interesting article. But why does Apple want to avoid GPL v3?
edit: found this previous HN discussion: https://news.ycombinator.com/item?id=20102640
In addition, there is a clause added (IIRC because of the patent shield licensing deal between Novell and Microsoft) that third party patent licensing needs to cover downstream GPLv3 usage. You cannot simply license a patent for your binary distribution.
So it is possible Apple's lawyers read this section as meaning an injunction against GPLv3 code may be infeasible to solve with licensing the patent, and instead require Apple to make changes on a time-table they would not be happy with.
Sticking to GPLv2 lets Apple control the time table it has taken to license, reimplement or remove components which had moved to GPLv3.
I can't tell you why it took them until El Capitan to remove the Emacs install though.
The situation has gotten more complex since that discussion, too. Modern versions of macOS use an immutable root partition [1]; shipping GPLv3 code in that partition could arguably be a violation of the license.
[1]: https://support.apple.com/guide/security/signed-system-volum...
`EDITOR=mg` is a great find. I never knew of it before! One caveat I found is that it doesn’t support unicode (at least not in the default mac installation).
Sadly, it doesn’t in any installation. Too bad, it’s great otherwise.
https://github.com/ibara/mg#commonly-asked-questions
As an Emacs user, my reaction to this is positive. The version that shipped with macOS was so out of date that it just tended to confuse potential new users
I have a fond childhood memory of discovering the emacs eliza on the family iMac, well before I would understand what emacs or eliza were. Like telnet towel.blinkenlights, part of me is sad to see that magic go.
Probably makes sense not to ship an old version by default anymore, though.
Gotta reduce the bloat somehow.
Do you really think a company that typically builds base systems with small storage in order to upsell storage upgrades (both local and cloud) is concerned with the bloat of its OS install?
Operating system files do not get stored in Apple's cloud storage system (without gymnastics like copying them into a user's Documents folder)