Friday FOSS fest Most modern chat systems are entirely proprietary: proprietary clients, talking proprietary protocols to proprietary servers. There's no need for this: there are free open standards for one-to-one and one-to-many comms for precisely this sort of system, and some venerable clients are still a lot more capable than you might remember.
There is a brute-force way round this: have one app that embeds lots of separate Electron instances in tabs. There are a few of these around – first came RamBox, followed by Franz. Both use the "freemium" model: there's a completely functional free client, plus subscriptions for extra features. If you prefer to avoid such things, both services have no-cost forks: Ferdi from Franz and Hamsket from RamBox. A newer rival still is Station.
But there is another way. If you were online in the 1990s, you may recall the early days of online chat, with multiple proprietary "instant messengers": AIM, Yahoo, MSN and so on. Most of them have been shut down now, although the oldest of all, ICQ, was spun off by AOL and is still around. Some of the clients could connect to rival services, leading to decidedly hairy hacks to validate that clients were genuine, such as AOL intentionally exploiting a buffer overflow in its own code. This didn't stop third parties creating their own clients, such as the Linux client GAIM.
- Ubuntu, Wikimedia jump ship to the Libera Chat IRC network after Freenode channel confiscations
- Will the real IRC please stand up? Freenode’s forest fire leaves ashes – and fresh growth
- After staff revolt, Freenode management takes over hundreds of IRC channels for 'policy violations'
- The Rust Foundation gets ready to Rumbul (we're sure new CEO has never, ever heard that joke before)
Back in 1999, a group came together to create a free open standard for person-to-person messaging: Jabber, later renamed the Extensible Messaging and Presence Protocol or XMPP. For a while, it was widespread, including large corporations such as Facebook and Google, although most have removed support for it now.
The original purpose of GAIM went away, but the app did not. The team added support for other operating systems and protocols and renamed it to Pidgin. It's still very much alive. It runs on Windows as well as Linux, and not only does it work with any XMPP service, such as Cisco's, but also Apple's Bonjour, Google Talk, Groupwise, ICQ, IRC, SIMPLE, and Zephyr.
There are also plugins available for dozens more – Telegram, Facebook Messenger, both personal and business versions of Skype, Discord, Mattermost, QQ, Rocket.chat, Twitter, Slack, Steam, Threema, WeChat, and more. It may not talk to every chat service out there, but it supports most of them.
There is a drawback with multiprotocol clients like this, though, be they tabbed web-apps or true native client-server setups – you need to configure all the protocols you will use in each client. A newer protocol hopes to tackle that problem: Matrix. Matrix can do point-to-point conversations, as XMPP does, but also channels and chatrooms – and more importantly, it can link to other services via server-side bridges. A Matrix client – the reference one is Element – can bring multiple messaging services together into a single inbox in a single local app, connected via a single login.
Matrix can be tricky to configure, though, so some companies are offering paid-for messenger-unification services running on top of the Matrix protocol. Beeper is a commercial effort and includes Apple iMessage via a hilarious workaround, whereas the cheaper Element One is basically a hosted version of Matrix. A new mystery contender is Texts, which is closed-source for now although the company says it will open-source its SDK later.
There never was a golden age of any-to-any chat systems, but fifteen years ago, things were a lot better than they are now. There is reason to hope, though. There are signs that things are getting better. ®