Personally I think the way forward is creating mesh networks. Mesh networks are independent mostly wireless networks that can be easily created and operated in more democratic way then the current internet is. Just like p2p or federated protocols it creates a possiblity for everyone to join such network and become a node on their roof for example, or just be a user connecting to such nodes. In that way, you have multiple layers of network where streets can connect creating neighbourhoods, cities, regions, countries, etc. Of course this means a lot of work and a lot of people who want to create trully independent version of the internet. Just like with federated networks, the technology is there, hardware becomes cheaper and cheaper, but it's the minds of people that need the most work because in case of building an independent network, you need a... "network effect". Unlike with federated, decentralized services you can solve the issue of low interest becasue you build that service on top of existing infrastructure so in global scale of things, it is doable (with 1 million active users globaly, your network can be interesting enough for others to use it). However building mesh networks requires involvement locally, and this is hard work. There are already multiple projects here and there where people build such networks in the cities (Greece, Germany, Spain, Netherlands etc.). I would suggest looking the mesh network term us, because you might not know it, and there is an existing network in your city too.