Fabrizio Capobianco, CEO and founder of mobile open-source company Funambol, has posted a great presentation on how to walk the line between cash and community in open source. Teaser? You need both, but the road to getting both is not the same.
The secret, as Capobianco suggests, is to provide compelling, separate value to each group, community and customers (or would-be customers).
Often in the commercial open-source world we talk about finding value to upsell one's existing community. This, in Capobianco's mind, is wrong, and I think there's a lot of truth to that contention.
Once we stop trying to pitch upgrades and such to community members, we remove much of the ambiguity in our open-source product/project strategy, and provide clear differentiation between the "community" product and the "enterprise" product.
For Capobianco, the clearest way to do this is to make one's enterprise product SaaS-based, with the community product remaining an on-premise installation. I generally agree with this approach, but some markets (like mine - ECM) have not bought into SaaS yet, and may not be the right approach...yet.