6 ms·
This isn't going to fix the fact that they are shipping a 12 years old version of bash. How many scripts with `#!/usr/bin/env bash` are there out there? Bash i
by zimbatm 7y ago
This isn't going to fix the fact that they are shipping a 12 years old version of bash. How many scripts with `#!/usr/bin/env bash` are there out there?
Bash is the least worst language for bootstrapping since the alternative is POSIX shell which is even more difficult to get right.
The biggest issue is that Bash 3.x arrays don't work well with `set -u`.
- floatingatoll 7y agoBash went GPLv3. Apple will never ship GPLv3. Persuade bash to relicense and they might consider it. Otherwise, goodbye bash.
- oauea 7y agoNothing 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.
- jakobegger 7y ago> Nothing wrong with GPL3 > ... > petty licensing concerns Apple's lawyers probably think different. You can install all the GPLv3 software you want on your Mac (Macports and homebrew make it easy). But Apple made it clear that they are not going to ship anything GPLv3 licensed.
- machz 7y ago> 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.
- Theodores 7y agoI 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?
- floatingatoll 7y agoApple 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/process/license-rules.rst 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/ https://www.cnet.com/news/torvalds-no-gpl-3-for-linux/
- stOneskull 7y agocool. there's the answer. is the bash on current systems using GPLv2?
- floatingatoll 7y agoYes.
- jakobegger 7y agoI 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 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.