that mainly comes from greedy corporations that exploit free resources for their own gain.
i give away my software for free to give back to the community that gives me tons of other free software and to get feedback and patches. if i were to sell it, that would just not happen because we would all compete on price.
and because i can't tell the difference between individual FOSS users and large corporations when the software gets downloaded i can't force corporations to pay. nor can i make a license that forces payment from a select group because that would not longer be FOSS.
code quality on average should be on par with closed source software, if not a little bit better because developers know that their code will be public.
if FOSS would cost the same, source access would still be a factor, whereas code quality would not really matter because it can't be inspected for closed source anyways.
the downside would be a smaller pool of FOSS developers since less people would be able to afford to pay. but actually not that much. if a linux distribution cost the equivalent of a windows license, most people would still be able to afford it. the challenge is rather all the additional applications.
for a more realistic comparison look at freeware. it costs the same as FOSS but the only really popular freeware out there was the netscape browser and what, winrar? (there are probably others, but i am not a windows user so i am not familiar with the ecosystem). but if cost was the factor, then freeware should be just as popular.
FOSS is popular because it endures. i personally use several FOSS applications where the principal developers had left the project and others took over. any equivalent commercial of freeware application would be dead by now and i'd have to switch to something else.
FOSS has an 'F', which stands for "Free" in the sense that anyone can fork, modify, build and distribute the software. Without the 'F', you have code that is only open-source in the sense that you are allowed to read it. If you include the 'F', you have software that anyone can distribute, either for money or for $0. The market price is going to converge on $0.
Plainly some devs are willing to work for nothing, whether out of passion, for the props, or because the software is important to them. So the market price of any software that isn't ringed with patent and copyright fences is going to tend towards $0.
I favour a Universal Basic Income. Many people will leech; but many users of free software are leeching now. I believe people do productive work because they want to, not because they're paid mega-salaries. In fact, that's the only plausible explanation for free software. So make taxpayers finance a UBI. Admin costs are tiny (no eligibility checks, you just pay everyone). You can also get rid of most Social Security infrastructure.
I think UBI is unpopular mainly because people hate the idea that the taxes on their income from work will be paid-out to people who don't care to work. That's understandable, but is it reasonable? Do they also complain about the number of people who are paid out of tax revenue just to check claimants' eligibility for SS support? I haven't heard that complaint.