|
|
|
|
|
by floatingatoll
2570 days ago
|
|
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 cost and therefore bash is replaced with zsh. I expect them to warn about removing bash in five or ten years or so. EDIT: Linux is GPLv2 only and does not accept GPLv3 submissions. It is likely that your question can be restated as “Why are GPLv3 programs able to use syscalls in Linux without infecting the kernel with GPLv3 compliance requirements?”, and this is likely due to the clearly declared syscall exception as noted in their licensing docs: https://github.com/torvalds/linux/blob/master/Documentation/... And, Torvalds commented on never-GPLv3 in 2006: https://www.cnet.com/news/torvalds-no-gpl-3-for-linux/ |
|
As far as I understand it, if the GPLv3 clauses would apply, Apple would have to allow anyone to run their own, modified version of macOS on their computer, meaning Apple would need to provide a way for people to circumvent / disable all the secure boot architecture.
Also, things like "Activation Lock", where Apple requires your Apple ID password to re-install the OS (a theft protection feature) doesn't sound like it would be easy to reconcile with GPLv3.