Live data from Hacker News

Apple makes zsh default shell on macOS

support.apple.com

31–40 of 46 posts

Re: Apple makes zsh default shell on macOS

#31

Earlier quoted context omitted.

I don't fully understand why GPLv3 is not good for Apple. I did try to ask my favourite search engine but I did not find a clear, concise answer. What is wrong with GPLv3 for Apple and why is it okay in Linux?

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…

Aha. Thanks for that.

At least we get diversity in our shells. I quite like that, it reminds me of the UNIX days when every OS was slightly different at the shell level, with different command line options for simple commands in Solaris/IRIX/HP-UX and those myriad of different IBM systems.

Can't have it too easy, can we? Or else anyone would be able to do our programmer jobs!

Re: Apple makes zsh default shell on macOS

#33
post #20

Earlier quoted context omitted.

Bash went GPLv3. Apple will never ship GPLv3. Persuade bash to relicense and they might consider it. Otherwise, goodbye bash.

Nothing wrong with GPL3. I'd rather use an OS that's willing to ship essential software. The OS is there to serve the user, not make their lives more difficult because of petty licensing concerns.

> Nothing wrong with GPL3.

Wrong

> I'd rather use an OS that's willing to ship essential software.

Ok, there's Linux in that case.

> The OS is there to serve the user, not make their lives more difficult because of petty licensing concerns.

"Petty licensing concerns" are an issue for big companies.

Re: Apple makes zsh default shell on macOS

#34

Earlier quoted context omitted.

I don't fully understand why GPLv3 is not good for Apple. I did try to ask my favourite search engine but I did not find a clear, concise answer. What is wrong with GPLv3 for Apple and why is it okay in Linux?

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…

> 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

Re: Apple makes zsh default shell on macOS

#35

Earlier quoted context omitted.

I don't fully understand why GPLv3 is not good for Apple. I did try to ask my favourite search engine but I did not find a clear, concise answer. What is wrong with GPLv3 for Apple and why is it okay in Linux?

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…

> Why are GPLv3 programs able to use syscalls in Linux without infecting the kernel with GPLv3 compliance requirements

Shouldn't this be the other way around? The concern would be with non-GPL programs making syscalls and getting infected with a GPLed kernel. The kernel isn't at risk of being infected.

Re: Apple makes zsh default shell on macOS

#36
post #34

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…

> 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 used to deliver a Macintosh appears to qualify the entire shipping OS for the “larger program” clause.

Setting IPC aside, it’s still easy to construct a case against GPLv3: If bash is included in an operating system release that can be downloaded like any other program on the Mac App Store, then it’s absolutely plausible to a layperson that the inclusion of GPLv3 in that program would - like any other program - infect it in its entirety with GPLv3’s copyleft requirements. macOS isn’t an aggregate software repository to its users, and a judge could easily be convinced to agree.

I’m not Apple’s lawyer, but I hope this helps convey what I imagine is part of their reasoning against it.

Re: Apple makes zsh default shell on macOS

#37

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…

> Why are GPLv3 programs able to use syscalls in Linux without infecting the kernel with GPLv3 compliance requirements Shouldn't this be the other way around? The concern would be with non-GPL programs making syscalls and getting infected with a GPLed kernel. The kernel isn't at risk of being infected.

I’m much more paranoid about GPLv3 infecting other code over an API than I am about GPLv2 infecting other code over an API, especially now that Linux has a clearly-crafted “no copyleft shall pass” fence erected on its syscall API.

Re: Apple makes zsh default shell on macOS

#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.

Re: Apple makes zsh default shell on macOS

#40

Earlier quoted context omitted.

> Why are GPLv3 programs able to use syscalls in Linux without infecting the kernel with GPLv3 compliance requirements Shouldn't this be the other way around? The concern would be with non-GPL programs making syscalls and getting infected with a GPLed kernel. The kernel isn't at risk of being infected.

I’m much more paranoid about GPLv3 infecting other code over an API than I am about GPLv2 infecting other code over an API, especially now that Linux has a clearly-crafted “no copyleft shall pass” fence erected on its syscall API.

OK, but how could the kernel possibly get infected? When you publish an API your code doesn't get infected by the viral licenses of anyone who writes code against it. That doesn't make sense.
Post reply on HN