Stories
Slash Boxes
Comments

SoylentNews is people

SoylentNews is powered by your submissions, so send in your scoop. Only 16 submissions in the queue.
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.
(1)
  • (Score: 3, Informative) by Anonymous Coward on Monday June 10 2019, @01:37PM (23 children)

    by Anonymous Coward on Monday June 10 2019, @01:37PM (#853669)

    Honestly, zsh is superior to bash in many aspects.

    • (Score: 3, Insightful) by Runaway1956 on Monday June 10 2019, @01:50PM (17 children)

      by Runaway1956 (2926) Subscriber Badge on Monday June 10 2019, @01:50PM (#853672) Journal

      That might have been interesting, if you had elaborated on the reasons and the circumstances in which it might be better. It's not to late to do so!

      --
      “I have become friends with many school shooters” - Tampon Tim Walz
      • (Score: 5, Touché) by RS3 on Monday June 10 2019, @02:15PM (5 children)

        by RS3 (6367) on Monday June 10 2019, @02:15PM (#853682)

        You must be new to Internet discussions. Online, you only need to assert something for it to be true, especially if you post anonymously. And if you respond to the post, you're supposed to keep track of which Anonymous Coward is which, using the same powers and technologies that support the assertions.

        Or maybe they're aliens.

        Welcome, and enjoy your stay! /s

        • (Score: 0, Troll) by Anonymous Coward on Monday June 10 2019, @08:48PM (4 children)

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

          Ah, indeed, you opinion is to be held in much higher regard than mine because I am Anonymous Coward and you are RS3. We can draw great distinction between the two of us because I didn't sign up and post anonymously while you signed up for a "handle" and post anonymously.

          • (Score: 2) by tangomargarine on Monday June 10 2019, @09:24PM (2 children)

            by tangomargarine (667) on Monday June 10 2019, @09:24PM (#853878)

            And yet you still offer no evidence.

            --
            "Is that really true?" "I just spent the last hour telling you to think for yourself! Didn't you hear anything I said?"
            • (Score: 2) by PartTimeZombie on Monday June 10 2019, @10:15PM (1 child)

              by PartTimeZombie (4827) on Monday June 10 2019, @10:15PM (#853918)

              Bash kicked my dog and made unkind comments about my trousers being out of style.

              • (Score: 0) by Anonymous Coward on Tuesday June 11 2019, @04:50AM

                by Anonymous Coward on Tuesday June 11 2019, @04:50AM (#854069)

                That's an improvement. You're starting critiques of Bash. But you have failed to show that zshis better. Until you give me reasons to doubt it, I must assume that zsh is the type to kick your dog, then make unkind comments about your dog's trousers being out of style.

          • (Score: 2) by RS3 on Monday June 10 2019, @09:27PM

            by RS3 (6367) on Monday June 10 2019, @09:27PM (#853880)

            You're showing your stupidity, and my next sentence pointing it out feels like taking candy from a child. See, the difference is, when people here want to have a discussion they can have a continuum when there's consistency in addressing someone by a unique identifier. Most of you ACs just want to come here and make wisecracks (using misspellings, grammar and punctuation mistakes, etc.), thinking you're so super-smart that you have the ultimate statement and that nobody could possibly have a response, rather than have an ongoing conversation.

            For the record, I did not downmod you, but you are both troll and offtopic (as usual).

      • (Score: 3, Informative) by TechieRefugee on Monday June 10 2019, @03:38PM (10 children)

        by TechieRefugee (5665) on Monday June 10 2019, @03:38PM (#853725)
        I just recently started playing with zsh myself and a couple of things I like so far are that rather than printing the entire path to your PWD, it just prints the name of your PWD before the prompt (there might be a setting for disabling this on bash, I dunno; never realized how much it bothered me until I switched to zsh). Tab completion is also much better as well; if you press tab multiple times, it'll cycle between the options available, whereas bash will just print them out over and over again. The best feature in my opinion is command -, where it will give you a short description of what options are available without having to go back to the man page. Performance wise I haven't really noticed much difference between bash and zsh, but I've been enjoying it so far for what it adds over bash.
        • (Score: 3, Informative) by Mike on Monday June 10 2019, @03:59PM (6 children)

          by Mike (823) on Monday June 10 2019, @03:59PM (#853732)

          "... it just prints the name of your PWD before the prompt (there might be a setting for disabling this on bash, I dunno; never realized how much it bothered me until I switched to zsh)."

          The bash prompt is adjustable. IIRC, originally it didn't default to showing the current path at all. But you can pick from a couple defaults or write code for what you want for the prompt to show (mine shows the pwd, but limits what's displayed to a max length). I haven't use zsh much, but I would be shocked if the prompt was not similarly adjustable.

          • (Score: 4, Informative) by NotSanguine on Monday June 10 2019, @04:41PM (3 children)

            The bash prompt is adjustable. IIRC

            Yes, you remember correctly. The prompt I prefer is defined as follows:

            # Define some colors first:
            red='\e[0;31m'
            RED='\e[1;31m'
            blue='\e[0;34m'
            BLUE='\e[1;34m'
            cyan='\e[0;36m'
            CYAN='\e[1;36m'
            green='\e[0;32m'
            GREEN='\e[1;32m'
            NC='\e[0m' # No Color
            yellow='\e[0;33m'
            magenta='\e[0;35m'
            YELLOW='\e[1;33m'
            MAGENTA='\e[1;35m'
            export PS1="[${YELLOW}\u@\H ${BLUE}\t$NC][${blue}\w$NC](${GREEN}\#$NC)\n\$ "

            The variable PS1 is where the rubber meets the road and I end up with:

            [user@host 12:31:56][~](8)
            $

            Where the [~] is PWD and (8) is current command number (cf. $SAVEHIST and $HISTSIZE)

            More details here [ss64.com].

            --
            No, no, you're not thinking; you're just being logical. --Niels Bohr
            • (Score: 0) by Anonymous Coward on Monday June 10 2019, @07:22PM (1 child)

              by Anonymous Coward on Monday June 10 2019, @07:22PM (#853820)

              Colors are nice addition if done right. Around here, one thing we do is change the color of the user and "host" portions of the prompt depending on the logged in user and the hostname and IP address. This prevents some of losing where you are in tmux/screen and where you are logged in. Going to run a destructive test after changing a file in production? better double check that the host isn't red anymore and you are the turquoise test user.

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

                by Anonymous Coward on Monday June 10 2019, @09:40PM (#853901)

                Colors are nice addition if done right. Around here, one thing we do is change the color of the user and "host" portions of the prompt depending on the logged in user and the hostname and IP address. This prevents some of losing where you are in tmux/screen and where you are logged in.

                An excellent use of the tools. I use a different $PS1 for root than I do for a non-privileged user, mostly for the same reasons.

            • (Score: 1, Interesting) by Anonymous Coward on Tuesday June 11 2019, @08:29AM

              by Anonymous Coward on Tuesday June 11 2019, @08:29AM (#854118)

              Mine is:

              export PS1error='$( ret=$? ; test $ret -ne 0 && echo "\[\e[41;93m\][$ret]\[\e[0m\]" )'
              export PS1="$PS1error[\t \u@\[\033[1;33m\]\[\033[1;40m\]\h\[\033[1;0m\]>\W]\\$ "

              You can make the host color different depending on whether it's production, staging, dev, etc.

              Don't think there's much point in having different user colors in my environment.

          • (Score: 5, Informative) by Thexalon on Monday June 10 2019, @05:00PM

            by Thexalon (636) on Monday June 10 2019, @05:00PM (#853752)

            The bash prompt is indeed very customizable, and you can make that the default if you change your .bash_profile (or system-wide in /etc/profile and a few other places). For example, this will put your current path in brackets into the bash prompt:

            PS1="[ \w ] $"

            A slightly more complex example can be found in Beyond Linux from Scratch [linuxfromscratch.org]: Those prompts change colors and such if you're root or a regular user, which can help avoid mistakes like "Whoops, I removed /etc". If you're interested in the ins and outs of a Linux system, doing an LFS build is extremely educational.

            --
            "Think of how stupid the average person is. Then realize half of 'em are stupider than that." - George Carlin
          • (Score: -1, Offtopic) by Anonymous Coward on Monday June 10 2019, @08:59PM

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

            "The bash prompt is adjustable"

            everything gnu is adjustable. and adjustable. and adjustable. no time to get anything done, gotta adjust.

        • (Score: 2) by TheRaven on Monday June 10 2019, @05:13PM (2 children)

          by TheRaven (270) on Monday June 10 2019, @05:13PM (#853757) Journal
          It's been a while since I looked at zsh, but I remember two features that were particularly nice (not sure if they're in recent bash):
          • The ** glob recursively expands directories and replaces a lot of find | xargs uses. For example, **/*.h will find all header files in a directory tree.
          • Global aliases work like aliases but can be expanded anywhere in the command line. This is useful if you have some things that go on the end of a pipeline that you often use.

          There were also some silly things, like a Tetris game implemented in zsh...

          --
          sudo mod me up
          • (Score: 1, Informative) by Anonymous Coward on Monday June 10 2019, @09:05PM

            by Anonymous Coward on Monday June 10 2019, @09:05PM (#853868)

            Bash (readline) has double asterisk too, added with v4. "shopt globstar" to check status (default is off, IIRC). shopt -s to set, or -u to unset.
            For alias expansion, I guess what you mean and need is alias-expand-line, not bind to anything by default.

          • (Score: 2) by boltronics on Tuesday June 11 2019, @03:12AM

            by boltronics (580) on Tuesday June 11 2019, @03:12AM (#854046) Homepage Journal

            I've never used zsh (never had a need, never liked the license), but It sounds like global aliases behave effectively the same as functions in Bash do. eg.


            $ function reverse { tr '[A-Za-z]' '[a-zA-Z]' ; }
            $ echo Hello | reverse
            hELLO


            $ function me { echo boltron ; }
            $ who | grep $(me)
            boltron tty7 2019-05-27 09:00 (:0)

            --
            It's GNU/Linux dammit!
    • (Score: 2) by RS3 on Monday June 10 2019, @04:00PM (3 children)

      by RS3 (6367) on Monday June 10 2019, @04:00PM (#853733)

      So are csh / tcsh, some like ksh, Plan 9 shell, etc. It partly depends on what you like and are used to.

      csh supports more programming functionality for advanced scripting, and zsh combines aspects of most of them. You can have bash as your CLI, but still have zsh, csh, tcsh, etc., all installed, and if a script needs the support it'll run in the appropriate interpreter.

      • (Score: 3, Informative) by NotSanguine on Tuesday June 11 2019, @04:24AM (2 children)

        It partly depends on what you like and are used to.

        Absolutely.

        I used ksh a lot when I was adminning AIX boxen and (t)csh when adminning Sun boxen.

        I will say that I much preferred tcsh [wikipedia.org] over csh, as tcsh it has a command completion and command-line editing, and csh does not. However, both are inferior to Bash or ksh, especially for scripting.

        I now mostly just use Bash, because it's there and it works nicely.

        Offtopic: saying that "it's there" reminded me of this. And you're welcome:

        One of the questions that comes up all the time is: How enthusiastic is our support for UNIX?

        Unix was written on our machines and for our machines many years ago. Today, much of UNIX being done is done on our machines. Ten percent of our VAXs are going for UNIX use.

        UNIX is a simple language, easy to understand, easy to get started with. It's great for students, great for somewhat casual users, and it's great for interchanging programs between different machines.

        And so, because of its popularity in these markets, we support it. We have good UNIX on VAX and good UNIX on PDP-11s.

        It is our belief, however, that serious professional users will run out of things they can do with UNIX. They'll want a real system and will end up doing VMS when they get to be serious about programming.

        With UNIX, if you're looking for something, you can easily and quickly check that small manual and find out that it's not there.

        With VMS, no matter what you look for -- it's literally a five-foot shelf of documentation -- if you look long enough it's there.

        That's the difference -- the beauty of UNIX is it's simple; and the beauty of VMS is that it's all there.

        -- Ken Olsen, president of DEC, DECWORLD Vol. 8 No. 5, 1984
        [It's been argued that the beauty of UNIX is the same as the beauty of Ken Olsen's brain. Ed.]

        --
        No, no, you're not thinking; you're just being logical. --Niels Bohr
        • (Score: 2) by RS3 on Tuesday June 11 2019, @05:53AM (1 child)

          by RS3 (6367) on Tuesday June 11 2019, @05:53AM (#854087)

          > I now mostly just use Bash, because it's there and it works nicely.

          Yeah, same here. Most of my *nix experience is with Linux, although I had (and still have somewhere) MS Xenix- maybe ksh is the default? Far too many years. Back in the day at my ISP I had logins- it was SunOS or Solaris- I don't remember. I wanted to learn *nix so much I bought Coherent. Barely played with it when I got my first SLS Linux and haven't looked back.

          I did have PDP-11 and VAX VMS logins at college, mostly to run engineering software. We had VM/CMS for the IBM mainframe. And JCL. So very IBM, or at least I associate it with IBM.

          Thanks for that DECWORLD quote. Subtly cutting on Unix, but probably true at the time.

          • (Score: 3, Interesting) by NotSanguine on Tuesday June 11 2019, @06:34AM

            My first Linux was Yggdrasil back in '92/'93. It was fun and, compared to today's distros, quite bare bones. Although I did reformat the wrong hard drive when installing it. Good times!

            Although at the time I was managing SunOS 4.11 boxes for a living and then moved on to manage SunOS 4.1.3/4.1.4 and AIX 3/4 boxes.

            I played around with Linux at home, but didn't use it in production environments until the late 2000s.

            My dad was a statistician and had PDPs and Vaxen running RSX/11M and VMS 4 and 5 respectively. This was back in the 80s and a 300MB disk was 2x1x0.25m. And heavy. Like 40kg heavy.

            I have to say that VMS was quite stable and robust. And if you put the time and money into it, incredibly resilient -- even in the 1980s. Not AS/400 resilient, but not too many systems were at that time.

            I always found that Ken Olsen quote to be hilarious. Not because it wasn't true in 1984 (VMS was already a mature product then), but because of what happened in the 1990s and later.

            Then again, Ultrix [wikipedia.org] was my least favorite flavor of Unix, well except for HP/UX [wikipedia.org], which I managed for a year or so. I didn't mention it earlier as I try hard to forget.

            --
            No, no, you're not thinking; you're just being logical. --Niels Bohr
    • (Score: 0) by Anonymous Coward on Tuesday June 11 2019, @01:28PM

      by Anonymous Coward on Tuesday June 11 2019, @01:28PM (#854191)

      Is it very different syntactically from bash? if so, expect many confused macos users who try unixisms and bashisms on their new version.

  • (Score: 4, Informative) by Anonymous Coward on Monday June 10 2019, @01:53PM

    by Anonymous Coward on Monday June 10 2019, @01:53PM (#853673)
  • (Score: 4, Interesting) by loic on Monday June 10 2019, @02:20PM (8 children)

    by loic (5844) on Monday June 10 2019, @02:20PM (#853683)

    ZSH is definitely the best interactive shell if you own the machine and you are the only user/administrator. In any other case, ie. scripting for enterprise servers, it is bad.
    It has great capabilities for scripting but these are offset by the configuration possibilities and you like a programming shell to have nice defaults, not ask user for his preferences. So bash or even raw bourne shell have never been dethroned for real sysadmin scripting, even if python 2.6 is now a great option, with widespread availability.

    • (Score: 1, Insightful) by Anonymous Coward on Monday June 10 2019, @02:40PM

      by Anonymous Coward on Monday June 10 2019, @02:40PM (#853692)

      Much the reason why DOS batch scripting still happens. PowerHell is taking over slowly.

    • (Score: 3, Interesting) by Thexalon on Monday June 10 2019, @05:07PM (1 child)

      by Thexalon (636) on Monday June 10 2019, @05:07PM (#853755)

      Of course, if zsh respects the "#!/bin/bash" at the top of those scripts, and you install bash alongside zsh, it is less of a problem, ...

      unless of course your admins wrote "#!/bin/sh" and just assumed that "sh" always pointed to "bash".

      --
      "Think of how stupid the average person is. Then realize half of 'em are stupider than that." - George Carlin
      • (Score: 2) by coolgopher on Tuesday June 11 2019, @01:53AM

        by coolgopher (1157) on Tuesday June 11 2019, @01:53AM (#854016)

        Anyone who's worked with a Debian derived system should've learned that if you don't want pain you #!/bin/bash, as /bin/sh is normally /bin/dash. And /bin/dash is just a Dastardly Abnormal Sh*t Hole for all it's claimed POSIX compliance (though I admit I no longer remember what it is it gets so wrong, even when you're adhering to standard Bourne shell features).

        Seriously, one of the first things I do on any new install is to avoid some serious head scratching down the track is to:
        sudo dpkg --reconfigure dash
        # and answer "No", but only because "sudo apt-get purge dash" makes a Debian derived system Very Unhappy

    • (Score: 5, Insightful) by TheRaven on Monday June 10 2019, @05:20PM (3 children)

      by TheRaven (270) on Monday June 10 2019, @05:20PM (#853760) Journal
      If you're writing scripts for deployment on multiple systems, you should be using POSIX shell and #!/bin/sh, not anything specific to bash, zsh, dash, or whatever your favourite interactive shell is. Anything that stops people relying on bashisms for portable UNIX software is a big win.
      --
      sudo mod me up
      • (Score: 0) by Anonymous Coward on Monday June 10 2019, @11:41PM

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

        If you're writing scripts for deployment on multiple systems, you should be using POSIX shell and #!/bin/sh, not anything specific to bash, zsh, dash, or whatever your favourite interactive shell is. Anything that stops people relying on bashisms for portable UNIX software is a big win.

        I write scripts for deployment on multiple systems under the assumption they're all running bash. When that assumption proves false, I calmly advise the afflicted to install bash rather than bother me about fixing something that isn't broken on my end.

        The fewer people using my scripts, the better. When the last one stops I can finally stop maintaining them and go back to beekeeping for a hobby.

      • (Score: 1, Interesting) by Anonymous Coward on Tuesday June 11 2019, @09:01AM (1 child)

        by Anonymous Coward on Tuesday June 11 2019, @09:01AM (#854125)

        When I'm writing scripts for deployment on multiple systems I use perl.

        For me it's more painful to write anything that's nontrivial in sh than perl - e.g. handling exceptions, signals, timeouts, logging, etc.

        Note: I'm not saying it's impossible, but that it actually works out far worse than doing it in perl even though perl is infamous for being unreadable to many people, etc.

        perl is installed by default on AIX, Solaris, most Linux distros, most BSDs, MacOS/OS X, even HP/UX.

        Since perl is so old, the differences in the preinstalled perl are usually insignificant in practice. For most cross platform scripts you wouldn't be using nor needing any bleeding edge perlisms (whatever they are). That leaves you with more time to wrestle with the far bigger differences of the OSes.

        In contrast if you used shit like POSIX sh, you'd be working around the crappiness of sh all the time.

        • (Score: 3, Funny) by The Mighty Buzzard on Tuesday June 11 2019, @12:04PM

          Dumbasses who don't know what they're doing being afraid to touch perl is a feature not a bug. It means they're slightly less likely to break shit with their unfounded confidence in their abilities than if you write it in python.

          --
          My rights don't end where your fear begins.
    • (Score: 0) by Anonymous Coward on Tuesday June 11 2019, @09:21PM

      by Anonymous Coward on Tuesday June 11 2019, @09:21PM (#854384)

      fish is even better if you don't need /bin/sh compatibility.
      It's like a fast zsh with a sane language

  • (Score: 2) by Muad'Dave on Monday June 10 2019, @02:22PM (5 children)

    by Muad'Dave (1413) on Monday June 10 2019, @02:22PM (#853685)

    > ... Apple's increasingly vary ...

    I think you mean 'wary'.

    • (Score: 0) by Anonymous Coward on Monday June 10 2019, @02:38PM (4 children)

      by Anonymous Coward on Monday June 10 2019, @02:38PM (#853690)

      Kids these days and their autocorrect...

      When I was your age, we always wrote using a heavy dead-tree brick called a dictionnary, in the dark, and without glasses.

      Oh, and we always wrote uphill and facing the wind too !

      Now get off my lawn !

      • (Score: 2, Funny) by Anonymous Coward on Monday June 10 2019, @03:20PM

        by Anonymous Coward on Monday June 10 2019, @03:20PM (#853715)

        When I was your age, we always wrote using a heavy dead-tree brick called a dictionnary, in the dark, and without glasses.

        Oh the ironing! Intersectional or not. :)

      • (Score: 3, Funny) by DannyB on Monday June 10 2019, @06:14PM (1 child)

        by DannyB (5839) Subscriber Badge on Monday June 10 2019, @06:14PM (#853777) Journal

        The method I chews is to sleep with a dictionary. I fined that I tend two absorb the speling by osmosis. Better than speling lessens. It blue my mined how vary much it effected my spelling. Now I can flecks my speling mussels awl the thyme.

        Now I use a pare of dictionaries with won under my feat. But they are inconvenient win it is time for sects.

        Try it yule like it.

        --
        The Centauri traded Earth jump gate technology in exchange for our superior hair mousse formulas.
      • (Score: 0) by Anonymous Coward on Monday June 10 2019, @09:20PM

        by Anonymous Coward on Monday June 10 2019, @09:20PM (#853874)

        or we just took one damn minute to proofread things manually before submitting them

  • (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.
    • (Score: 2, Informative) by shrewdsheep on Monday June 10 2019, @03:11PM

      by shrewdsheep (5215) Subscriber Badge 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
  • (Score: 5, Informative) by choose another one on Monday June 10 2019, @02:58PM (10 children)

    by choose another one (515) on Monday June 10 2019, @02:58PM (#853699)

    Apple's aversion to GPLv3 is well known, and very possibly well founded*, they've been refusing to put new GPLv3 stuff in for years so phasing out of older dated GPLv2 stuff is natural and expected - in fact I'm surprised it took that long (it's years since I've spent enough time on MacOS to actually use the shell).

    *Personally I gave up** on GPLv3, I cannot understand (without engaging a lawyer) the full consequences _on_ _me_ of the patent clause, and I cannot understand why the Tivoisation clause is subject to a field-of-use restriction (to "consumer products") when the FSF have been so against such restrictions in the past. If the 3/4 Freedoms are to be protected and Tivoisation violates them, then prohibit it, otherwise don't, I don't see how it can be prohibited in some fields-of-use and not in others - smacks of "All animals are equal, but some animals are more equal than others" (and the "more equal" are big businesses). Plus GPLv3 is just too damned long and complex, v2 was on the verge of being too-long but the effort to read and parse was justified by its effect in encouraging doing right by the community. In contrast v3 (the actual terms) is over twice as long and not discernibly better at anything other than stirring up controversy exacerbating licence-compatibility problems and turning people i in licensing terms it's tl;du; - too-long didn't-use.

    **And yes I did participate and give feedback in the consultation process before giving up

    • (Score: 4, Interesting) by Immerman on Monday June 10 2019, @03:13PM (2 children)

      by Immerman (3985) on Monday June 10 2019, @03:13PM (#853711)

      On restricting the Tivoisation clause to consumer products, I recall a major argument being things like medical hardware such as CAT-scan machines, IV medicine dispensers, etc., that can easily kill you and require extensive testing before certification. Requiring signed binaries is a great way to severely restrict the malware attack vectors on such devices, as well as preventing doctors from installing improperly tested profit-enhancing software on their machine, which may then kill someone and have the original software restored to hide the true cause and shift massive liability to the manufacturer.

      • (Score: 1) by shrewdsheep on Monday June 10 2019, @03:21PM (1 child)

        by shrewdsheep (5215) Subscriber Badge on Monday June 10 2019, @03:21PM (#853718)

        That could be easily solved by a chained signing procedure (like what is the reality of Linux secure boot): binaries must be signed, but you can install additional keys by a more involved/physical procedure. For example, the medical devices could come with a sealed box containing a USB-key that can be booted to install additional keys. Make the provision of such a USB-key on demand and you have all the freedoms plus all the security.

        • (Score: 2) by Immerman on Tuesday June 11 2019, @03:28AM

          by Immerman (3985) on Tuesday June 11 2019, @03:28AM (#854052)

          Yep. And doctors can still dodge liability for recklessness or cost-cutting. You've got a situation where the device is only legal to operate when running the *exact* software that it was tested and certified with, so where's the benefit of allowing the software to be changed, that outweighs the associated risks?

          It's one thing to get a "super key" for your home PC or other consumer device - but in a hospital? How many people will inevitably have access to that key at some point? Do you have a separate key for every CAT-scanner, or will an attacker that gets their hands on one gain access to every machine of that model? How much damage could someone do, without ever leaving a trail that would point to them? And what other attack vectors do you open by making it possible to boot from USB?

    • (Score: 2, Interesting) by fustakrakich on Monday June 10 2019, @04:01PM (1 child)

      by fustakrakich (6150) on Monday June 10 2019, @04:01PM (#853734) Journal

      In contrast v3 (the actual terms) is over twice as long and not discernibly better at anything other than stirring up controversy exacerbating licence-compatibility problems and turning people i in licensing terms it's tl;du; - too-long didn't-use.

      Are you saying that v3 is the systemd of GPL?

      --
      La politica e i criminali sono la stessa cosa..
    • (Score: 2) by DannyB on Monday June 10 2019, @06:19PM

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

      I could read and understand GPLv2.

      GPLv3 is difficult to impossible to understand.

      And even worse is LGPLv3. It $INCLUDEs the entire GPLv3 into it before adding even more text.

      There are other, even moderately long, open source licenses that I can read and comprehend.

      --
      The Centauri traded Earth jump gate technology in exchange for our superior hair mousse formulas.
    • (Score: 2) by nishi.b on Monday June 10 2019, @06:52PM (3 children)

      by nishi.b (4243) on Monday June 10 2019, @06:52PM (#853806)

      The explanation I read years ago was that the GPL 2 was beeing abused in the following way: a company uses a GPL software and modifies it. As long as it is not distributed, they do not have to distribute their modifications to the source code. Some companies then argued that they created appliances or services on servers but they did not commercialize the software (i.e. on a computer) but an appliance, so the software was still "internal" to the company and they did not have to share the changes. Basically they were denying that selling an appliance using GPL code was equivalent to distributing the software, thus freeing them from GPL obligation to share the code (i.e. equivalent to a BSD license). GPL 3 was supposed to close this loophole.

      • (Score: 1, Informative) by Anonymous Coward on Monday June 10 2019, @07:03PM

        by Anonymous Coward on Monday June 10 2019, @07:03PM (#853813)

        it sounds like you are describing the AGPL, not just GPLv3.

      • (Score: 2) by Immerman on Tuesday June 11 2019, @03:35AM (1 child)

        by Immerman (3985) on Tuesday June 11 2019, @03:35AM (#854055)

        I think it was more just that so long as the software never left their servers, they were in compliance with GPLv2, even when they provided remote access to that software. So long as they only distributed access and not the software itself, they didn't trigger the distribution clause.

        There was also Tivoization - where they distributed the software and source in full compliance with GPLv2, but locked the hardware so that it couldn't run your modified software. Maybe not such a big deal for minor appliances (though still a slap in the face of the spirit of the license), but a dangerous trend in a world being overtaken by smartphones, tablets, chromebooks, and other locked-down appliances. And yes, I know, many such devices can be unlocked - the GPLv3 just says that if it *can't* be unlocked, then you can't include the licensed software on it

        • (Score: 0) by Anonymous Coward on Tuesday June 11 2019, @09:27AM

          by Anonymous Coward on Tuesday June 11 2019, @09:27AM (#854135)

          I think it was more just that so long as the software never left their servers, they were in compliance with GPLv2, even when they provided remote access to that software. So long as they only distributed access and not the software itself, they didn't trigger the distribution clause.

          From my understanding, this is still the case with GPLv3; it's only the Affero GPL that requires code on the server to be disclosed.

          But then, IANAL, nor am I an FSF member, so I might be wrong on that (since up to now I never set up a public server, I never needed to care about this).

  • (Score: 5, Interesting) by hemocyanin on Monday June 10 2019, @03:18PM (5 children)

    by hemocyanin (186) on Monday June 10 2019, @03:18PM (#853713) Journal

    I've been using OSX for probably 12 years or so on laptops and Linux on my desktop since 2000. I had always like my Macs until everything after Snow Leopard. Since then, they just have gotten harder and harder to use and the interface less and less convenient. One example, the maximize button now makes a window full screen and hides the menu bar. That makes it hard to use (and for some programs impossible). There appears to be no way to go back to standard behavior and so instead of having a nice easy one-click method to make a window big, like I get with Linux, I have to manually grab edges and move them around. Why? What millionaire executive made that brain dead decision? At one point OSX suddenly and silently decided to change the direction of scrolling so that when you pull the wheel toward you -- scroll down -- instead of going to the bottom of a page you go to the top. Why should I have to do an internet search to figure out how to fix that -- at least it was fixable. Or the way multiple desktops are handled -- there's a new method that is so bad and hard to use I can't even keep in my brain the details of the assbackward interface to describe it. I broke down and paid for a program to make it behave logically.

    I have an old mac I use to run my 3D printer -- when I accidentally allowed it to update I gave up and just put Linux Mint on it. So much better. Anyway, the last Powerbook I bought is my last Mac.

    • (Score: 2) by Alfred on Monday June 10 2019, @08:40PM (4 children)

      by Alfred (4006) on Monday June 10 2019, @08:40PM (#853853) Journal
      My Man..
      ,br> I hate that maximize problem. I use spectacle for window management which has a real full screen action. Natural scrolling gets me every time, but at least they give you a system preferences setting for it.

      They have been going downhill for a while but its not as bad as windows thought the gap is shrinking.

      I don't think you are running snow leopard on that PowerBook which you don't explicitly state but you give yourself an aire of fabrication in your comment by lack of detail.
      • (Score: 2) by hemocyanin on Monday June 10 2019, @09:32PM

        by hemocyanin (186) on Monday June 10 2019, @09:32PM (#853891) Journal

        I am not running snow leopard any longer, it was EOLed some time ago. I was just saying that snow leopard was the last version I liked. I don't even pay attention the names any more. I'm running various versions of $someMountain on each of my machines. With the machine I have connected to my CNC I was forced into an "upgrade" due to some software requirements. With the one connected to the 3D printer, I dusted that off from a closet when I set it up. I just remember a year or so later "upgrading" to a newer version somehow and my memory of that was that I didn't intend to -- probably a PEBCAC situation -- and being really non-plussed with how sluggish and unusable the machine was afterward. I've been totally satisfied with Mint on it (though to be fair, all it does is receive files over ssh, run a slicer, and feed gcode to a printer -- I don't do any actual work on it).

      • (Score: 2) by hemocyanin on Monday June 10 2019, @09:32PM (1 child)

        by hemocyanin (186) on Monday June 10 2019, @09:32PM (#853892) Journal

        Oh -- and thank you for spectacle!

        • (Score: 2) by Alfred on Tuesday June 11 2019, @05:11PM

          by Alfred (4006) on Tuesday June 11 2019, @05:11PM (#854268) Journal
          I loved expose but now they flipped it on its head with mission control. As far as stock window management I think Win10 has caught up because apple gave up their lead. You can show desktop if you jump through hoops for it. I think I have it as mouse button 5 or something.
      • (Score: 2) by ragequit on Tuesday June 11 2019, @12:24PM

        by ragequit (44) on Tuesday June 11 2019, @12:24PM (#854157) Journal

        Magnet also.
        16 different windowing shortcuts, including halves, thirds, and quarters of the screen.

        --
        The above views are fabricated for your reading pleasure.
  • (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.

    --
    The Centauri traded Earth jump gate technology in exchange for our superior hair mousse formulas.
    • (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.

(1)