Live data from Hacker News

Apple makes zsh default shell on macOS

support.apple.com

41–46 of 46 posts

Re: Apple makes zsh default shell on macOS

#41
post #39

If you like zsh, you should check out the "oh-my-zsh" addon, which features 200+ optional plugins (rails, git, OSX, hub, capistrano, brew, ant, php, python, etc), over 140 themes to spice up your morning, and an auto-update tool: https://github.com/robbyrussell/oh-my-zsh

Or prezto if you just like a few sane extras without bloat.

I remember trying oh-my-zsh in the past and over time having its performance crawl to a halt. Been rocking zprezto for years

Re: Apple makes zsh default shell on macOS

#42

Earlier quoted context omitted.

Apple is unwilling to publish the source code of proprietary non-Darwin applications and libraries in their OS. GPLv3 enforces copyleft upon anyone who links to a GPLv3 application. There is a risk that simply including or using bash4+ could infect the system with GPLv3 compliance requirements, forcing Apple to publish their proprietary source code. To Apple, this is likely seen as an unacceptable risk no matter the…

I think it's not only about their proprietary source code, but also about restricting code that can run on your computer. Newer Macs have trusted boot, where the T1 / T2 coprocessor makes sure that system software has not been tampered with before booting. And every release seems to go further into the direction of verifying the code you execute. As far as I understand it, if the GPLv3 clauses would apply, Apple woul…

I think they already allow modifications? Apple lets you disable System Integrity Protection [0], after which point you can make any modifications to the system. Only the T2 supports Secure Boot and it can also be disabled [1].

"Activation Lock" is an iOS thing. On Macs you can set a firmware password [2], but I don't see how that would conflict with GPLv3.

[0] https://developer.apple.com/library/archive/documentation/Se...

[1] https://support.apple.com/en-us/HT208330

[2] https://support.apple.com/en-us/HT204455

Re: Apple makes zsh default shell on macOS

#43
post #34

Earlier quoted context omitted.

> There is a risk that simply including or using bash4+ could infect the system with GPLv3 compliance requirements, forcing Apple to publish their proprietary source code. This seems dubious, since the FSF themselves make the statement that aggregates of differently licensed software are fine, as long as you comply with GPL for the GPL-licensed parts: https://www.gnu.org/licenses/gpl-faq.en.html#MereAggregation

> But if the semantics of the communication are intimate enough, exchanging complex internal data structures, that too could be a basis to consider the two parts as combined into a larger program. All of macOS, since 10.0, is built on ever-more-interlocking systems of ‘intimate’ communication. As upthread points out, there’s a hardware chip that uses IPC to interlock with SIP to protect system files. The depth of IPC…

That's really not different at all from any other operating system. The "laypeople" in court have previously been perfectly able to consider even highly integrated OS components as separate from the whole - such as Internet Explorer in the case of the big old Microsoft antitrust lawsuit.

I think that a more likely reason is that Apple have plans for macOS that wouldn't play well with GPLv3's anti-Tivoisation measures.

Re: Apple makes zsh default shell on macOS

#44

Earlier quoted context omitted.

I think it's not only about their proprietary source code, but also about restricting code that can run on your computer. Newer Macs have trusted boot, where the T1 / T2 coprocessor makes sure that system software has not been tampered with before booting. And every release seems to go further into the direction of verifying the code you execute. As far as I understand it, if the GPLv3 clauses would apply, Apple woul…

I think they already allow modifications? Apple lets you disable System Integrity Protection [0], after which point you can make any modifications to the system. Only the T2 supports Secure Boot and it can also be disabled [1]. "Activation Lock" is an iOS thing. On Macs you can set a firmware password [2], but I don't see how that would conflict with GPLv3. [0] https://developer.apple.com/library/archive/documentatio…

If a judge and jury find that the T2 chip, macOS, and bash4 were all integrated components of the software package “macOS” for the purposes of GPLv3 copyleft provisions, then Apple would be forced to share the source code of all software running on the T2 chip as well as all software it bundles with macOS.

While we can armchair legal this in either direction on how likely that judgement would be, they appear instead to have decided to never permit that risk to occur at all. I approve, too: if you don’t want to share every bit of source code in your product, don’t use GPLv3 in your product. It’s explicitly meant to be annoying like that, and any plausible effort to have your cake and eat it too risks being overturned by a court of law.

Re: Apple makes zsh default shell on macOS

#45
post #19
post #10

I can recommend the GRML ZSH config to go with ZSH https://grml.org/zsh/ Works out-of-the-box for me on most machines (i.e. I don't maintain shell settings besides downloadding GRML zsh regularly) and it is not as big as oh-my-zsh.

From looking at it, this seems designed for Linux and not MacOS. If you're looking to replace oh-my-zsh with something sane and fast, zprezto has been my go-to choice.

will have a look at zprezto, but I wonder how its "designed for Linux", or at least how that would matter. Been using this template for years on Mac and have not had the impression that I would be missing out on things.

Re: Apple makes zsh default shell on macOS

#46

Earlier quoted context omitted.

I think it's not only about their proprietary source code, but also about restricting code that can run on your computer. Newer Macs have trusted boot, where the T1 / T2 coprocessor makes sure that system software has not been tampered with before booting. And every release seems to go further into the direction of verifying the code you execute. As far as I understand it, if the GPLv3 clauses would apply, Apple woul…

I think they already allow modifications? Apple lets you disable System Integrity Protection [0], after which point you can make any modifications to the system. Only the T2 supports Secure Boot and it can also be disabled [1]. "Activation Lock" is an iOS thing. On Macs you can set a firmware password [2], but I don't see how that would conflict with GPLv3. [0] https://developer.apple.com/library/archive/documentatio…

Activation lock for Macs was announced in the WWDC keynote.
Post reply on HN