ejabberd est un serveur XMPP libre publié sous licence GPLv2, écrit en langage erlang. La grande force de ejabberd est sa capacité de mise à l'échelle (scalability), motorisant les plus importants serveurs Jabber de la planète (jabber.org, MXiT, SAPO). Le langage erlang, langage fonctionnel concurrent temps réel et distribué, lui permet les mises à jour sans interruption de service et des fonctionnalités de tolérance de pannes.
La version 2.0 de ejabberd apporte avant tout, après un an et demi de travail, des améliorations de mise à l'échelle et de robustesse, grâce à une refonte d'architecture, nommée Flexarch. Celle-ci apporte entre autre la capacité des composants à fonctionner en cluster.
ejabberd 2.0 affiche en outre les nouvelles fonctionnalités suivantes :
- PubSub, pour la publication d'informations et la souscription à ces flux, implémentant du vrai push (et non du polling) intelligent en fonction de la présence, et ce, en quasi-temps-réel (instantané) ;
- Personal Eventing, pour les évènements personnels tels que l'avatar, la géolocalisation, l'activité, mais aussi des informations plus « fun » telles que l'humeur, la musique écoutée, la vidéo regardée, le site web visité, le jeu en cours, la discussion en cours ;
- proxy de transferts de fichiers ;
- serveur de fichiers HTTP ;
- BOSH (ou HTTP binding) pour les applications Web 2.0 ;
- authentification PAM ;
- des améliorations du support LDAP ;
- administration à distance via les Ad-Hoc Commands ;
- localisation dans 24 langues ;
- et les incontournables corrections de bugs.