Now you’ve set yourself up for a community to grow: core devs you pay, customers that contribute code and help diagnose bugs, customers that pay you only for support, and customers that pay you to do everything.
I did this once, and the support-only customers were the most interesting. They helped locate latent race conditions that only appeared on underpowered hardware, but could happen on over-subscribed machines (like the hosted version), and so much more.
I never got any contributions on the code side, but one guy randomly took over responding to issues without being asked to. By the time I got to them, it would be ready to close or I would have enough information to address it immediately.
If you are going this route, just be aware that companies *will* eventually replace you with a home-grown solution. Even if it takes years. So ask yourself if you want to be the solution everyone goes to, you need an FOSS solution to give people. Otherwise, you’ll be replaced with the other ones, eventually.
IOW, if a company like auth0 were to have an open source server, they’d be killing it everywhere. Five or six years ago. By now, there’s enough free (as in free speech) solutions out there that they will probably never be the default solution, just one that you pay for for a little while until you figure out how or have the time to host your own.
Do you think there's a case where something might have an infinite cost to the consumer but a finite cost to the company? Ie a solution to some recurring problem that, without the software or service the customer would endlessly pay for, but with the software or service would not incur the recurring cost--and in that situation, do you think it would be fair for the company to charge a recurring fee given that it's not costing them to continually develop it? So the customer is saving money compared to before they had the software but it's not supplementing a cost of development?