Top pick · highest health
ejabberd
XMPP instant messaging server.
Communication - Custom Communication Systems
We track 6 open-source WhatsApp alternatives, of which 3 currently score 70 or above on Repoly's GitHub health scale and 2 ship a Docker image. ejabberd leads on health at 95/100 with 145 commits in the last 90 days; across all 6 projects you are choosing between Apache-2.0, GPL-2.0, GPL-3.0 and 1 other licences.
Read the comparison: Tuwunel vs Continuwuity vs Conduit vs Synapse (2026)
Showing 6 of 6 tools
Top pick · highest health
XMPP instant messaging server.
Fully-featured Matrix client for Web, iOS & Android.
Instant messaging platform. Backend in Go. Clients: Swift iOS, Java Android, JS webapp, scriptable command line; chatbots.
A simple, fast, and reliable chat server powered by Matrix.
All-in-one Dockerized easy XMPP solution, including web admin and clients.
Feature-rich and easy to configure XMPP server.
ejabberd edges Element 95 to 87, and most of the difference is Docker support: a Docker image against no Docker image. Element is the busier codebase, though, with 676 commits in 90 days to 145. Element has the largest following at 14k stars, yet ranks #2 of 6, held back mostly by Docker support (no Docker image).
The most recent release is Element v1.12.33, published 3 days ago. Snikket publishes no tagged releases, which costs up to 25 of the 100 points. None of the measured options scores under 40. By stack, Erlang (1), Go (1) and Lua (1) are the most common. Element, Conduit, Snikket and 1 more are permissively licensed; ejabberd and Tinode are copyleft. Prosody IM is not hosted on a forge Repoly can read, so it has no measured score yet.
| Tool | Health | Stars | Licence | Last commit | Docker |
|---|---|---|---|---|---|
| ejabberd Steady at 95 since 11 Sep | 95 | 6.7k | GPL-2.0 | 2 days ago | Yes |
| Element Steady at 87 since 11 Sep | 87 | 14k | Apache-2.0 | today | No |
| Tinode Up 13 points since 11 Sep, no release for 3 months | 87 | 14k | GPL-3.0 | 5 days ago | No |
| Conduit Up 11 points since 11 Sep | 56 | 964 | Apache-2.0 | 12 days ago | No |
| Snikket Up 11 points since 11 Sep, no tagged release | 49 | 476 | Apache-2.0 | 7 days ago | Yes |
| Prosody IM | 10 | 0 | MIT | unknown | No |
ejabberd scores highest at 95/100, with 145 commits in the last 90 days, 6.7k stars on GitHub and its latest release (26.09) published 1 month ago. Element has the most raw commit activity at 676 commits in 90 days.
4 of 6 are permissively licensed (MIT, Apache, BSD or similar): Element (Apache-2.0), Conduit (Apache-2.0), Snikket (Apache-2.0), Prosody IM (MIT). 2 use copyleft licences such as GPL or AGPL, which require you to publish changes if you distribute a modified version.
2 of 6 publish a Docker image or Compose file: ejabberd, Snikket. Docker support contributes 10 of the 100 available health points, because it is the clearest signal that self-hosting is a supported path rather than an afterthought.
On measured health ejabberd leads, 95 to 87. ejabberd has 145 commits in 90 days, 6.7k stars and 26.09 from 1 month ago; Element has 676 commits in 90 days, 14k stars and v1.12.33 from 3 days ago. Pick Element if licensing matters: it is Apache-2.0, while ejabberd is GPL-2.0.
3 of the 5 measured options score 70 or above. Every measured option had commits in the last 90 days. None scores under 40.
Erlang: ejabberd. Go: Tinode. Lua: Prosody IM. The stack matters if you plan to extend or patch the tool yourself.