Free Code Chat Apps: Difference between revisions

From P2P Foundation
Jump to navigation Jump to search
(added Mumble, added text to Linphone)
(→‎Structure: how they work: clarified Mumble license info, added FSD column)
Line 39: Line 39:
{| class="wikitable"
{| class="wikitable"
|-
|-
! Name !! License !! Topology !! Protocol(s) Used !! Network Transport(s)
! Name !! License !! Free Software Directory !! Topology !! Protocol(s) Used !! Network Transport(s)
|-
|-
| [https://www.briarproject.org Briar] || [https://code.briarproject.org/briar/briar/blob/master/LICENSE.txt GNU GPLv3+] || distributed || Tor || internet, wifi, bluetooth
| [https://www.briarproject.org Briar] || [https://code.briarproject.org/briar/briar/blob/master/LICENSE.txt GNU GPLv3+] || || distributed || Tor || internet, wifi, bluetooth
|-
|-
| [https://chatsecure.org/ ChatSecure] || [https://github.com/ChatSecure/ChatSecure-iOS/blob/master/LICENSE GNU GPLv3+] || federated || XMPP || internet
| [https://chatsecure.org/ ChatSecure] || [https://github.com/ChatSecure/ChatSecure-iOS/blob/master/LICENSE GNU GPLv3+] || || federated || XMPP || internet
|-
|-
| [https://conversations.im/ Conversations] || [https://github.com/siacs/Conversations/blob/master/LICENSE GNU GPLv3] || federated || XMPP, MUC, OMEMO, PGP || internet
| [https://conversations.im/ Conversations] || [https://github.com/siacs/Conversations/blob/master/LICENSE GNU GPLv3] || || federated || XMPP, MUC, OMEMO, PGP || internet
|-
|-
| [https://jami.net Jami] || [https://git.jami.net/savoirfairelinux/ring-project/blob/master/COPYING GNU GPLv3+] || distributed || SIP || internet
| [https://jami.net Jami] || [https://git.jami.net/savoirfairelinux/ring-project/blob/master/COPYING GNU GPLv3+] || || distributed || SIP || internet
|-
|-
| [https://keybase.io/ Keybase] || [https://github.com/keybase/client/blob/master/LICENSE Modified BSD] || ? || ? || ?
| [https://keybase.io/ Keybase] || [https://github.com/keybase/client/blob/master/LICENSE Modified BSD] || || ? || ? || ?
|-
|-
| [https://www.linphone.org/ Linphone] || core library: [https://gitlab.linphone.org/BC/public/linphone/blob/master/LICENSE.txt GNU GPLv3], desktop, Windows 10, iOS clients: [https://gitlab.linphone.org/BC/public/linphone-desktop/blob/master/LICENSE.txt GPLv2], Android client: [https://gitlab.linphone.org/BC/public/linphone-android/blob/master/LICENSE.txt GNU GPLv3], flexisip server: [https://gitlab.linphone.org/BC/public/flexisip/blob/master/COPYING GNU AGPL] || centralized || SIP, LIME || internet
| [https://www.linphone.org/ Linphone] || core library: [https://gitlab.linphone.org/BC/public/linphone/blob/master/LICENSE.txt GNU GPLv3], desktop, Windows 10, iOS clients: [https://gitlab.linphone.org/BC/public/linphone-desktop/blob/master/LICENSE.txt GPLv2], Android client: [https://gitlab.linphone.org/BC/public/linphone-android/blob/master/LICENSE.txt GNU GPLv3], flexisip server: [https://gitlab.linphone.org/BC/public/flexisip/blob/master/COPYING GNU AGPL] || || centralized || SIP, LIME || internet
|-
|-
| [https://www.mumble.info/ Mumble] || [https://directory.fsf.org/wiki/Mumble#tab=Details Modified BSD] || centralized || ? || internet
| [https://www.mumble.info/ Mumble] || [https://github.com/mumble-voip/mumble/blob/master/LICENSE Modified BSD] || [https://directory.fsf.org/wiki/Mumble#tab=Details Listed] || centralized || ? || internet
|-
|-
| [http://signal.org/ Signal] || clients: [https://github.com/signalapp/Signal-Desktop/blob/development/LICENSE GNU GPLv3], server: [https://github.com/signalapp/ContactDiscoveryService/blob/master/LICENSE GNU AGPLv3] || centralized || Signal || internet
| [http://signal.org/ Signal] || clients: [https://github.com/signalapp/Signal-Desktop/blob/development/LICENSE GNU GPLv3], server: [https://github.com/signalapp/ContactDiscoveryService/blob/master/LICENSE GNU AGPLv3] || || centralized || Signal || internet
|-
|-
| [http://silence.im/ Silence] || [https://github.com/SilenceIM/Silence/blob/master/LICENSE GPLv3] || federated || SMS, MMS || GSM
| [http://silence.im/ Silence] || [https://github.com/SilenceIM/Silence/blob/master/LICENSE GPLv3] || || federated || SMS, MMS || GSM
|-
|-
| [https://riot.im/ Riot ] || [https://github.com/vector-im/riot-web/blob/master/LICENSE Apache 2.0] || federated || Matrix || internet
| [https://riot.im/ Riot ] || [https://github.com/vector-im/riot-web/blob/master/LICENSE Apache 2.0] || || federated || Matrix || internet
|-
|-
| [https://github.com/zoff99/ToxAndroidRefImpl TRIfa] || [https://github.com/zoff99/ToxAndroidRefImpl/blob/zoff99/dev003/LICENSE GNU GPLv2] || distributed || Tox, Tor (with Orbot) || internet
| [https://github.com/zoff99/ToxAndroidRefImpl TRIfa] || [https://github.com/zoff99/ToxAndroidRefImpl/blob/zoff99/dev003/LICENSE GNU GPLv2] || || distributed || Tox, Tor (with Orbot) || internet
|-
|-
| [https://www.wire.com/ Wire] || [https://github.com/wireapp/wire-webapp/blob/dev/LICENSE GNU GPLv3 (clients)] / [https://github.com/wireapp/wire-server/blob/develop/LICENSE AGPLv3 (server)] || centralized ([https://github.com/wireapp/wire-server/issues/631 federation is planned]) || ? || internet
| [https://www.wire.com/ Wire] || [https://github.com/wireapp/wire-webapp/blob/dev/LICENSE GNU GPLv3 (clients)] / [https://github.com/wireapp/wire-server/blob/develop/LICENSE AGPLv3 (server)] || || centralized ([https://github.com/wireapp/wire-server/issues/631 federation is planned]) || ? || internet
|-
|-
| [https://zom.im/ Zom] || [https://github.com/zom/zom-android-matrix/blob/master/LICENSE Android: Apache 2.0], iOS ? || federated || Matrix || internet
| [https://zom.im/ Zom] || [https://github.com/zom/zom-android-matrix/blob/master/LICENSE Android: Apache 2.0], iOS ? || || federated || Matrix || internet
|}
|}



Revision as of 17:02, 20 October 2019

Introduction

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 who are online at the same time, having a back-and-forth conversation made up of short messages (1 or 2 sentences at a 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/ Voice/ Video? Group chat End-to-End Encrypted Other features languages supported
Briar Android text only yes yes forums, blogs ?
ChatSecure iOS text yes optional voice mail, file transfer ?
Conversations mobile text, (voice messages) yes optional file transfer, short voice mails, message editing ?
Jami desktop and mobile text, audio, video voice/ video only yes none ?
Keybase desktop and mobile text, (audio/video?) yes yes signed file storage ?
Linphone desktop and mobile text, audio, video yes in progress? file-sharing ?
Mumble desktop and mobile text, audio yes ? ? ?
Riot web, mobile, desktop text, audio, video yes optional (for now) file transfer ?
Signal mobile, desktop text, audio, video yes yes image sharing, voice mails ?
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+ distributed Tor internet, wifi, bluetooth
ChatSecure GNU GPLv3+ federated XMPP internet
Conversations GNU GPLv3 federated XMPP, MUC, OMEMO, PGP internet
Jami GNU GPLv3+ distributed SIP internet
Keybase Modified BSD ? ? ?
Linphone core library: GNU GPLv3, desktop, Windows 10, iOS clients: GPLv2, Android client: GNU GPLv3, flexisip server: GNU AGPL centralized SIP, LIME internet
Mumble Modified BSD Listed centralized ? internet
Signal clients: GNU GPLv3, server: GNU AGPLv3 centralized Signal internet
Silence GPLv3 federated SMS, MMS GSM
Riot Apache 2.0 federated Matrix internet
TRIfa GNU GPLv2 distributed Tox, Tor (with Orbot) internet
Wire GNU GPLv3 (clients) / AGPLv3 (server) centralized (federation is planned) ? internet
Zom Android: Apache 2.0, iOS ? federated Matrix internet

Other notes:

Briar adding contacts requires in-person scanning of QR codes
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: