ejabberd is an open source Jabber/XMPP server designed from the ground up to be the building bricks of highly critical messaging systems.
Written in Erlang programming language, ejabberd is cross-platform, fault-tolerant, clusterable, very modular and highly versatile. It can be extended in other programming languages, such as Elixir.
Designed to be massively scalable, it is widely used to power web scale deployments across many software industries: Mobile messaging, Social Networks, Gaming, Internet of Things, …
ejabberd is taking great care of XMPP compliance, implementing most of the XMPP extensions published by the XMPP Standard Foundation.
To innovate even further, the core development team is constantly working with other open source communities to create bridges and elegant features.
This ejabberd community site is a hub for all people that are interested in ejabberd, Erlang, XMPP and messaging in general.
While XMPP has been designed before modern web and smartphone, the protocol has kept up with the pace and is mobile and websocket aware. ejabberd supports the latest refinements of XMPP to build modern and up to date services on mobile and Web.
ejabberd can run in a cluster out of the box. All nodes are active, meaning that a platform built on top of ejabberd supports fault tolerance mechanisms. Along with the ability to upgrade the server while it is running, it means you can build messaging services with unmatched uptime.
ejabberd is designed from the very beginning for massive scalability and it is no wonder it is adopted to power the largest XMPP deployments in the world. Being clusterable, the code base is constantly optimized to handle more load per node. It thus can scale to millions of concurrent users.
ejabberd comes with a very powerful command-line tool that allows controlling most of the aspects of the server. Most common operations can be automated to make it a pleasure for admins to work with.
ejabberd offers many customization hooks to adapt it easily to various use cases. This makes it the server of choice no matter which area you are working in: mobile messaging, gaming, internet of things, it can do it all.
ejabberd code is extremely modular and can be extended through a powerful API. Contributors are using the API to provide tens of third-party extensions to ejabberd to enhance and tailor its behavior.
Everyone has the freedom to use and customize the ejabberd code, according to the GPLv2 license.
Best practices are baked right into the server. Secure code runs in a trusted environment, with all SSL / TLS encryption best practices.
ejabberd offers a full API to write your custom plugins and modify the server so that it works exactly as you wish, with a minimal amount of code.
ejabberd is compliant with the XMPP standard and most of the available extensions. It can be leveraged with all the available XMPP clients and libraries and can federate with other servers.
Professional release engineers manage the ejabberd release cycle, QA the full stack, and keep APIs stable. The core team has impressive credentials and 16 years of Erlang development under their belt.
ejabberd’s helpful, kind, and supportive community spans the globe. ejabberd’s mission is to empower everyone to use and build services on top of the XMPP protocol, and more.
Mickaël Rémond presents ProcessOne past product development and explains how it fits into a consistent long term vision about ejabberd, XMPP, push, mobile and realtime messaging in general.
Jérôme Sautret talks about developing for ejabberd XMPP SaaS.
Christophe Romain talks about websockets at SeaBeyond 2014.