| What I write below is based on my real-life experiences.
I had a NoSQL database startup called Scalien for ~4 years.
There was a lot of competition (eg. MongoDB), most of it was opensource, so we were opensource.
This was also in line with my feelings: I'd like my work to reach as many people as possible. You cannot sell opensource software itself directly because it's free.
What you can sell is:
1. 24/7 support
2. Enterprise/proprietary features
3. Consulting/custom development based on your product Problem is, in this business model (called "enterprise opensource software"), you're not getting paid for writing the core software product itself. Your clients expect you (or somebody) to just do that for free.
A more nuanced problem is that those 3 types of revenues only scale linearly: if you want to support 2x as many customers, you will have to hire 2x as many support engineers. Your profit margin will not increase as you add customers. Towards the end of my startup I had a shocking insight. Given the above revenue channels, I should have just tried to be the n+1th Hadoop vendor and screw my own product. That way _I_ don't have to invest my time to work on the core product, which doesn't get me revenue anyway. I can just concentrate on the revenue generating stuff. And Hadoop was already an established opensource project anyway. In the end I didn't do that, because I wanted to have a product company, not a support/consulting/custom development company. And there was already Cloudera et al. The company failed. More generally, there's no good incentive to develop a new opensource product if you want to make money off it. If you try to, you will spend a good deal of your time writing the core product for free, taking on the huge risk of first trying to make it a successful opensource project (not business). Then, if and when it becomes a successful opensource project (a big if), you will split your resources between working on the core product "for free", and the 3 channels above, which will actually make you money. I'm not saying you can't make money. You can, but it's not fun, and it's not working on the core product.
If you also try to write the core product itself (like MongoDB), you're taking on a huge, time-consuming initial risk, unlike in SaaS where you can be lean, learn and iterate with 100 customers. I think SaaS is a great business model, much better than software products.
It's good for opensource, too: SaaS companies opensource tons of software.
For example, I work at Prezi now, and we opensource lots that isn't the core presentation product itself: https://github.com/prezi |
Sorry to hear you didn't make it, but your work will live on now, probably forever or as a part of some other offering, it may be small consolation to you but to me it proves the system worked.