
Why Does macOS Catalina Use Zsh Instead of Bash? Licensing - sahin-boydas
https://thenextweb.com/dd/2019/06/04/why-does-macos-catalina-use-zsh-instead-of-bash-licensing/
======
kevin_b_er
Apple has made several moves toward tivoization of the desktop line to bring
it in line with the mobile devices.

You can't have a walled garden where all apps must be signed by Apple to run
if the GPLv3 program says you must be able to replace it if you so desire.
Once Apple finishes locking down the desktop against unapproved uses, GPLv3
can't be on it. It is why GPLv3 is already very very banned on their mobile
devices' Apps.

~~~
jillesvangurp
I'd say it's not just Apple that has issues with this particular license. Back
in the day when I was in Nokia and Nokia was still a large Linux contributor,
the legal department was pretty up to speed on licensing because they were
facing real legal threats from their frenemies across the industry. Gplv2 was
seen as a necessary evil (you can't really engage with the Linux community
without it) but it was pretty well understood and there are workarounds where
it matters that are actively used by a lot of companies. Linux with GPLv3
instead of v2 would have been a showstopper for the likes of e.g. Google or
the many others that continue to ship interesting mixes of proprietary stuff
bundled with a Linux kernel; something that gplv3 is explicitly designed to
make hard/impossible.

Even the classpath exception to gplv2, which gets you a free pass for
dynamically linking proprietary code against the standard library for java and
the lack thereof for mobile implementations was pretty significant. Sun was
being stupid and pretty much sealed the faith of J2ME with that. They added
the exception because otherwise they would be forcing the server industry into
using alternate implementations (like Harmony, a project that IBM created to
be less dependent on Sun). They should have done the same for mobile.

J2ME never shipped for meego/maemo and it wasn't for technical reasons (i.e.
trivially easy to install yourself, been there done that). Google went with
IBM's Harmony implementation of the java libraries for the same reason instead
of just using the mainline Java distribution. And once that launched that was
pretty much it for J2ME. Sun stopped developing it; the mobile phone makers
stopped caring about it. The legal implications of that choice are still
relevant nearly 15 years later (i.e. the dispute with Oracle).

Poor choice in licensing is how Sun lost control over mobile Java even before
they sold it to Oracle. And given how important Java has been for the Android
ecosystem, that probably was quite misguided: they invented a great technology
and then just gave away their control and influence over it with a license
designed to achieve the opposite.

As far as I know, most large companies with functioning legal departments
would have similar reservations about licenses like the GPLv3 and sensible
policies about making sure nobody accidentally exposes them to expensive
lawsuits by pulling in some software that comes with a few nasty strings
attached (imagined or real, it doesn't really matter). Whatever your opinion
on this, legal or moral or otherwise, going for licenses like this just cuts
off certain uses and may mean your project gets ignored instead of becoming
widely popular. If that's intentional, fine, but don't throw out the baby with
the bathwater if you don't have to.

------
hexadec
I feel like a useful comparison of shells would be good fodder. I always liked
seeing different _nix distros running unusual shells. It felt like a mirror of
the_ nix desktop world with different features taking precedence.

Someone should create a VM or distro that picks a random shell for every new
terminal window/tab.

[https://en.wikipedia.org/wiki/Comparison_of_command_shells](https://en.wikipedia.org/wiki/Comparison_of_command_shells)

~~~
bjoli
Why a VM? That seems like the ultimate bandwidth abuse. I could whip up a
/bin/sh script that selects one at random from/etc/shells for you that is only
a couple of bytes.

~~~
NikkiA
I presume by 'a VM', OP means something like a pre-built install/appliance so
that there's no need to hunt down and install every esoteric shell that's out
there just to use them for 30s and decide they don't suite their usage.

~~~
hexadec
Yes, it takes some of the excitement away if I have to do it manually. I also
don't want it to be a daily driver, more for hacking about.

------
k__
I tried to get Zsh running on macOS when I got my first Mac 2 years ago. Had
the impression the OS was mostly like Linux with a few quirks, but couldn't
get it running smoothly everywhere.

Good to hear that it's becoming the standard now :)

