Seriously, if you try to promote freedom and free code, you have to allow people to use it how they want. If you try to define what's allowed and try to get people to do or not to do what YOU want them, you aren't promoting free code. Your code is just as "bad" as proprietary code. True freedom is letting people do what they want, even if they have different values than you.
GPL is like promoting free speech until someone saids something YOU don't like. True freedom is letting people do what they want. That includes making money with the code, or using that code in a larger proprietary code. If you do not allow this you're a hypocrite.
It's backwards thinking and does no good to free and open source movement, as companies won't even be considering using it. GPL alone has created a large problem. It has made companies associate open source with huge legal trouble, and generally will make companies avoid open sourcing and open source code completely just because of GPL. They rather get the easier and guaranteed legally good alternative, which is licensing from other companies like MPEG-LA for H.264 and Microsoft for WP7 and so on.. Yes, it costs money. But when dealing with companies, it's a lot easier for them and solves many troubles that the hypocrites at GPL headquearters have caused for the whole open source movement. This is why I support true open source licenses that allow both free and proprietary use. They are the real free licenses, not GPL, and unless we deal with that hypocricy Microsoft will always win. I'm personally disgusted by this move by Samba team, as they're the ones that try to make it easy to both move away from Windows and integrate with other operating systems. GPL is bad.