DIY social networks and groupware

V. cypherpunk! much 733+!

August 12, 2019 — January 23, 2024

computers are awful together
confidentiality
distributed
diy
economics
p2p
Figure 1

Harm minimisation of corporate social networks not getting the monkey off your back? Still need a digital social fix but want it to be less toxic?

I participate in several communities that claim to want to leave the surveillance-and-manipulation factory for somewhere else. Here are some notes I am writing for these communities on alternative ways we could be organising ourselves. They have various pluses (e.g. less advertising, less centralising profiling of us, less weaponised addictiveness) and various minuses (e.g. higher barrier for entry, higher cost, less polish, nearly impossible to get critical mass of friends).

1 Theory

2 As digital nostalgia

See the internet back in my day.

3 Using turnkey infrastructure

There are turnkey technical solutions designed to do this for various use cases.

  • discord is like a “fun” themed Slack, (i.e. chat thing hosted on a 3rd party server) which means a slightly lower barrier to entry but less professional cred. It is still presumably prone to unaccountable American politics tantrums. Cool addition: Discohook, Webhook notification from Netlify to Discord. This lacks cipherpunk security jazz but it is the one I end up using most often, because it has a critical mass of community, good UX, and is free.
  • discourse is an open-source community chat platform which you can install on your own server. It seems to be the dominant force in community-run servers at the moment. Do not be confused by the similarity of name to the commercial discord, below.
  • keybase teams are a reputedly end-to-end encrypted chats run by a fancy hipster dotcom.
  • Zulip is an open source slack-alike with first-class mathematics support.
  • Rocket.chat is another one. A quick perusal seems to indicate it is attempting to be the good bits of Slack, which seems to be the aspiration for nearly everything else here.
  • Element is the flagship modestly-secure chat system for Matrix. Looks a little like Slack; Matrix is positioning itself to fill the paranoid Slack niche too. See Matrix Offers Red Pill to Slack Users
  • Stackoverflow teams is goal-oriented Q&A for teams. I do not know anything about their security history, but they are hosted in the USA FWIW.
  • Gitter is a hosted and (open-source) system. It too is sort of like its more famous cousin Slack, apparently?
  • Slack is a communication platform somewhat more oriented towards workplace organising than other chat programs. Can be forced to support mathematics. Its UX is unsatisfactory for ad hoc groups (signing on is hard, and it requires people to learn how to turn on notifications, and you end up with a million Slack channels of low activity) and it is hosted by a third party with dubiously competent enforcement of their jurisdiction’s wacky geopolitical tantrums.
  • Groups is a freemium mail group services with, for each group, “a calendar, chat, polls, a database section, a photos section, a files section, and a wiki.” Also integrates “Feeds, Facebook Pages, Slack, Google Drive, Github, Trello, Email.” NB Facebook pages need to be public to integrate.
  • Forj has particular emphasis on community management for non-profits.
  • wire pro is the groupware version of the wire chat client.
  • Wickr Pro is similar, a group chat that could be shoehorned into being social.

Or, dunno if it fits here, but look at this attempt to provide the some of the features of the social network in terms of telling you not to forget birthdays, Monica the open-source personal CRM.

If you just want something efficient for your purposes but don’t care about the NSA reading it any of those will work, and they offer varying degrees of guarantees about not data mining you.

Keybase, Wire, Wickr and (partially) Riot claim to be host-proof, so in principle it should be hard for adversaries to spy upon.

Mike Hoye divulges Mozilla’s evaluation of some options.

4 Host your own social network

Run your own social system! On (possibly) your computer or (probably) someone else’s cloud, or even your own private cloud.

Figure 2: The cool kids in the 1995 movie Hackers

Various of the turnkey options above also allow you to self-host, plus there are extra ones.

  • Zulip
  • discourse is an open-source community chat platform which you can install on your own server. It seems to be the dominant force in community-run servers at the moment.
  • Element/Matrix (🏗 check this really is self-hostable.)
  • Gitter is open-source although it has onerous dependencies and it not plausible for civilians to run. This might change now that it is being merged into element
  • rocket chat is an open-source, optionally-self-hosted team chat server. A quick perusal seems to indicate it, too, is attempting to be the good bits of Slack.
  • Matrix is self-hostable.

Of the above ones, only Riot is AFAICT host-proof encrypted; unless you control access to your server because it is in your house and you get to manually input the encryption keys, this host-proof thing is nice to have.

The following that AFAIK don’t have a primary corporate backer providing turnkey hosting.

  • Federated social media projects like Mastodon and Peertube, are at a half-way point between central systems and fully distributed systems. You and a community barnraise a server together for your local social network, and it talks to other servers for you to create a global mesh of local social networks.
  • mattermost. 🏗

These fun DIY systems are good simple starting points. They are presumably sharing less information with the Facebook marketing and profiling machine. YMMV.

4.1 Fediverse

Most famously mastodon, but there are various. See Fediverse.

4.2 Maximum DIY

Roll you own system from spare parts. Make your own ridiculously simple app for friends, which sidesteps many security and scalability problems by being a fun little friend project. Chris McCormick calls this Sub Dunbar software, in a nod to Dunbar’s number.

He cites Tommy Collison

it would not surprise me if we moved away from “public square” online dynamics to “small intimate online dinner party” online dynamics.

Also

4.3 Solid

Solid is not so much a cypherpunk infrastructure as a set of standard for how to provide decentralised social data streams to a hypothetical decentralised social internet. Backed by WWW figurehead Tim Berners-Lee. It still uses the normal internet but it decentralises … identity?

4.4 IRC

An internet classic; live chat server system dating back to 1988 based around chatting in channels. This is the system you always imagine hackers using, anarchic and ugly and powerful and customisable. It’s not especially how I roll; usage tends to synchronous chatting. Nonetheless this is a functional system and would like to know the sociological factors that mean it does not rule the world. (Wikipedia claims that the system still has more than ⅓ million concurrent users at peak times as of 2018.) Anyway, you can run your own IRC server if you want or use one of the many pre-existing ones.

4.5 Others

Idk. Diaspora, I guess.

5 Decentralised social networks

Paranoid, robust, slow, server-free options.

For AFAIK all of the above options, apart from possibly the host-proof ones, the servers can still be subpoenaed and spied upon and presumably blocked by malevolent interests either through legal mechanisms (by the state) or by hacking you (criminals and/or the state). Or to put it another way, in every centralised social network system there is one extra machine apart from the all the particpants’: the server, which might be held in suspect circumstances by unknown third parties, because who wants to keep a server farm under their bed? To reduce the risks of that machine being interfered with, you could one-up the noobs and use decentralised encrypted networks which try to eliminate the need for a server at all, and possibly work hard to preserve the anonymity of the people using them. Then, of course, you still have to secure the users’s machines, but at least they have autonomy. Long story short, with this option there are no servers because everything is run on the computers of the network participants. Here are some social media examples.

Figure 3

The theory of decentralised internet services in general is discussed elsewhere.1

Typically the decentralised net people see themselves as leapfrogging over the federated social networks and their solving of some of the problems of social media, and solving all the problems at once.

5.1 Scuttlebutt

Probably the one with critical mass ATM. See Secure scuttlebutt.

5.2 Retroshare

Runs on desktop or android; no iOS support.

The mail functions send deferred messages, but the chat one requires a realtime connection.

You can run multiple machines with the same id but different “locations”.

Shucks, this app looks simple and fun enough that I may as well give it a try. ABAu4KZ0vLigi6mWEZ5vTFSZAxRmRg2qGeMto44twDcP1DSx0Tvc+wENc251Z3BvY2FseXBzZQQDWY1Z is an address you can use to get hold of me. Catchy, no?

update: turns out this is somewhat broken on macOS.

5.3 SocialX

So far it’s not real, but socialx claims to be a blockchain-ish social network with integrated payments for popular content. Closed source AFAICT. Had an ICO already.

5.4 IPFS-backed

Awesome IPFS lists some IPFS applications trgeting social media users.

The flagship one, Peergos seems to be more of a user-friendly file sync than a social network but what do I know?

Orbit claims to offer actual chat. Never finishes starting up for me.

qOs wants to create a social network system:

We are using qD as an example application for our JavaScript p2p library qOS with cool open source modules such as qD Messages and qD Social and the upcoming qD Vibes, qD Markets, qD News, qD Apps, qD Games and qD Calendar.

qD makes it possible to build custom, secure and decentralized social networks in less than 20 days.

Our quest network aims to allow the creation and (distributed) completion of quests supported by a feature rich decentralized social network.

We have chosen Angular/Electron as an example environment because we believe it offers the best accessibility for developers coming from any other language/framework. The Quest Network is already being used in Python on PyQt5 and we aim to provide the underlying library in Go and wherever possible in Rust as well.

This app is built on qOS which makes use of the Interplanetary Filesystem, IPFS GossipSub and IPFS DAGs.

They have done a lot of confusing partial pivots, renames and do-overs but may eventually settle down on something?

6 Financing and governing your DIY social network

I don’t have much to say here, but I’m interested in knowing more. Perhaps the overview Matias (2017) is useful?

6.1 Governance

See community governance.

7 Working together online

See DIY online collaboration.

8 Events

🏗 rant here about how no one but Facebook facilitates IRL gigs, events and meet-ups and since that is a major priority for me and many of my communities I am unlikely to actually use any of these options until I (or more realistically, someone else) can produce a decent collective events system.

9 Indyweb

A slightly different niche: hosting your own web content with sociable overtones.

10 References

Bennett, and Guerra. 2018. “Rethinking DIY Culture in a Post-Industrial and Global Context.” In DIY Cultures and Underground Music Scenes.
Mannell, and Smith. 2022. Alternative Social Media and the Complexities of a More Participatory Culture: A View From Scuttlebutt.” Social Media + Society.
Matias. 2017. Governing Human and Machine Behavior in an Experimenting Society.”

Footnotes

  1. NB a decentralised system is not necessarily also an encrypted one, but in practice there don’t seem to be people who are only interested in decentralised networks without cryptographic guarantees, and there are certain problems that cryptography certainly helps with in a decentralised setting, such as not being embarrasingly easy to spoof.↩︎