I would agree that GPL more than anything killed proprietary UNIX. In the 90s, the university I worked at had a large, heterogeneous UNIX environment. We had systemV-ish system, BSD-ish systems, systems with a SysV kernel & BSD userland, BSD kernel & SysV userland, we had odd ones out like OSF-1, NeXt, Irix, etc.
They were all UNIX, but all subtle incompatible in the littlest ways.
- Command line options on text tools like head & tail
- options and output on process listing with ps
- print queue management
- automount behavior
... and more.
They were all basically functionally equivalent, but incompatible. We managed to hide this from the users by building the GNU tools on every platform and present a consistent experience for the users. The GNU tools tried to be as compatible with any other standard that existed and often times tended to be the best-of-breed implementation due to compatibility and standards that discourage arbitrary limits like static buffer sizes. If some other version added a feature that was useful, the new feature would inevitably find it's way into the GNU version was well. UNIX was more flexible than any user needed and the GNU tools were more flexible than the regular UNIX tools.
Eventually the GNU tools became the standard that everyone had to comply with. UNIXes started bundling GNU tools instead of trying to make their stuff compatible. Proprietary compilers would try to implement the more common CLI options of the GNU compiler since all the common source packages targeted GCC, which then targeted every other UNIX & processor imaginable. Eventually, with Linux, there was no need to buy into a proprietary system (or UNIX) to get the best-of-breed UNIX experience.
Of course I now lament that the Open Source community no longer remembers the value of portability, compatibility or flexibility and I expect the heavy use of BSD-like licenses will help Open Core businesses to bring back the pains of "functionally equivalent, but incompatible".