* The technology for a lot of things is there (e.g. diaspora instead of facebook, etherpad instead of google docs) but hosting these costs money. And people don't want to pay and they don't understand they currently pay with their data/privacy.
* Making the data behind a commercial site open is a great, noble idea - but all of the current big, consumer facing players make money with the customer data. They have no incentive to open their data.
* Big players have absolutely no incentive to inter-operate with new competitors and this means that those who use new, decentralized services have to maintain two identities or lose contacts.
I think the only thing that has a chance to get us out of this is intervention by the government:
a) Make running your own node a human right.
b) Give every person on the planet a free node if they cannot afford one (paid for but not controlled by governments).
c) Make IPv6 mandatory (so b can work)
d) Subsidize open source efforts that enable us to have a virtual presence hosted on our own node, interconnected with our friends' nodes.
e) Elevate all electronic communication to the legal status of snail mail: If your MTA blocks my host, you have to have a damn good (security) reason, tell me exactly why and timely unblock me when I have fixed the problem (Yes, AT&T and 1&1, I am talking to you.)
f) Enforce net neutrality.
g) Force current big players to allow machine readable, convenient exports of user generated content by the user.