There is a barrier to participate in development of those projects. Developers are expected to work for free and not every developer can afford to do it, so these projects are dominated by people from privileged backgrounds.
> What is the difference between an open source project and a "so-called open source" project. Is the source available freely available? Then its open source. It is a gift!
I am not sure why do you mean by this question.
> Billions of people don't get to do exactly what they want to do. Many (most?) open source contributors work on the open source in their spare time.
The problem is that "Open Source" is a source of free R&D for companies who don't have to pay salaries and taxes and developers are expected to give up their time for free. Big companies are promoting this, because it saves them money in the long run at the expense of developers. This is the same situation as with unpaid internships. If a company offers an unpaid internships, only people from privileged backgrounds can afford that (e.g. parents pay their bills) and people from poor background are missing out because they need to find a paid work often in completely different sector. That's why in many countries (for example in the UK) unpaid internships are illegal to level the playing field and to reduce the social divide.
> They aren't paying for it because the person who wrote it didn't want them to pay for it.
As I wrote above, in many places it is illegal. Everyone should be paid for their work even if they are privileged and don't want money (then they can send it to charity).