How do you define modern? I would call these modern clients personally:
- Android: Conversations
- iOS / MacOS: Monal
- Linux: Dino
- Windows: Gajim
How do you define modern? I would call these modern clients personally:
It's not perfect yet, but it's much, much better than the old days.
OMEMO is supported by every major client, and they interoperate successfully. Unfortunately, most clients are stuck with an older version of the OMEMO spec. It's not ideal, but it doesn't cause any practical issue, unless you use Kaidan or UWPX, which only support the latest version.
All popular clients and servers support retrieving chat history now too.
In practice, I've been using it for several months to chat with friends and family, and haven't had any issues.
Unfortunately, I think it just picks randomly. I have had times where it has redirected me to an instance that is down. That said, if you have an instance you know is stable, it does give you a drop-down to always redirect to a specific one.
Agreed, it's licensed under the MPL, a "weak copyleft" license. Each file that is MPL must remain MPL, but other files in the same project can be permissive or even proprietary.
While I definitely think it's better than a fully permissive license, it seems more permissive than the LGPL, which is the main license of WebKit and Blink. So I don't feel it's strong enough to stop it being co-opted.
To be honest, I think the above clients and services like Snikket fit that description.
Now, I wouldn't say they're all on the same level UX-wise as WhatsApp, Telegram etc. But I do think they are 90%-95% of the way there, and in my experience that's enough to convince friends and family to switch over.
In my experience, when people haven't wanted to switch, it's normally not been because of the clients, but because they don't want to install yet another app to talk to someone.