You do realize that you own the copyright to your code and you can license it however you please to businesses?
Yes. I choose to license it as BSD as my first option. If a company really wants GPL'd code I could do that too, but I find BSD is more business friendly. GPL, to a business, might not be as attractive of an option (or even an option at all) depending on what the project is. If it's extending an existing product, GPL might not be a compatible license.
Basically you're saying that businesses are attracted to your code because they can use it for free without compensating you in anyway.
No, I'm not saying that. If they want me to do work, they will pay me for it. After they, they can do what they want with it, and I can continue to do what I want with it. If they decide they love it and want to resell it, they can. I may not help them anymore, or I may charge them.
Developers who own copyright on valuable code might be better off to dual-license the code. Proprietary/GPL. Give your code a life of its own if it is that valuable to you, while at the same time allowing companies who really do value your code to have access to it under terms that are agreeable to you and to their business aims. This idea was related very well by the guy who said he writes code under the GPL because he wants to make money on his code if someone else wants to benefit from it monetarily.
I never once said I worked for free. You can make just as much money off of BSD code as GPL. If I make a piece of code under BSD, it can have a life of its own. I can choose to release it to the world at the same time as I give it to the client. I can keep it all to myself and use it in other projects without fear of anyone complaining. Depends on the code. The only difference GPL or BSD makes is what happens