This article is kind of daft. "Decentralised" doesn't necessarily mean strictly peer to peer, it can mean "write native code, release it under an open license, design protocols to federate".<p>This way you're not butting up against NAT busting (notably though NAT busting as I understand is a pretty well sorted science at this point, e.g. STUN and friends), but if you don't like your service provider you can still move (or run your own server) and continue to inter-operate.<p>XMPP (<a href="http://xmpp.org/" rel="nofollow">http://xmpp.org/</a>) is a great example.