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: 2) by DannyB on Monday June 10 2019, @07:19PM (3 children)

    by DannyB (5839) Subscriber Badge on Monday June 10 2019, @07:19PM (#853818) Journal

    Shirley Apple is not preventing a developer from installing bash themselves.

    Of course, that still has a problem if you want to write scripts to run on someone else's machine.

    --
    To transfer files: right-click on file, pick Copy. Unplug mouse, plug mouse into other computer. Right-click, paste.
    Starting Score:    1  point
    Karma-Bonus Modifier   +1  

    Total Score:   2  
  • (Score: -1, Redundant) by Anonymous Coward on Monday June 10 2019, @08:57PM (1 child)

    by Anonymous Coward on Monday June 10 2019, @08:57PM (#853862)

    That is an option, and stop calling me Shirley Apple. I am AC, hear me roar.

    • (Score: 0) by Anonymous Coward on Monday June 10 2019, @11:16PM

      by Anonymous Coward on Monday June 10 2019, @11:16PM (#853961)

      I am AC, hear me roar.

      Apple cunt.

  • (Score: 3, Informative) by theluggage on Tuesday June 11 2019, @12:32PM

    by theluggage (1797) on Tuesday June 11 2019, @12:32PM (#854162)

    Shirley Apple is not preventing a developer from installing bash themselves.

    They're just changing the default. Bash will still be available [theverge.com] - although it might be removed in future versions.

    Of course, that still has a problem if you want to write scripts to run on someone else's machine.

    Not really because (a) zsh is already available in MacOS, so just put a zsh shebang on the top of your script and you should be good to go (b) if you're writing scripts for distribution you should probably be sticking to bash/sh compatibility anyway. As far as I can see, most of the advantages of zsh are for interactive use.