Stories
Slash Boxes
Comments

SoylentNews is people

posted by Fnord666 on Monday June 10 2019, @01:25PM   Printer-friendly
from the fine-print dept.

Submitted via IRC for SoyCow4463

Why does macOS Catalina use Zsh instead of Bash? Licensing

Yesterday, at its WWDC developer conference, Apple unveiled the latest version of the MacOS operating system. Codenamed Catalina, it's a fairly significant update for the platform, not least because of the changes that have taken place under the hood. Take, for example, the default shell, which has been migrated from Bash to Zsh.

Bash has been the primary macOS shell since OS X 10.2 Jaguar. For almost sixteen years, MacOS developers have used it to write scripts and issue commands to the underlying operating system. It's deeply ingrained in how developers work. So, why the sudden change?

In a word: licensing.

[...] Newer versions of Bash are licensed under the GNU General Public License version 3 – or GPLv3 for short. This comes with several restrictions which could potentially have caused a few headaches for Apple further down the line.

Firstly, the GPLv3 include language that prohibits vendors from using GPL-licensed code on systems that prevent third parties from installing their own software. This controversial practice has a name: Tivoization, after the popular TiVo DVR boxes which are based on the Linux kernel, but only run software with an approved digital signature.

Secondly, the GPLv3 includes an explicit patent license. This can be hard to wrap your head around, but in a nutshell, it means that anyone who licenses code under the GPLv3 also explicitly grants a license to any of the associated patents. This isn't a comprehensive licensing deal; it only applies to the extent required to actually use the code.

[...] These two clauses are likely the reason why Apple's increasingly vary[sic] of GPL-licensed software, and is desperately trying to remove it from macOS. Between MacOS 10.5 Leopard and MacOS 10.12 Sierra, the number of GPL-licensed packages that came pre-installed decreased by an insane 66 percent – from 47 to just 16.


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 3, Interesting) by The Mighty Buzzard on Monday June 10 2019, @02:47PM (3 children)

    Licensing would have had nothing to do with it unless they planned on modifying bash itself, which would be entirely unnecessary except in trivial manners that nobody would care about sharing or not. Also, you can write bash scripts all day long, patent them, slap any license you care to on them, and nobody can say a damned thing about it unless you copied (part of) their script to do it. Since neither assertion had anything to do with the functionality of shell itself and it could have had nothing to do with the scripts, this entire FA is fucking stupid.

    --
    My rights don't end where your fear begins.
    Starting Score:    1  point
    Moderation   +1  
       Interesting=1, Total=1
    Extra 'Interesting' Modifier   0  
    Karma-Bonus Modifier   +1  

    Total Score:   3  
  • (Score: 2, Informative) by shrewdsheep on Monday June 10 2019, @03:11PM

    by shrewdsheep (5215) on Monday June 10 2019, @03:11PM (#853709)

    Agreed, in principle. However, the point seems more far reaching. Apple wants to be able to make it more difficult to replicate the system at will. Having the potential to create an incompatible shell to reach compatibility with which would take real effort seems to be what Apple wants. See: gcc/llvm switch, taking Mach non-open source, stepping out of the openstep specification and so on.

  • (Score: 2) by Arik on Monday June 10 2019, @04:02PM

    by Arik (4543) on Monday June 10 2019, @04:02PM (#853735) Journal
    Indeed, I can believe Apple is anti-GPL on principle, but I doubt that spurred this move.

    Apple people have been complaining ever since they switched to BASH, a lot of people liked tcsh better.
    --
    If laughter is the best medicine, who are the best doctors?
  • (Score: 5, Informative) by TheRaven on Monday June 10 2019, @05:17PM

    by TheRaven (270) on Monday June 10 2019, @05:17PM (#853758) Journal
    Distributing GPL'd software unmodified still triggers the patent licensing. If someone puts something in bash that infringes an Apple patent and Apple distributes it, then Apple is granting everyone a license to that patent. This means that, if you want to maintain a defensive patent portfolio, then you have to carefully audit every piece of GPLv3 code that you ship. It's probably fine for a shell (realistically, bash probably doesn't incorporate many things that weren't invented 20+ years ago), but Apple has a blanket policy of not shipping GPLv3 code to avoid this cost. The current version of bash that they ship is from 2007, the last GPLv2 release (with the shellshock fix back-ported, because the authors of the fix were kind enough to release it under GPLv2 or later).
    --
    sudo mod me up