I think the best model if you want to both share the code and make money is to offer commercial version with newest features, and open source a version that's a bit behind. As you publish a new version, you open-source the previous commercial version. This is more of a "source available" model because it actively discourages any community code contributions.
It is still not clear to me how to receive money as founder and maintainer on actual open source project, without resentments from contributors that don't get paid. Doesn't seem fair and has potential to turn into big drama.