The recent tumblr update has angered a lot of people. Most of all, it highlighted the fact that the users have no real power. We are fundamentally subject to the whims of corporate overlords that do not care about us.
The main reason that tumblr can afford to be so callous toward their users is that they know they have very little real accountability. If you want to use tumblr at all, you have no real choice but to put up with every idiotic (or cold-hearted) update they put out. Don't like the direction they're taking? Too bad; either deal with it or leave. This "my way or the highway" ultimatum results in being able to get away with almost anything.
(Similar remarks apply to other social media sites, including but not limited to Facebook, Twitter, Google+, Pinterest, Livejournal...)
This is not an inevitable state of affairs for a social media platform. In particular, Diaspora* (the * is part of the name) is designed to avoid this problem. This post is an attempt to explain how that works.
Diaspora* is a federated social media platform using free and open source software.
When you use email, you have a choice of email providers. If you don't like Gmail, you can use Yahoo, or MSN, or any of thousands of smaller providers, or even host your own email server on your personal site. Furthermore, all of these email providers interoperate fully with one another: you can send email from a Google account to a Yahoo address with no problems.
This means that email providers have to compete with each other. No one has a monopoly on email: if I give up on Gmail, I'm not giving up on email, and – perhaps more importantly – I can still use email with all of my friends who are still using Gmail addresses.
Imagine if tumblr or Facebook or Twitter worked like this! An update to the tumblr.com dashboard wouldn't affect mytumbles.net or tumblista.org or mumblr.info, until and unless the operators of those sites decided that they liked the update and wanted to push it to their own users. And if you're hosting your own tumblr server on your personal site, then you'd have absolute executive control over your own tumblr experience.
(The perceptive reader may wonder how usernames work – if I register the username "totes_awesome" at socializer.cc, and you register the username "totes_awesome" at shrekislove.us, then who's the real "totes_awesome"?
The answer is that a Diaspora* user ID is formatted like an email address: my full name would be email@example.com, and your full name would be firstname.lastname@example.org.)
This is what it means for a service to be federated: anyone can host a server, and so no one has a monopoly on the service. It's one of the founding principles of the internet, and the modern internet is relearning its importance the hard way.
Federated services include:
- email (private messaging)
- Jabber (instant messaging)
- Usenet (forums)
- Diaspora*, pump.io, StatusNet (social media)
- Wordpress.org (blogging)
However, there is one more important issue to consider...
Free and Open Source Software
Let's use Wordpress as an example, since it's federated and the software is created by a for-profit corporation.
Wordpress occasionally pushes updates. If you're running your own Wordpress installation, then you can choose whether to accept the updates or not, but if you don't install updates, then your version will get more and more obsolete, and sooner or later you'll find that the version you're running isn't getting nearly as much support (new features, bugfixes, etc.) as it used to.
So, do you have a recourse?
If enough people (or one sufficiently brilliant and motivated programmer) decide that they don't like the direction Wordpress is taking, then they can exercise the right to fork the software. What that means is this:
Wordpress doesn't just release their software. They also release the source code, which is the thing you want if you're a programmer trying to mess around with it. By way of analogy: the source code for a digital painting might be a Photoshop file, with all the layers and masks intact; the source code for a song might be a Reason file, or at least have all the tracks separated out; the source code for a cake might be a recipe.
Furthermore, the source code isn't merely disclosed; it's released under a Free Software license, which means that Wordpress have, irrevocably, granted everyone the legal permission to take their software and make their own versions of it.
People often say that tumblr should hire the xkit guy, so that he can implement his fixes properly – that is to say, server-side – rather than as a browser extension. If tumblr were Free and Open Source Software, then the xkit guy could do that even if tumblr still didn't hire him. I know I'd rather use an xkit server as email@example.com than put up with tumblr as firstname.lastname@example.org.
Diaspora* is, of course, Free and Open Source Software.
tumblr can get away with being evil because it's designed as a monopoly: if you want to interact with people on tumblr, you have to put up with whatever tumblr does. By contrast, Diaspora* works like email: anyone can host a server, anyone can design a better server, and all the servers talk to each other.
If you like being subject to the whims of evil corporate overlords, then by all means keep using tumblr and Twitter and Facebook and Google+ and whatnot. But if you want a social network that respects you, use Diaspora*.
I'm email@example.com. See you on the other side.