Free Code Chat Apps
Most people are familiar with proprietary chat apps like Skype, FaceTime, FB Messenger, WhatsApp, Hangouts, WeChat, and so on. Chat apps differ from email in that they are designed mainly for use by two or more people having a back-and-forth conversation made up of short messages (usually 1 or 2 sentences at a time), and often online at the same time. Most modern chat apps also support voice and video calling, and voice mail. This page has information about chat apps whose code is available as a commons, under a free software license, allowing it to be audited by the community, or modified ("forked") to make new versions or new apps. --Strypey (talk) 16:34, 20 May 2019 (UTC)
Features: what they can do
Name | Platforms supported | Text/ Audio/ Video? | Group chat | End-to-End Encrypted | Other features | # of Languages Supported |
---|---|---|---|---|---|---|
Briar | Android | text only | yes | yes | forums, blogs | ? |
ChatSecure | iOS | text, voicemail | yes | optional | file transfer | ? |
Conversations | mobile | text, voicemail, audio (?), video (?) (audio/video chat is said to work between Conversations and some other jabber apps, including Movim) | yes | optional | file transfer, message editing | |
Delta Chat | desktop and mobile | text, voicemail | yes | sometimes (works Delta <> Delta and with other email clients that support Autocrypt) | file transfer, image sharing | ? |
Jami | desktop and mobile | text, voicemail, audio, video | voice/ video only | yes | file transfer | ? |
Keybase | desktop and mobile | text, (audio/video?) | yes | yes | signed file storage | ? |
Linphone | desktop and mobile | text, audio, video | yes | in progress? | file transfer | 32+ supported via Transifex |
Meshenger | Android | audio | ? | ? | ? | ? |
Mumble | desktop and mobile | text, audio | yes | no | ? | ? |
qTox | desktop | text, audio, (video?) | text: yes, audio, (video?) | yes | ? | ? |
Riot | web, mobile, desktop | text, audio, video | yes (audio and video via Jitsi Meet plug-in) | yes (as of May, 2020) | file transfer, message editing | ? |
Session | mobile and desktop | text, voicemail | yes | yes | file transfer | ? |
Signal | mobile, desktop | text, voicemail, audio, video | yes | yes | image sharing | ? |
Silence | Android | text, multimedia messages | ? | yes | ? | ? |
TRIfa | Android | text, audio, video | ? | yes | image sharing, file transfer, video embeds | ? |
Wire | web, mobile, desktop | text, audio, video | yes | yes | message editing, image sharing, file transfer | ? |
Zom | mobile | text | yes | yes | file transfer | ? |
Structure: how they work
Name | License | Free Software Directory | Topology | Protocol(s) Used | Network Transport(s) |
---|---|---|---|---|---|
Briar | GNU GPLv3+ | Listed | distributed | Tor | internet, wifi, bluetooth |
ChatSecure | GNU GPLv3+ | Mentioned | federated | XMPP | internet |
Conversations | GNU GPLv3 | https://directory.fsf.org/wiki/Conversations.im | federated | XMPP, MUC, OMEMO, PGP | internet |
Delta Chat | MPL (core), GPL (most apps), unclear (iThing app) | ? | federated | IMAP (email), Autocrypt | internet |
Jami | GNU GPLv3+ | Listed | distributed | SIP | internet |
Keybase | Modified BSD | ? | centralized | internet | |
Linphone | core library: GNU GPLv3, desktop, Windows 10, iOS clients: GPLv2, Android client: GNU GPLv3, flexisip server: GNU AGPL | Listed | centralized | SIP, LIME | internet |
Meshenger | GNU GPLv3 | ? | distributed | IOTA | local network, community network (internet?) |
Mumble | Modified BSD | Listed | centralized | Own protocol, UDP | internet |
qTox | GNU GPLv3 | Mentioned | distributed | Tox | internet |
Riot | Apache 2.0 | Under review | federated | Matrix | internet |
Session | clients: GNU GPLv3 | ? | hybrid (mostly distributed, but public groups are federated) | Loki blockchain | internet |
Signal | clients: GNU GPLv3, server: GNU AGPLv3 | Listed | centralized | Signal | internet |
Silence | GPLv3 | ? | federated | SMS, MMS | GSM |
TRIfa | GNU GPLv2 | ? | distributed | Tox, Tor (with Orbot) | internet |
Wire | GNU GPLv3 (clients) / AGPLv3 (server) | Listed | centralized (federation is planned) | Proteus (own protocol) for text, DTLS and SRTP for voice | internet |
Zom | Android: Apache 2.0, iOS ? | federated | Matrix | internet |
Notes on Network Topology
Network topology terms are used in the table above as follows:
- Centralized: all connections between user apps must be made through a server (or cluster of servers) controlled by one operator.
- Federated: all connections between user apps must be made through servers, but users can still communicate even if they are connected to separate servers, controlled by different operators.
- Distributed: all connections are made directly between user apps, with no servers required.
A "distributed" network is commonly referred to as a "P2P" (peer-to-peer) network, or sometimes a "mesh" network. "Federated", as used here, is often referred to as "decentralized", following a convention established by the famous network topology diagram from Paul Paran's 1964 paper 'Centralized, Decentralized and Distributed networks'. However, in political writing, the term "decentralized" has commonly been used to refer to both networks of organizations, and networks of peers, while the term "federation" only applies to networks of organizations. --Strypey (talk) 13:50, 28 October 2019 (UTC)
Further notes on apps
Briar | adding contacts requires in-person scanning of QR codes or sending special URLs |
Keybase | acquired by Zoom in 2020 |
Session | a fork of Signal using a blockchain in place of a central server. Doesn't require a phone number to create an account, unlike Signal. Private "closed groups" can be up to 10 users, larger groups are public "open groups". |
Silence | a fork of TextSecure - the app that later became the Android client for Signal - keeping only the support for SMS text messages and MMS multimedia messages. |
Zom | began as updated version of the old ChatSecure for Android code, using XMPP, but later moved to the Matrix protocol. The blog piece at that link describes a plan to begin a new ChatSecure for Android, as a fork of Conversations, making it also an XMPP client, but this effort was abandoned |
See also
- Free code chat software - an overview of audio and video chat software
- Free Software Directory - Chat Category
- PrivacyTools.io chat app guide
- F-Droid: Aims to offer a complete collection of Android apps that can be built from free code with no proprietary dependencies. Other chat clients they list: https://search.f-droid.org/?q=chat
- Wikipedia - comparison table of chat apps