Free software is doing well, yes. Businesses built-around free software, not so much. The list of successful companies based on fully FOSS software can practically be counted on one hand. Most of the time, the product may be very successful, but the company is really struggling.
A lot of OSS development is now done by companies who don't care that much about the software, because their revenue is totally independent. Netflix, Uber, Microsoft, etc.
Or it's open-core like Redis and Gitlab, with paid proprietary bits. Or "open source" with anti-service-provider licenses like MongoDB, Elastic, Redis.
I thought copyleft licensing has been steadily losing share to permissive licensing for a long time, with no end in sight. Can you point to information indicating otherwise?
The Linux kernel itself keeps going from success to success, but that seems to be the last major copyleft bastion, and they also somewhat famously rejected GPLv3.
I think this is true, with the MIT license being the most popular.
From Linus[1] on the topic of GPLv3, he chose GPLv2 as it was the best choice for doing kernel development - giving code and getting code back in return. One of his gripes about GPLv3, IIRC, was the 'Tivoization'[2] additions. He felt it was going too far the other way.
Furthermore, unlike many other projects, Linux is not licensed GPLv2 or later and doesn't have copyright assignment. This makes changing the license unilaterally at least problematic. Not necessarily impossible but, at least some would argue the permission of all the contributors would be required which would be basically impossible.
Yes, Linus himself mentioned they'd all need to be contacted and agree. He also said he saw the GPLv3 draft and so it was an early and conscious decision to not have a 'GPLv2 or later' license.
There were differences of opinion at the time. Eben Moglen said something to the effect that it could probably be relicensed on the theory that its history suggested it could be treated as a collective work. But it would have been controversial and Linus didn't want to anyway so discussions never went further than that.
Really scripts should avoid called `cd` or `pushd`/`popd` wherever possible. It's a lot better to just work with absolute directories, i.e. as someone else pointed out:
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"