not enough: lean and simple, but able to do a good enough job, open source software/protocols, including SDKs (that exclude de-facto complex syntax languages with their compilers).
Off-course the reality of a complete and reasonable functional software stack is actually made of several technical contexts and drawing the complexity lines at the right sweet spots is hard: mistakes will be made, due to the permanent/long-term toxic brain-washing/lobbying of big tech, and they will be "not free" to fix.
Big tech wants to make you hard dependent on all their software and servers to create a permanent flow of money, which is much harder/impossible to do with centralized-server-less or local and independant software.
Boiling frog strategy: for that, they have huge funding (blackrock/vanguard/etc) in order to make their companies (microsoft/google/etc) super cheap/free for a very long time and to suffocate competition over time which has less cash flow (those funds have thousands of billions of $). They will create server centralized services, with crippled user-side open source software (not really usable without their servers). They call that "software as a service".
That said, some of them will manage to keep their "services" free selling user data to brokers and selling ads.
The control of user-side software is via open source grotesque and absurde complexity and size: google(blink(~webkit)/geeko) and apple(webkit) based browsers with their compilers. They know only their army of devs can maintain it, and they have enough control to do planned obsolescence there as a bonus.
Well, this is not very well explained, but I think it is enough to get the idea.