Open Source or Free
One of the big issues is that Open Source is often assumed to be free. This is all well and good but large organisations need support they can rely on. This has to be paid for and by the very nature of things that tends to push IT procurement down the commercial route.
If there were mature companies able to offer support on Open Source to commercial SLAs then it might have more traction. You only have to look at the CentOS 7 to CentOS Stream fiasco to see the damage that can be done.
If people are developing for free then whilst there are benefits to saving money at the other end, if everyone contributed for "free" it rather skews the viability of the concept.
In many ways it is like the UK farmers and hauliers that were happy to pay the lowest possible wage to (usually) Eastern European labour who then found themselves stuffed when the supply dwindled.
That is not excusing those commercial concerns at the other end of the chain who do take the piss but that is a free market. If companies are still prepared to pay, someone if going to take the money.