However, there is another model for web apps, not purely decentralised, but a practical option where traffic is not funnelled through a small number of big players. Let's call it the WordPress model.
Consider the following: WordPress is an example of a profitable open source app that can easily be installed on countless shared hosting platforms or on a VPS. It's easy to switch hosting providers when you want to (rather than be locked into one provider). You can take your data with you when you switch. The popularity of WordPress means that one-click installs are widespread. Many providers also offer a 'managed' service where they take care of back-up and updates. But crucially you're still not tied to a single provider.
Now imagine if all web apps were as easy to install on the server via a one-click installation like WordPress. Unfortunately, there is no common standard or API for software installation on the server side, and this lack of an easy installation process for everyone severely limits self-hosting websites and apps.
Many developers think deploying a server-side web app is a non-issue, or they erroneously think that installing Cloudron/providing Docker instances/typing command line instructions are all "easy". Have you seen the server deployment instructions for "web friendly" languages like Ruby and Python? They're ludicrously complicated. Developers are completely blind to the complexity and see nothing wrong in such installation procedures.
The result is ever-growing centralised software through the SaaS model which beats the self-hosting alternative in simplicity every single time. Imagine if your local desktop apps were completely controlled, tracked and even terminated remotely by one provider - don't like the though of that? Yet, that is exactly what the centralised Saas model enables and nobody blinks an eye.
I wish there was some momentum or traction in making server-side web app installation as universally simple as a one-click WordPress install for all for all web apps. It would unlock countless opportunities for developers to reach more users or customers. I'm not one for conspiracies, but I wonder sometimes if developers actually prefer the complexity of server-side installation because it makes selling a SaaS solution much more attractive over the ludicrously complicated self-hosting option.