User:JeremyNguyenGCI/Sandbox
This wiki page was created to identify, research, and document open-source team communication & collaboration tools as part of the following task: https://phabricator.wikimedia.org/T179989
Zulip
edit- See also: Zulip vs. Mattermost comparison
Zulip is an open-source team communication system acquired by Dropbox in 2014 and released as open-source in 2015. It is created primarily using Python and Javascript (web front end). Zulip's biggest strength is its threaded group conversations which allow people to talk about multiple topics at once without getting lost or overwhelmed.
Amount of contributors in repositories
- zulip/zulip: 547
- zulip/zulip-mobile: 60
- zulip/zulip-electron (desktop client): 42
- zulip/zulip-android: 31
Requirements:
- Ubuntu 18.04 Bionic, Ubuntu 16.04 Xenial, Debian 9 Stretch, or Debian 10 Buster
- Minimum 2 vCPUs/cores, 2GB of RAM or more and 10GB storage
- PostgreSQL 9.1+
- SSL certificate and email credentials
Pros
- Threaded group conversations
- Desktop apps
- One-on-one and group private conversations
- Inline image, video, and tweet previews
- More than 40 integrations
- Desktop and Email notifications
- Support for Android, iOS, MacOS, Windows, and Linux
- 33 different language options (including English, Spanish, French, Italian, German, Japanese, Korean, Portuguese, Russian, Arabic, and Chinese translations)
Cons
- Lots of bugs still present
- Terrible Android and iOS apps
Mattermost
edit- See also: Zulip vs. Mattermost comparison
Mattermost is a team communication system released on June 2015 with an "Enterprise" version and an open-source "Team" version. It is written in Go and React. Mattermost considers itself as an open-source version of Slack. It also has an easy Docker install.
Amount of contributors in repositories
Requirements:
- Ubuntu 16.04, Ubuntu 18.04, Debian Buster, CentOS 6+, CentOS 7+, RedHat Enterprise Linux 6+, RedHat Enterprise Linux 7+, Oracle Linux 6+, Oracle Linux 7+
- MySQL 5.6+ or PostgreSQL 9.4+
- Amazon Aurora MySQL 5.6+
- 1 - 1,000 users - 1 vCPU/cores, 2 GB RAM
- 1,000 - 2,000 users - 2 vCPUs/cores, 4 GB RAM
- Storage: 5-25 MB/user/month
Pros
- Self-hosted one-on-one and group messaging, file sharing and search
- Native apps for iOS, Android, Windows, Mac, Linux
- Unlimited search history & integrations
- Easy to use Slack-like user interface
- Threaded messaging
- Markdown formatting
- Access multiple teams from one account
- Has a good SDK for plugin creation
- Support for Android, iOS, MacOS, Windows, and Linux
- Supports 17 different language translations (including English, German, French, Dutch, Italian, Polish, Portuguese, Russian, Spanish, Turkish, Chinese, Korean & Japanese translations)
Cons
- Threaded conversation doesn't show that well
- Super closed development process
- Requires buying a closed-source product past a certain size
- Less integrations and plugins than other tools
Rocket.Chat
editRocket.Chat is a web chat server, developed in JavaScript, using the Meteor web framework. It claims to be a great solution for communities and companies wanting to privately host their own chat service or for developers looking forward to build and evolve their own chat platforms.
Amount of contributors in repositories
- RocketChat/Rocket.Chat: 576
- RocketChat/Rocket.Chat.Electron (desktop client): 114
- RocketChat/Rocket.Chat.Android: 82
- RocketChat/Rocket.Chat.iOS: 54
Requirements
- Ubuntu 18.04 LTS (with or without docker)
- Node.js 4.5+
- MongoDB 2.6+
- 50-200 users - Single core (2 GHz), 1 GB RAM, 30 GB of SSD
- 100-500 users - Dual core (2 GHz), 2 GB RAM, 40 GB of SSD
- 300-1000 users - Intel Xeon E5-2603 v4 (or equivalent), 4 GB RAM, 500 GB hard disk or larger
Pros
- Supports a wide variety of authentication methods
- Desktop and Email notifications
- Ability to share your screen with others
- Android and iOS apps
- Looks similar to Slack
- Very active and helpful community
- Supports 22 different languages
- Support for Android, iOS, MacOS, Windows, and Linux
Cons
- Large number of open issues on GitHub (~1984)
- Small annoying bugs appear after long use (web client)
Matrix
editSee Also: Matrix.org
Matrix is an open protocol for interoperable, decentralized, real-time communication over IP. It can be used to power Instant Messaging, VoIP/WebRTC signalling, and Internet of Things communication between different service providers.
Amount of contributors in repositories
- matrix-org/matrix-react-sdk: 334
- matrix-org/synapse (homeserver): 191
- matrix-org/matrix-python-sdk: 50
- matrix-org/matrix-js-sdk: 42
- matrix-org/matrix-ios-sdk: 21
- matrix-org/matrix-android-sdk: 12
- matrix-org/matrix-angular-sdk: 11
Requirements
- POSIX-compliant system (tested on Linux & OS X)
- Python 3.7
- At least 1GB of free RAM
Pros
- Works like IRC with bouncers
- Does not require a centralized server
- Supports different kinds of communication
- Offers a huge range of different clients
- Can be integrated with existing communication services
Cons
- Documentation is a bit confusing and difficult for a newbie to understand
- Is not technically a standalone tool but a protocol
Kontalk
editKontalk is a free community-driven cloud-based instant messaging service. Users can send messages and exchange photos or contacts. Kontalk also provides end-to-end encrypted messaging. Its client-side code is open-source and their network of servers is run by volunteers to provide a stable and secure service for all of users.
Amount of contributors in repositories
- kontalk/androidclient: 47
- kontalk/desktopclient-java: 18
- kontalk/specs (docs): 2
- kontalk/client-adapters: 2
Requirements
- No requirements needed, Kontalk runs on it own network of servers run by volunteers
Pros
- Desktop app with multi-platform support
- Free of charge, runs on donations
- XMPP client protocol
- End-to-end-encrypted messaging
- Servers can be hosted on its own
- Offers 6 different languages (English, German, Italian, Dutch, Serbian, Spanish)
- Support for Android, MacOS, Windows, and Linux
Cons
- Accounts are bound to phone number, no username
- Desktop app is runs slow (likely because of Java)
- The desktop app UI looks terrible
- Lack of chat features like file sharing
- No iOS support
Glitter
editGitter is an open-source instant messaging service. It is designed for developers and tightly integrated with GitHub repositories. It was acquired by GitLab in 2017 and became open source under an MIT license.
Amount of contributors in repositories
- gitter/webapp: 1145
- gitter/gitter-ios-app: 1145
- gitter/gitter-android-app: 1144
- gitter/desktop: 1144
Requirements
- No requirements needed; Glitter rooms/communities are hosted on Glitters's servers
Pros
- Supports authentication using GitHub or Twitter
- Automatically logs all messages in the cloud
- Individual chat rooms can be created for individual git repositories on GitHub.
- Notifications
- Integration with Jenkins and Travis CI
- Markdown and KaTeX
- Inline media files
- Support for Webapp, Android, iOS, MacOS, Windows, and Linux
Cons
- Many of its features are tightly integrated with Github (not Gerrit)
- Privacy concerns due to logs
- Extremely unintuitive design
- Supports English only
Discourse
edit- See also: Discourse
Discourse is an open-source open source discussion platform. It claims to completely disrupt the Internet forum idea and intends to improve online discussion quality through its improved software.
Amount of contributors in repositories
- discourse/discourse: 710
Requirements
- Ubuntu 18.04 Bionic LTS (At minimum, a 64-bit Linux OS with a kernel version of 3.10+ is required)
- 1 GB of RAM for small communities, 2 GB for larger communities
Pros
- Trust system to prevent trolls and spammers
- Simple
- Just in time loading (no next page button)
- Dynamic notifications (notifications whenever relevant)
- Designed for mobile displays
- Integrations with Slack, Google Analytics, Github, Patreon, and more
- Social logins
- Support for 25 different languages (Hebrew, Spanish, Chinese, French, German, Korean, Arabic, Vietnamese)
- Support for Android, iOS, MacOS, Windows, and Linux
Cons
- Is a paid service unless self-hosted
- Buggy apps
- Poor email forwarding
Signal
editSignal is a cross-platform encrypted messaging service. It uses the Internet to send one-to-one and group messages, which can include files, voice notes, images and videos. It can also make one-to-one voice and video calls as well as SMS (on Android).
Amount of contributors in repositories
- signalapp/Signal-Android: 192
- signalapp/Signal-Desktop: 108
- signalapp/Signal-iOS: 88
- signalapp/libsignal-service-java: 12
- signalapp/Signal-Server: 10
Requirements
- No requirements needed; Signal's servers are supported by a team of developers, community donations, and grants.
Pros
- Axolotl protocol (Fast and reliable protocol)
- Uses existing phone number (No passwords to forget)
- Push notifications
- Free group, text, picture, and video messages
- One-to-one voice and video calls for mobile users
- End-to-end encrypted
- Supports seven different languages (English, German, Spanish, French, Chinese, Portuguese, Portuguese)
- Support for Android, iOS, MacOS, Windows, and Debian-based Linux
Cons
- Requires a phone number
- Blocked in Iran and Egypt
MongooseIM
editMongooseIM is a robust and efficient instant messaging platform designed for enterprise use. It is fault-tolerant and can easily scale for more capacity by simply adding a box or VM. MongooseIM can accept client sessions over XMPP, REST API, SSE, Websockets, and BOSH.
Amount of contributors in repositories
- esl/MongooseIM: 105
- esl/mangosta-android: 3
- esl/mangosta-ios: 6
- esl/mongooseim-docker: 11
Requirements
- 8GB RAM
- 2-4 cores
- 100MB of disk space
- *nix OS (CentOS 7, Ubuntu 16.04 LTS (Xenial), Ubuntu 18.04 LTS (Bionic), or macOS 10.14 (Mojave))
Pros
- Reliable
- Scalable (Add more VM's)
- Various Messaging Protocols (XMPP Protocol, Rest API, etc.)
Cons
- You have to build your own client
- iOS and Android apps are not available on App or Play store
Conclusion
editThere are many open-source communication and collaboration tools, all with their own unique features. Most of them are based on the idea that the freedom to configure your tool can build a more productive team, while some of them seek to completely reform the typical chat system. In any case, FOSS software has come a long way and can be a decent alternative to the software behemoths such as Slack or Skype.