It's just a matter of time. I keep saying it. It needs to happen and it will happen. It will address our issues with giving all of our data to any one big company, with capacity, with privacy, with reliability. Of course, for this to happen complex network infrastructure needs to be open sourced and some things need to be invented. But luckily, the software is what's most important. For us to get there, there need to be major market forces and other incentives at play. One such force is the backlash over privacy we're seeing -- and we'll continue to see a lot more until efforts start being channeled towards open source, decentralized and distributed alternatives. Eventually, they'll be just as good as centrally served experiences, and eventually they'll be better and the current client-server model will be but a memory.
When asked how that fits in with the idea of the cloud, I offered the following explanation.
The cloud is simply a term to describe the idea that the complex infrastructure that serves your applications and your data (i.e. your computing experience) resides "out there in the cloud". It's a marketable term that helps avoid unnecessary talk about servers and datacenters and colocation and content delivery networks. All of the messy stuff from expensive hardware to expensive security processes and more is handled by one or more companies, and you just consume using thin clients (i.e. anything with a web browser and a local cache). It helps us into the future, as people start to understand and accept the idea of software as a service.
P2P describes how some of that messy network stuff can work. The idea is that the network is the computer. Everything -- all the code and data -- that makes up our experience is distributed over the countless nodes that are yours and my and everyone's computers. The processing of all that stuff is handled by the commodity processors in all the nodes (our computers, kiosks, anything sufficiently internet connected). There may be companies and governments that offer supernodes which help bring more resources to the grid. All of this stuff is encrypted and distributed and your stuff is only accessible by you.
And in fact that's how much of this stuff is working right now. Google's cloud is really a private distributed P2P infrastructure. They have commodity servers with certain hardware and software specs and these are geographically distributed as well. They just plug in a new node (server) and it starts talking to the other nodes and it's ready to go. There's no dependency on any one node -- if one node dies, traffic avoids it and a new one is plugged right in. Data is distributed redundantly across the entire global network. You log in from anywhere and you've got access to all your stuff.
Imagine if Google released their P2P network to the world (I'm hopeful) and we all worked on one of those nodes. Well, that's true P2P. We are all contributing and receiving (more or less depending on your node's constraints) on this P2P network. It's a commons of sorts, owned by no one.
Gone is the issue of Google having all our data -- because it's everywhere and nowhere on a distributed, encrypted network. Gone the Facebook privacy concerns -- because you own your information and you decide how you want it to interact with other services. Gone is the issue of capacity -- as the network grows the more nodes are on it. Gone the ability for the government to subpoena all your search queries from Yahoo or Google -- because your stuff's flowing through no one company. And it would severely hamper the ability of a government like China or Iran to shut down services -- because you can no longer tie a particular service to a particular isolated range of IPs.
Of course, there are so many new challenges... but such is the nature of our evolving world order.
These folks with the project called Diaspora -- I think they get it. I don't care if their project is all smoke and mirrors and nothing ultimately comes of it. As far as I'm concerned they're bringing a necessary and oft-ignored discussion to the forefront. I welcome that.