I'm unclear about how you suggest people make money after giving their software away for free. I've dealt with consultancy in an earlier post.
The term open-source is ambiguous. It's possible to release the source and still charge for the software and have restrictions on its use or distribution, e.g. by having a shared-source licence.
Use of shared-source would mean anyone intending to release their version of the software on a different licence would not only have to rewrite the code from scratch but, to avoid suspicions of plagiarism, take great care that their code bears no resemblance to the source code, which they have already been given.
Finally, I've already pointed out that requiring payment for commercial also buys the developer time, and encourages them to improve the software or develop entirely new software.
The term open-source is ambiguous. It's possible to release the source and still charge for the software and have restrictions on its use or distribution, e.g. by having a shared-source licence.
Use of shared-source would mean anyone intending to release their version of the software on a different licence would not only have to rewrite the code from scratch but, to avoid suspicions of plagiarism, take great care that their code bears no resemblance to the source code, which they have already been given.
Finally, I've already pointed out that requiring payment for commercial also buys the developer time, and encourages them to improve the software or develop entirely new software.