Activity Pub is the social network we need, but not the one we deserve

If you haven't heard, Twitter, Facebook, YouTube, et. al. have recently been “deplatforming” certain people.

Freedom of Speech

Whether or not you were followers of these people, or even listened to them is not relevant. They have all said unpopular things and offended people. But the only speech worth defending is that which is unpopular. Nobody needs to defend popular speech; things that everyone already agrees with. And this is a free speech issue, even though it is not the government participating in censorship. The freedom of expression exists outside of the U.S. Constitution, as a concept and practice.

Yes, these corporations are free to censor who they chose, just as you are able to demand someone you disagree with from leaving your house; this doesn't make it not censorship, though. In the case of these corporations, they control so much of public discourse (at least in the United States), that they must be held to a higher standard (if not by regulation, then by the people directly).

To censor the words of those you disagree with necessarily tends toward an echo chamber. The next leaders of government come from the people in this echo chamber. Therefore it is necessary to hear all the vitriol and hate spewed by the community, and the rational arguments against such speech. To do otherwise is to eventually give the power of government to the corporations that can control the speech of the population.

The people have the power

The Internet is mankind's greatest invention (so far). It has allowed unprecedented communication, innovation, and education. It has prevented wars, and helped cause genocide. It is a powerful tool that can be utilized for good or for evil.

It is a common tactic among governments that wish to go to war to dehumanize the other. We see this with the terms Japs, Huns, Jerry, Kraut, Gooks, Ragheads, etc. We see it with offensive caricatures and cartoons, propaganda depicting the people as dumb or barbaric. Speech is a powerful tool, and utilized by religion, government, or corporations can be used to drive thought in a certain direction. On the other hand, one of the best ways to prevent conflict is to talk.

If it was possible for the people of Nazi Germany, Imperial Japan, Soviet Russia, and the other allied powers to talk freely and instantly, there would be a lot of doubt cast upon this propaganda. For the powers of the state ultimately come from the people. The people build the tanks, pay the tax, and fight the battles. To influence what people can say is to influence what people do.

A technical solution

You probably have not noticed (but props if you have!) that this blog is built on write freely, an open source, federated blog tool. Each blog post is published on, which you can follow on other federated services that speak ActivityPub such as Mastodon (no not the metal band).

ActivityPub is a decentralized social networking protocol. As of writing it is a W3C Recommendation. It allows server-server and client-server communication through “inboxes” and “outboxes”. Anyone can listen on someones outbox to get messages they post, and people can post messages to someone's inbox for them the receive that message. It really is quite simple in concept, but extremely powerful.

To learn more about how ActivityPub works, check out this great blog post by Eugen Rochko on the Mastodon team.

For instance, I said you can receive these blog posts on Mastodon, a micro-blogging tool that is built and maintained by a large group of open source enthusiasts. I got this “exposure” (nobody listens to what I have to say...) for free, simply by using this protocol. Other services such as PeerTube and PixelFed also integrate over ActivityPub, and help form the Fediverse. You can post a video to PeerTube, get a notification on Mastodon, respond to the video post on Mastodon, and the message shows up as a comment on the video. Did you catch that? Let me rephrase. The social part of the social network is not in either PeerTube or Mastodon, but in a level above both: the protocol itself!

Anyone can host an instance of PeerTube, PixelFed, Mastodon, or in my case Write Freely. You could even write your own tool or app that integrates with all of the Fediverse by following a simple protocol. This makes it nearly impossible to censor anything. It gives the power of the Internet and of free communication back to the people, no corporation or government can (easily) censor this (I know there are ways such as DNS blocking or rubber hose interrogation). This is a huge step in the right direction. Away from centralized management and control of speech.

Why it won't catch on

Unfortunately, we must come back to reality. ActivityPub and the greater Fediverse won't catch on for the same it exists in the first place: it is not centrally managed. The network effect actively works against decentralization. Everyone and all your friends are already on <platform>, so that is where you go for content. And to make things worse, these platforms will not implement ActivityPub because it would destroy their user base and revenue stream.

There is also the question of monetization. One of the reasons Twitter is successful is because of advertising money. There is a lot of traffic on Twitter, so advertisers pay good money to get more eyeballs on their ads. If anyone could host their own version of Twitter and receive all the same tweets with no ads, why would anyone visit Twitter? That's not to say it is impossible to make money if you're using ActivityPub, but it dis-incentivizes making money from the social aspect alone.

Hope for the future

I see two possible, although equally unlikely, scenarios in which the Fediverse gains mainstream popularity (say, as popular as Snapchat):

A highly used non-social media based app adds social media features using ActivityPub

The most popular applications I can think of are browsers. Chrome would probably not implement ActivityPub, since it would not interact with YouTube or any other Google social media platform, for the reasons stated above. Firefox could possibly, if Mozilla wanted to incorporate some sort of federated social networking features into the app, but it doesn't have nearly the same market share that Chrome has.

There is also the possibility apps like Dropbox or Spotify or some other widely-used application would want to add social networking capabilities. I don't think this is likely, again because of the network effect. Nobody would use these features because their friends are not using them.

A highly visible and liked public figure gets deplatformed and brings a large group over to Federated services

This user would have to have tens of millions of followers. Someone like Kevin Hart maybe. Almost 100 million instagram followers, about 35 million Twitter followers. Comedian, has been in trouble with the media before. But even if he got banned from Instagram and Twitter, and went to Mastodon, would his followers, ahem, follow him there? Some might, most likely his voice would just no longer be heard on those platforms.

Part of the problem with this outcome is how little publicity the Federverse has (it is pretty new). There are very few tech people with large followings. Elon Musk is probably the most popular tech person in social media (at least in the USA), and I doubt he knows or really cares.

What can we do now?

If, like me, you feel there is a problem with so much centralization on the Internet, then what can we do to help?

Write about it, talk to your friends, talk at your local meetups. Get a conversation going about why it is important, and the dangers of centralized platforms.

Host instances of existing Fediverse projects, and connect to all your followers (this only really works if you already have people following you).

Contribute code. Most Fediverse projects are open source, so that is one avenue. You could also contribute to existing, non-social projects to propose adding some social aspects via ActivtyPub to them. Take a tool that you use frequently that you feel could benefit from publishing notifications to a group of people, for instance. Like RSS. Expand on that a little bit, maybe.

Create new social media applications. Make a federated Snapchat or Meetup application. Make a new social media thing that only exists within the Fediverse.


Centralized, walled garden variety social networks are dangerous to society. To put so much trust in so few organizations creates fragile systems. Decentralizing speech can help by making it anti-fragile. Free speech must be protected, and we have the tools to help, and with ActivityPub and the Fediverse we can bring the Internet back to the people.