Hi Sam,
I think this is a very interesting area of discussion which affects us all so here is my 2 cents, for what it is worth.
My understanding of the GPL is that you can incorporate GPL code into your project, add value to the code and charge for your work. I don't believe that anyone is suggesting that we should all be so philanthropic that we starve! However, your own code (the value add) should also be distributed under the GPL, which means that it is free to all and, as such, can be copied, modified and redistributed by anyone who feels the need. The upside to this is that we all benefit from our co-operative efforts.
Many companies, including my own, take a slightly different view. It is still based upon the idea that the code should always be distributed freely to anyone who wants it but there is also the understanding that source code on its own is only half the story. Whoever wishes to incorporate it and offer it to a third party will almost certainly (if there is money involved) have to offer to support it, and that is quite a different matter.
For our part (and I know of many companies who operate as we do) we add value to the code (which often costs us a great deal in salaries, test equipment and so forth) yet we still distribute it for free, under the GPL, to anyone who wants to download it. Similarly, our paying customers are not charged for the code. However they are charged for our support and for the extensive documentation we produce to go with the system we deliver (which, by the way, is usually a complete platform comprising both hardware and software). Effectively, this means that we distribute an unsupported "free" version under the GPL and we also offer that same version with a support contract to those who require it. We firmly believe that free distribution is in our interest because we, in turn, will have access to any enhancements which are made to our code by the GPL community, which is, after all what the whole GPL movement is about.
Finally, as the previous commentator suggests, you should check any licensing fees you may have to pay if you are incorporating any code which has been distributed under the lesser GPL. Often these are "free for personal use" but chargeable for corporate or reseller use.
In any event, you should still speak to your lawyer but I believe that so long as you freely distribute your enhancements/modifications under the GPL then you are quite within your rights to charge for your efforts.
Best
Tag
[/i]