Open source caused this, as much as anything else did. When you demand that software is free, you kill the market for paid software, leaving only enshittified software to fill the void. This has the dual effect of being worse for both developers and consumers: significantly fewer developers can make a living outside of working for $EvilEnterprise, which have an easier time centralizing and monopolizing the market, and consumers are paying the developers working at $EvilEnterprise with their data and lack of ownership. This is the business model of free software. There was never going to be a world where all software developers worked for free as a hobby, never received compensation, and all software was truly free.
Eh, areas where there was and is still plenty of scope to just charge for a product have also been heavily enshittified, so I don't think you can lay much blame at open source for this.
Open Source never meant having to give your software away for free, it was always free as in speech. In that you could see the crap you got and change it if you wanted to.
But you're right I'm sure that if there hadn't been the GCC there wouldn've been a ton of competing compilers. I'm sure that it was the existence of Apache that ruined computing and brought about the enshittification of the web not MS trying to force everyone to cater to IE and then Google doing the same with Chrome, it's all just because of that evil Open Source.
I don't know how you can simultaneously believe that open source is prevalent enough to kill paid software but also non-existent enough that it doesn't itself fill the void it supposedly created.