I've been working on an open source search engine for a few years (https://github.com/typesense/typesense) that's far more easier than Elasticsearch for a number of use cases and is a great alternative to Algolia.
I was faced with this same dilemma when I started out: how do I protect future commercial interests without stifling the spirit of open source? Eventually I just chose good old GPL and decided against BSL-like licenses for a number of reasons.
GPL is a fine balance. When you are small, your greatest risk is not an existing or future competitor: it is death by obscurity. To that end, you don't want to slow down adoption by choosing a license that screams "$$$" or makes somebody's legal team uncomfortable. In any case, if a big company wants to copy you, they will and can with the resources they can throw at it.
For anything that should be integrated into the codebase of your customers I'd recommend a weaker license like MIT or BSD, as most companies shy away from integrating GPL libraries into their codebases for fear of contamination.
I think that the '20s are going to be exceptionally exciting for license models. We have our eye on all of these.
With the recent news about things like the TSL (Timescale Licence), BSL (Business Source Licence) maybe?, and other such licences, is there anything that's more general that covers the "you can use this but not sell this-as-a-service" use-case for a broader category? For a contrived example, if I were to make a geolocation-by-IP API as an open-source (source-available?) product, and I wanted to run a business around it, but didn't want a cloud provider to just snag it and offer it unmodified, what licence would I use?