This is why many of us feel it is important to support Free Software instead of Open Source Software. Freedom - and preserving a free development environment for General Purpose Computers - is a far more important goal.
> GPL basically ensures that most developers of commercial software have to stay away from it
That's not the GPL's fault, proven by the fact that there are commercial software companies that sell GPL software.
There are reasons to not use GPL, but you don't want to follow the community's rules, you don't get to steal their work. Nothing is free; either pay the price the community sets (follow the GPL), or negotiate another license from the authors.
> very large companies prefer the open source approach
Yes, they prefer being able to take code for free without any ethical obligation to give back, a very narcissistic attitude. This meme that the GPL is "bad" or "less-free" is just a cheap excuse to try to get free code.
> exclude them from any non-open use
They only have to open the code associated with someone else's GPL code they are using. Depending on what you're writing, this code can be isolated so you only need to open the source to that particular program. If you're linking to an LGPL library, it's even easier.