Free software projects not earning significant donations is exactly the same phenomenon, or an aspect of it, as selling software (regardless of license) being difficult. Most software doesn't sell. Not only is it hard to sell software, it's hard to get people to just download it and try it for free. Most software will not find any users, let alone paying or donating users.