This question already has an answer here:
I am working on a web app that is currently open source (MIT) and I would like to keep it that way. To date it's been a hobby thing but I'd like to be able to spend more time on it (I have a 1 year old) so I'd like to find a way to fold it into the consulting business at which I'm a worker & owner. How do I make the case to my company that this is a worthwhile investment? I'm curious in particular about the open source piece (I know that getting traction with an app is not easy but that's a separate discussion). What if we release the app and it takes off, but then some folks decide they don't want to pay and they set up their own instance?
I understand that there are real costs involved in supporting and maintaining a web app. But support and maintenance are different than funding new feature development, and this is what I'm curious about. Feature dev costs a lot of money. We are not interested in rent-seeking (earning more than the cost of the services we provide plus a modest profit), but we don't want to get undercut and lose our shirt either.
Let's say it legitimately costs $1k/month to just keep the app running and answer customer questions. Then let's say we need to spend $5k/month on feature dev. If we charge our users enough to cover the $1k + $5k + a modest profit, what's to stop someone else from setting up their own instance (open source!), charging just enough to cover the $1k in support costs, and simply slurping up every new release our people push to master?
Is this why folks like GitLab are "open core", but keep certain feature sets proprietary?
How do folks like Discourse, who are totally open source, make it work? In fact I see that there is discoursehosting.com which sells instances starting at $20/mo while Discourse themselves charge $100/mo. Why does anyone pay the $100? I am baffled.