I've open sourced projects to gain users. In this instance, it made sense because the market for selling services was just as big as the software market. And most companies that needed the software couldn't figure out how to set it up and run it without some training and consulting. At least not effectively. They COULD do it, but we could do it for them better, and much faster.
It was very generalized software with a large audience and a wide user base. There was enough competition from Microsoft, Oracle and IBM that we knew we had a large market, and that going open source would increase the number of users and pace of development.
So we had both commercial licensing and open source licensing, all using the same code. There was no reason to hide any of the code, it wasn't clever or original or better than anything else, it just performed well and was easy to use. And was cheaper to run than any of the competitors.
I don't see any reason to open source the core functionality of your code. If you are having trouble getting customers, giving it away isn't going to improve that situation. You have to compete and win, that's all. Or at least win enough to be successful.