But if we go back to thinking about this problem from first principles [1], I think certain things have changed.
1. Hosting a complex app in the "cloud" has become significantly cheaper, and easier
2. Centralized services have network effects because you can't find your "connections" on other services. That's not true with federation. Even though gmail is the most popular provider of email, there are still other providers that are alive and well today. In fact there has been some cultural movement of moving from gmail to paid & private email providers, because they are so cheap nowadays.
3. In federated systems, its relatively "easy" to move to another provider. Although much more work needs to be done to improve migration in fediverse.
4. De-centralization doesn't have to be an all or nothing proposition. What is the minimal "centralized", and cheap bootstrapping service for a federated system ? Answer: A domain name + static site with some links to "trusted" providers. Cost: $10 a year for domain + static hosting (pretty much zero dollars) ~ approximately $1 dollar per month
5. There has been some egregious censorship happening by centralized social providers (a total 180 to how early internet culture was). It's their right to do it as private companies, but that's also what motivated some people to move to the fediverse.