TL;DR most of my colleagues and family are finally using Signal. They will definitely not want to switch again to another IM (such as Matrix). But I believe Signal integration with the Librem 5 is possible.
Side question for Purism team: is a partnership with OpenWhisper envisioned?
I managed to get most of my family and colleagues on Signal. I understand that Purism wants to push its user towards Matrix as they have partnered up.
For most of my not-tech-savvy-at-all contacts, Signal is already a huge achievement. I can definitely not expect them to switch again, from Signal to Matrix.
The good news is PureOS will likely be powered by Features. For a bit more of information, see the following thread
What does it mean? It means I can write a daemon that is a standalone Signal client. When the “instant messaging Feature” interface will be released, I can push to this interface the information retrieved with my daemon.
I definitely want a Signal client for my Librem, but I cannot ask Purism for it. Moxie, Signal’s principal developper, has also long been known to be very hostile to third party clients. Well, at least to third party clients binding to their servers.
Signal is released under GPLv3 licence, meaning their code is Libre. A user already wrote a basic command-line client for Signal
This client is written in Java, and is based mostly on libsignal-service-java, the library OpenWhisper provides and uses for its Android application. This library is based on a lower level library : libsignal-protocol-java.
I’m not that comfortable with having a daemon for messaging that requires a whole jvm running to power it. Luckily for us, OpenWhisper also has released libsignal-protocol-c, a C library they use for their iOS application. It is a bit hard to read for non-professional developpers though.
Someone wrote a sort of wrapper around lib-signal-protocol-c, called axc. I believe this wrapper could be used to create a daemon that acts as a standalone client, working even on desktop (given that you can use a phone number for registration).
I don’t have much free time to develop it, but I might try to find some time. If anyone is interested in building it first, be my guest