In the end the GPL resolves these issues and enforces stuff. Obviously most companies don't want that for different reasons.
Without GPL, as a company you take the code and if neccessary at some point, you employ somebody to further develop it in house (when maintainer gives up or something).
Why pay and share and give that advantage to your competitors?
The key to open source is when governments develop policies for using open source instead of paying licenses for proprietary software and maybe pressure from customers to companies which use open source software.
But average people don't know and don't care at all about open source ... :(