Open Source software is a great idea. But if you want to build a business around it and have people working on it fulltime, you need to get some cashflow somehow. Here are THREE ways to do this:-
1. Have a product that will generate lots of support/enhancement requests (like an CRM system). This is a great model if your product fits (especially if it needs to be customised for each customer). For a lot of products, people will just use it if it works and go elsewhere if it does not so it is not a viable model.
2. Have a single product under a restrictive FREE license or a commercial license so some customers will need to upgrade. This is the model used by MySQL and our friends at IText. It also has the attraction that all users can benefit from all the features and that users who are generating revenue from their activities are contributing back towards the development costs.
3. Have a free version and an enhanced commercial version with more features. The challenge here is to get the right balance. You want as many features as possible in the Open Source version while giving enough users reasons to upgrade. This is the model we use.
If you are interested in Open Source, you can read other articles here.
All these models are essentially freemium models. Can you suggest any other ways?