This is an initiative to explore and experiment with different services as an alternative to IRC for instant messaging.
The main idea is to do a deep research before consider any change proposal, I think we should only consider full free software options, options like slack or telegram should not be considered here.
The problem
The GNOME community uses a lot the instant messaging but we're using the IRC right now as the official channel to get in touch with the community and bring discussions or help.
The IRC is being useful and there are a lot of communities using it for a long time but there are a lot of new applications and services that are trying to replace the IRC for team communications with a modern interface and new features.
The mobility is also a key feature needed today. Nowadays almost everyone is connected 24x7 with the mobile phone and there's a new need that's that the instant messaging should be something to do and follow on the go, today it's a need that there's a good mobile client to follow discussions and to be able to participate using a tablet or a phone with a 3G connection.
The spambots is another big problem nowadays, lots of IRC channels now requires authentication to avoid spam and this is like an ad/hoc solution for that. New platforms allow a better control of users and this can help with the spam problem.
Possible solutions
- IRC:
- Pros:
- This is the current solution, no changes needed
- Good clients in all platforms and a good GNOME client (Polari)
- Bridges to new platforms like matrix, mattermost, slack, etc
- Cons:
- No offline messages
- There's limited authentication
- It's not easy to share files
- No code formatting or rich text messages
- No typing notifications
- No presence
- No read receipts
- Currently piggybacking on a network which isn't under GNOME's control
- Bad management in mobile / poor connection environments
- No search
- No push notifications
- Difficult to mitigate spam
- Notes:
- There are external tools to fix many of these the cons
- Pros:
XMPP: https://xmpp.org/
- Pros:
- Well known protocol, a lot of clients / servers
- Relatively lightweight server implementations
- Cons:
Finding a good mix of client & server which provides a full feature-set is hard.
- Many clients are quite outdated and/or don't have an emphasis on usability
- Relatively hard to develop on
- Pros:
Matrix: https://matrix.org/
- Pros:
- Active developed GNOME client
- Official web and native mobile clients.
- Riot Web/Desktop UI/UX has been recently rewritten and massively improved.
- High quality bridges to other services, easy to communicate with IRC, XMPP, Slack, Telegram, Discord etc.
- End-to-end encryption (Signal-style) when needed.
VoIP and Video calling & conferencing
- Widgets (ability to embed arbitrary webapps into a chatroom, e.g. Etherpad, whiteboarding, etc)
- Federation (maybe this is a con?)
- Conversations are decentralised, like git. No single point of failure or control on conversations.
Open Standard based (https://matrix.org/docs/spec), managed by a non-profit foundation.
- Cons:
Resource intensive server? (Synapse performance is being addressed however)
- Bad android client (this is quite subjective, plus the RiotX rewrite is on the horizon)
- The IRC gateway gives a poor experience for IRC users, with Matrix users often sending "$USER sent a long message: URL", so is not necessarily a "pro"
- The IRC gateway is affected by spam from IRC
- Notes:
There's a previous initiative to move to Matrix: https://wiki.gnome.org/Initiatives/Matrix
KDE moves to matrix, https://community.kde.org/Matrix
- Matrix.org people are interested in help, they want to move communities to their software
- Pros:
- Pros:
matterbridge bridges to most other services
matterircd allows users to connect with IRC clients
- Cons:
- No native desktop or GNOME clients for the raw service
- Pros:
Rocket chat - Example public instance: https://chat.inkscape.org/channel/inkscape_user
- Pros:
- Cons:
- No native desktop or GNOME clients
Gitter - Example public instance: https://gitter.im/gitterHQ
- Pros:
- Cons:
Zulip - Example public instance: https://chat.zulip.org/
- Pros:
- Cons:
- No native desktop or GNOME clients
See also: https://wiki.gnome.org/action/edit/Initiatives/CommunicationInfrastructure
Server Deployment options
- Custom deployment and management
- Own server but external management
- SaaS
Comments
add your comment here, If you are trying any of the proposed solutions and have encountered any issues or missing features, please list them here. Please include your name next to each comment.