I have a question regarding integration of a GPLv3 software into a broader application stack and what I am legally obligated to do under the terms of the license. I browsed the existing threads on StackExchange, but couldn't find a similar usecase. To keep things simple, here is the overall problem:
I am working on a closed-source application prototype that in the future may need to become commerical. Because of this, the IP for the code, as well as the right to its use, need to remain closed. I would like to use a ML algorithm developed by someone else and released under GPLv3. In particular, I would like to provide the inputs and present the outputs within my mobile application. I understand that I cannot distribute the licensed software without releasing its source, so here are my questions:
Questions
If I develop a cloud back-end that handles the requests from my mobile application (which is distributed on AppStore and PlayStore) am I distributing the licensed software that "lives" only on the back-end? In other words, am I required to open-source the source of my entire back-end stack, or, because I am not distributing the GPL-licensed software (but a software that simply calls it), I can simply integrate the algorithm into my back-end without open-sourcing it?
Could I build software that effectively wraps this algorithm into an HTTP API, publish its source code under GPLv3 and then call this API in my application via HTTP without having to open-source my back-end?
What are the other ways I might be missing in which could utilise the algorithm that's licensed by GPLv3 without having to open-source my entire application?
Disclaimer
I looked at a related question which suggests that a "public HTTP API" could be a viable option, but in my case such API does not exist. If I were to build it, would I need to make it publicly accessible (e.g. by running the entire infrastructure behind it), or simply make the source publicly accessible?