Hey, remember that huge Facebook controversy? No, not when they tried to emotionally manipulate thousands of people for a study of dubious worth. Also not when they leaked random purchases to all your friends, thus exposing your secret SexyKiltsAndHikingBoots.com purchases to the world (what? It's a Seattle thing, all right?). Probably not when they complained about the news culture that they themselves had created. Maybe it was when Facebook removed privacy options (or just changed them around in one of the site's near-constant redesigns).
Actually, I'm not really sure what I'm talking about either. To put it in the Upworthy headline-speak that clogs your news feed until you sigh and grudgingly switch it back to "most recent" mode again, "This social network has a bad habit of treating its users like lab rats. You won't believe how little they care!"
At some point, I resigned myself to the fact that I'm not going to quit Facebook anytime soon, no matter how bad their behavior is. Most people won't. In my case, even if I don't use it often, it's the only place where local dance events get publicized — without it, my ability to participate gets curtailed sharply. For other friends of mine, Facebook messages are a primary means of communication, over e-mail or even SMS. It's how we keep in touch with each other, even just in an ephemeral, transitory sense.
You may remember, however, that when Facebook first started along the path of "we know what you should see better than you do," there was a scrappy crowdfunding effort in response, for a decentralized social network run by users, for users. Diaspora took in a huge amount of money, showed no progress for a couple years, shut down, open sourced itself, and is now puttering along with roughly 15 thousand users. Which is, to be honest, what most reasonable probably saw happening anyway, but we live in a world where people collectively donate $30,000 for potato salad, so maybe a little perspective is in order.
Even though this is all fairly predictable, as someone with some interest in self-hosted versions of cloud services, I'm intrigued by the question of why we don't have a popular, decentralized, open-source alternative to Facebook. I don't think it's a difficult question to answer — rather, it's interesting because there are actually multiple reasons that it doesn't happen, and they point out bigger problems with cloud-based computing for everyday people. Facebook is a great case study for this, because many programmers have a habit (particularly when a little tipsy) of pointing out that they could write a simple Facebook clone in a weekend. This is both true, and entirely missing the point.
To see why, we have to look at a seemingly unrelated incident: Facebook's $1 billion purchase of Instagram. Why so much? It's not because it was an equal competitor: filtered photos don't compete with the Facebook news feed directly. But it had a hook that would pull users — easy sharing using your phone camera instead of a keyboard — and once the audience is there, upgrading to a Facebook-like feature set is easier. In other words, Instagram wasn't valuable because it was like Facebook. It was valuable because it was different enough to get users' attention, but close enough to serve the same social needs.
Every existing competitor to Facebook has a compelling hook. If Instagram has sharing, Snapchat has its (supposed) privacy features, and LinkedIn has a ton of annoying recruiters sending e-mails to random users. Unfortunately, open source is not good at figuring out product hooks — it tends to excel at imitation and evolution. An open-source social network would probably be better written than Facebook, but without that showcase feature, nobody will join. And a social network with no people in it is worthless. Lesson one: find a hook that's not "is open source." I suspect gaming is a possible contender, but it's proven elusive so far (both for small players like OpenFeint and the big vendors).
Assume we have our hook: how do users join up? Other social networks are free, they have nice onboarding procedures, and they don't require you to do any deep thinking about anything other than your relationship status. By contrast, when you join Diaspora, you need to choose a "pod" based on its physical location, size, and software version before you're allowed to sign up. I am shocked — shocked — that this has not taken off.
Home-built social networks tend to be decentralized, and they're often proud of that fact: letting users choose where to put their data, and how it's used, is a huge win for privacy. But decentralized services are more complicated, and require more work from their users. It's even worse if people are expected to actually self-host: the most successful self-hosted web app on the Internet today is Wordpress, and yet being forced to install Wordpress on a cheap, randomly chosen hosting provider is punishment for shoplifting in some countries. Lesson two: web app installation shouldn't be a trial.
There's a lot of thought going into this problem — Docker, for example, is a system for baking web apps into "containers" that can be installed and uninstalled almost like mobile apps. These containers travel with all their dependencies, and configuration, so there's no need to worry about what your host does or doesn't support, or what their particular weird setup is. But until then, the answer for most people tends to be "use a hosted solution a la Wordpress.com," which tends to the defeat the purpose of decentralized software.
Without learning these lessons, cloud computing stays out of the hands of regular people, and the hope of a personal Facebook with it. Of course, they're hardly a panacea, and they're certainly not a solution for social networking anway. At this point, it almost doesn't make a difference what Facebook does, or how badly it abuses people. I think this is part of why people get so angry about it: that feeling of helplessness. We can't code our way out of this problem, or leave our friends and family behind. All we can do is hold our noses and soldier on.