Another route that some companies go is the dual-license model: you release your product as GPL, and if other companies want to use your code and not GPL it they can pay you for a license. That way you have both an open source community and a revenue stream.
The main issue I see is that in order to work it really requires copyright assignment of all code to the company, and in many cases that's a raw deal for your open source contributors.
The main issue I see is that in order to work it really requires copyright assignment of all code to the company, and in many cases that's a raw deal for your open source contributors.