My thinking is that the one-way opening of source code due to the GPL ensures that a company cannot reverse its overall stance on taking an OS open (like Oracle-Sun did with Solaris); and forces it to think in an open-first way (for lack of a better term).
If Solaris source had always been available under the GPL, it would have removed the incentive for Oracle-Sun to sue other people for announcing support for OpenSolaris or RedSolaris, or whatever. Of course they might have done that anyway, but in 2020 they would have been more likely to donate it to the Apache Foundation or something. Or we could have had the competing Solaris Foundation, promoting its Sun-centric technologies like dtrace, zones, and zfs as first-class alternatives to the corresponding Linux technologies.
Obvious disclaimers: Not a lawyer and not necessary good at predicting alternate futures :)
There’s nothing in GPL that prevents or prohibits closing later versions. This is also true for the CDDL. The reason Oracle was able to close Solaris after it had been open is that Sun had required a contributor license agreement that assigned the copyright for your code to Sun before they would accept your changes. This would work even for the GPL.
The CLA is actually what initially prompted the illumos fork even before Oracle closed the gate.
Joyent initially had a CLA on Node.js for business reasons that (as far as I know) everyone in engineering disagreed with. When we were finally able to make Triton (née SmartDataCenter) open source we also eliminated the CLA for node.
We now have contributions from many people under the MPLv2 in Triton, and we are no longer the exclusive copyright holder which means that it is pretty much impossible\* for Samsung to close it again.
* We would have to either rip out all those commits or get every contributor to either relicense or assign copyright to Joyent.
A company that owns its code can release version 1 under the GPL and version 2 under some proprietary license just fine. We actually see this in the recent “commons clause” debacle, where previously free software became proprietary.
If Solaris source had always been available under the GPL, it would have removed the incentive for Oracle-Sun to sue other people for announcing support for OpenSolaris or RedSolaris, or whatever. Of course they might have done that anyway, but in 2020 they would have been more likely to donate it to the Apache Foundation or something. Or we could have had the competing Solaris Foundation, promoting its Sun-centric technologies like dtrace, zones, and zfs as first-class alternatives to the corresponding Linux technologies.
Obvious disclaimers: Not a lawyer and not necessary good at predicting alternate futures :)