Community Rules for an Open Web
Home Make Library About Docs
  • Why it matters
  • Platforms by format
    • Chat group
    • Discussion forum
    • Listserv / email
    • Social network / media
    • Peer production
    • Team
  • Comparing them
  • Documentation ↗

Choosing a platform

A guide for communities that haven't yet picked a home online, or are thinking of moving: some of the most common platforms, by the kind of online space they make, and what to look for.

Why it matters

Where a community lives shapes how it can govern itself. It affects how much technical and organizational work you may be on the hook for, how much autonomy and power you're likely to have (can the company behind it change the rules, or close your space?), and what it costs. For each platform we note:

  • Software. What exact software is being used? Is it open source or proprietary?
  • Protocol. Is the platform based on an open protocol, so it can talk to other servers and apps?
  • Open source. Is the software open source, per OSI standards?
  • Self-hostable. Can you host your own instance of it (e.g., on your own server)?
  • Model. What structural model describes how its infrastructure is organized?

Each of these is defined in the documentation's Reference → Platforms, along with the costs to expect for each kind of platform. Let us know if you believe a platform should be included here.

Platforms by format

Grouped by format, the kind of online space. A row marked (any) stands for any software that speaks that protocol; the rows under it are examples.

Chat group
PlatformSoftwareProtocolOpen sourceSelf-hostableModel
Discord Proprietary No No Centralized
Telegram Proprietary Custom (MTProto) No No Centralized
WeChat Proprietary No No Centralized
Signal Chat Signal Signal Protocol Yes No Centralized
Matrix client (any) Matrix Varies Varies Federation
Matrix client Synapse Matrix Yes Yes Federation
Matrix client Dendrite Matrix Yes Yes Federation
Matrix client Element Matrix Yes Yes Federation
Discussion forum
PlatformSoftwareProtocolOpen sourceSelf-hostableModel
Reddit Proprietary No No Centralized
ActivityPub client (any) ActivityPub Varies Varies Federation
ActivityPub client Lemmy ActivityPub Yes Yes Federation
Discourse Discourse Yes Yes Centralized
Listserv / email
PlatformSoftwareProtocolOpen sourceSelf-hostableModel
Front Porch Forum Proprietary No No Centralized
Google Groups Proprietary No No Centralized
Mailman-based lists GNU Mailman SMTP / Email Yes Yes Federation
Social network / media
PlatformSoftwareProtocolOpen sourceSelf-hostableModel
Facebook Proprietary No No Centralized
LinkedIn Proprietary No No Centralized
Nextdoor Proprietary No No Centralized
ActivityPub client (any) ActivityPub Varies Varies Federation
ActivityPub client Mastodon ActivityPub Yes Yes Federation
ActivityPub client Bonfire ActivityPub Yes Yes Federation
ActivityPub client Pleroma ActivityPub Yes Yes Federation
ActivityPub client Akkoma ActivityPub Yes Yes Federation
ActivityPub client Misskey ActivityPub Yes Yes Federation
ActivityPub client PeerTube ActivityPub Yes Yes Federation
ActivityPub client Pixelfed ActivityPub Yes Yes Federation
ActivityPub client Friendica ActivityPub Yes Yes Federation
Diaspora Protocol client (any) Diaspora Protocol Varies Varies Federation
Diaspora Protocol client Diaspora* Diaspora Protocol Yes Yes Federation
AT Protocol client (any) AT Protocol Varies Varies Federation / Relay
AT Protocol client Bluesky AT Protocol Yes No Federation / Relay
AT Protocol client Blacksky AT Protocol Yes No Federation / Relay
Roundabout Roundabout AT Protocol No No Centralized / Federation
Nostr client (any) Nostr Varies Varies Relay
Nostr client Damus Nostr Yes No Relay
Nostr client Amethyst Nostr Yes No Relay
Nostr client Primal Nostr Yes No Relay
Peer production
PlatformSoftwareProtocolOpen sourceSelf-hostableModel
Zooniverse Panoptes Yes No Centralized
iNaturalist iNaturalist Yes No Centralized
Wikipedia MediaWiki Yes No Centralized
Fandom MediaWiki (proprietary fork) No No Centralized
Custom wiki MediaWiki Yes Yes Centralized
Team
PlatformSoftwareProtocolOpen sourceSelf-hostableModel
Slack Proprietary No No Centralized

Comparing them

  • Hosted for you, or self-hosted? A platform someone else runs (a company, or an institution) means no servers to look after, but also less control: its operator sets the terms. Self-hosting gives you control, and the work and costs that come with it: hosting, a domain, backups, updates.
  • Open protocol? Platforms built on an open protocol (ActivityPub, AT Protocol, Matrix, Nostr, email) let your members reach people elsewhere, and let you move without losing your connections. See protocol generics and federation.
  • Open source? Open source software can be inspected, adapted and run by anyone, so a community isn't tied to one company. See open source.
  • What will it cost? The main drivers are whether you host it and whether it carries heavy media; moderation and admin work follows your size and culture whatever you choose. See expected costs.

Once you've chosen, make your community's Card: picking a listed platform fills in its details and the usual costs.

CROW is a research project from Princeton HCI