As far as I can see it, there's no problem using the GPL in commercial enviroments (ala Red Hat), but even if I don't take the legal trickery route, and release my commercial software under a FLOSS licence:
- If I BSD/MIT it, a competitor could easily "borrow" my code, plunk it under a properitary licence, and they'd get profit off my work
-If I GPL it, my competitior can still "borrow", but if he wants to sell it, he has to share his source code et all.
Personally, for everything but trival code (which becomes beerware ;)), I GPL it. I might have to reconsider when v3 comes (I support Linus' view on the GPLv3 issue), but at the moment GPL works for me for the following reasons:
-Easy to understand (well known)
-Protects the code and the users