I submit my code contributions, for free, because I am participating in a collaborative community effort called an Open Source Project. I do not typically contribute to the proprietary codebases of for-profit companies for free; I have a contractor rate for that.
If you say 'that makes it untenable for me to accept your contributions for free, then relicense to proprietary keeping those contributions', well, that's your problem. I don't particularly care about arranging tenable circumstances for you to sell my work under a proprietary license without paying me.
The way you accept external contributions for software without a CLA grant is by not attempting to take the project proprietary, and keeping the open source arrangement forever. I do not see how you could be confused about an open source project staying open source forever while taking open-source-only contributions. That is what almost all open source projects do.
If you say 'that makes it untenable for me to accept your contributions for free, then relicense to proprietary keeping those contributions', well, that's your problem. I don't particularly care about arranging tenable circumstances for you to sell my work under a proprietary license without paying me.
The way you accept external contributions for software without a CLA grant is by not attempting to take the project proprietary, and keeping the open source arrangement forever. I do not see how you could be confused about an open source project staying open source forever while taking open-source-only contributions. That is what almost all open source projects do.