Talking about this subject it's useful to make clear what are we
trying to protect.
There are 3 different layers that can be distributed/centralized:
1) layer of contents -> what and where is/are the source(s) of
information? Is it restricted to a company? is it public so that
people can colaborate with each other?
2) layer of infrastructure -> what and where is the engine that
supports the layer of contents? is it in one place? Is it in multiple
places? Is it based on cloud computing?
3) layer of domain -> who is in charge? What organization has
ownership and control of the layer of infrastructure? What rules and
restrictions does that organization to comply (e.g.: national)?
There are indeed many projects that work layer 1). The marketing guys
(and not only) like to talk these apps web 2.0.
When it comes to the layer 2) we are seeing a big movement towards
technologies that support web applications (and not only) in a
distributed way by many of the main players such as Facebook (with
cloud computing).
Still, even Facebook has been blocked intermittently in several
countries including Syria, China and Iran, although Iran later
unblocked Facebook in 2009. (quoted from Wikipedia)
That is the limit that, I believe, Massimo is referring to. We can't
write a software that changes governments that try to control the news
but you can write a software that makes "impossible" for any
government to control the news by not being based on the traditional
controlling mechanisms (such as IP routes).
There is a project called Netsukuku from an italian hacker in Python
btw, that probably goes even beyond your idea.
References:
http://netsukuku.freaknet.org/
http://netsukuku.freaknet.org/2html/documentation/main_documentation/qspn.pdf
http://netsukuku.freaknet.org/2html/documentation/main_documentation/topology.pdf
http://netsukuku.freaknet.org/2html/documentation/main_documentation/ntk_rfc/Ntk_p2p_over_ntk.pdf
Best Regards