I’ve been talking to people who want to know technical details about the DeltaChat ecosystem, and getting terminologically muddled. Here are the concepts I am trying to distinguish (all of which have also been discussed on the forums), with names that may be wrong. Corrections and suggestions very welcome:
- Chatmail/core (formerly DeltaChat core): The backend code used by DeltaChat clients (in the sense that is inclusive of third-party clients like ArcaneChat and DeltaTouch). Developed and maintained by Merlinux.
- DeltaChat client:
a. A first-party (Merlinux) client using the Chatmail/core code.
b. DeltaChat client: A client using the Chatmail/core code. - Chatmail client:
a. A client using the Chatmail/core code.
b. A client implementing the Chatmail standard for doing instant messaging over e-mail.
c. A client that can send and receive Autocrypt e-mails by IMAP (meaning it can log into/register and use accounts on a Chatmail/relay instance). Has (SecureJoin?) key exchange. - chatmail client: A mail client with a chatlike threaded interface.
- Chatmail/relay: A codebase for running Chatmail relays, developed and maintained by Merlinux. (server/README.md at main · chatmail/server · GitHub)
- Chatmail services: Chatmail/relay instances (used here).
- Chatmail server or Chatmail relay:
a. A server/relay using the Chatmail/relay codebase. This definition excludes reimplementations in Mox etc..
b. a server/relay that quickly relays only Autocrypt-encrypted e-mail using IMAP and SMTP (and usually has a low-maintenance config with fairly temporary storage and open registration). - chatmail server/relay:
a. A fast mailserver that does not lag unacceptably when used for chatting.
b. A mailserver used for chatting - Chatmail: A formal standard for doing instant messaging over e-mail. This is a client standard.
- Chat-over-Email: The same standard (alternate name used in the docs).
The server/relay and client names match, which produces an impression that they are a closed system. This is not the case (Chatmail/core can use any IMAP-capable mailserver and Chatmail/relay can interoperate with any standard mailclient that can handle Autocrypt). Using something other than “Chatmail” for the name of the relay or relay type might clarify.
Chatmail/relay implicitly defines a de-facto standard which Mox, for instance, is trying to reimplement. Having a name for this standard, perhaps with just an informal checklist for re-implementors, would be useful.
It is confusing for a standard to share a name with an implementation (if not uncommon).
In the past, “Delta” seems to have been used as a prefix for implementations by Merlinux (and the Merlinux-endorsed Deltatouch).
A glossary of ecosystem terms would be useful. https://cosmos.delta.chat/ is useful and related.