ejabberd is an
Extensible Messaging and Presence Protocol
Extensible Messaging and Presence Protocol (XMPP, originally named Jabber) is an open communication protocol designed for instant messaging (IM), presence information, and contact list maintenance. Based on XML (Extensible Markup Language), it ...
(XMPP) application
server and an
MQ Telemetry Transport (MQTT) broker, written mainly in the
Erlang programming language. It can run under several
Unix-like
A Unix-like (sometimes referred to as UN*X or *nix) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Unix-li ...
operating systems such as
macOS
macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac (computer), Mac computers. Within the market of ...
,
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which i ...
,
FreeBSD
FreeBSD is a free and open-source Unix-like operating system descended from the Berkeley Software Distribution (BSD), which was based on Research Unix. The first version of FreeBSD was released in 1993. In 2005, FreeBSD was the most popular ...
,
NetBSD
NetBSD is a free and open-source Unix operating system based on the Berkeley Software Distribution (BSD). It was the first open-source BSD descendant officially released after 386BSD was forked. It continues to be actively developed and is a ...
,
OpenBSD
OpenBSD is a security-focused operating system, security-focused, free and open-source, Unix-like operating system based on the Berkeley Software Distribution (BSD). Theo de Raadt created OpenBSD in 1995 by fork (software development), forking N ...
and
OpenSolaris
OpenSolaris () is a discontinued open-source computer operating system based on Solaris and created by Sun Microsystems. It was also, perhaps confusingly, the name of a project initiated by Sun to build a developer and user community around t ...
. Additionally, ejabberd can run under
Microsoft Windows. The name ejabberd stands for
Erlang Jabber Daemon
Daimon or Daemon (Ancient Greek: , "god", "godlike", "power", "fate") originally referred to a lesser deity or guiding spirit such as the daimons of ancient Greek religion and mythology and of later Hellenistic religion and philosophy.
The wo ...
(Jabber being a former name for XMPP) and is written in
lowercase
Letter case is the distinction between the letters that are in larger uppercase or capitals (or more formally ''majuscule'') and smaller lowercase (or more formally ''minuscule'') in the written representation of certain languages. The writing ...
only, as is common for daemon software.
ejabberd is
free software
Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, ...
, distributed under the terms of the
GNU GPL-2.0-or-later. , it is one of the most popular open source applications written in Erlang. XMPP: The Definitive Guide (
O'Reilly Media
O'Reilly Media (formerly O'Reilly & Associates) is an American learning company established by Tim O'Reilly that publishes books, produces tech conferences, and provides an online learning platform. Its distinctive brand features a woodcut of ...
, 2009) praised ejabberd for its scalability and clustering feature, at the same time pointing out that being written in Erlang is a potential acceptance issue for users and contributors. The software's creator,
Alexey Shchepin was awarded the
Erlang User of the Year award at the 2006 Erlang user conference.
ejabberd has a number of notable deployments,
IETF
The Internet Engineering Task Force (IETF) is a standards organization for the Internet and is responsible for the technical standards that make up the Internet protocol suite (TCP/IP). It has no formal membership roster or requirements and ...
Groupchat Service,
BBC Radio
BBC Radio is an operational business division and service of the British Broadcasting Corporation (which has operated in the United Kingdom under the terms of a royal charter since 1927). The service provides national radio stations covering ...
LiveText,
[LiveText-via-IP upgrade and other synchronously delivered content](_blank)
/ref> Nokia
Nokia Corporation (natively Nokia Oyj, referred to as Nokia) is a Finnish multinational telecommunications, information technology, and consumer electronics corporation, established in 1865. Nokia's main headquarters are in Espoo, Finlan ...
's Ovi
OVI may refer to:
* Ohio Volunteer Infantry, volunteer regiment during the American Civil War
* Operating a Vehicle under the Influence (of alcohol and/or drugs)
* Optically Variable Ink, anti-counterfeiting measure in currency
* Open Verilog In ...
, KDE
KDE is an international free software community that develops free and open-source software. As a central development hub, it provides tools and resources that allow collaborative work on this kind of software. Well-known products include the ...
Talk[KDETalk.net, the KDE XMPP server](_blank)
/ref> and one in development at Facebook
Facebook is an online social media and social networking service owned by American company Meta Platforms. Founded in 2004 by Mark Zuckerberg with fellow Harvard College students and roommates Eduardo Saverin, Andrew McCollum, Dustin ...
. ejabberd is the most popular server among smaller XMPP-powered sites that register on xmpp.org.[Public XMPP Services](_blank)
/ref>
With the next major release after version 2 (previously called ejabberd 3), the versioning scheme was changed to reflect release dates as "Year.Month-Revision" (starting with 13.04-beta1). It was also announced that further development will be split into an "ejabberd Community Server" and an "ejabberd Commercial Edition hichtargets carriers, websites, service providers, large corporations, universities, game companies, that need high level of commitment from ProcessOne, stability and performance and a unique set of features to run their business successfully."[ejabberd Community Server 13.03](_blank)
ejabberd mailing list, posted by Mickaël Rémond. 2013-03-22. Retrieved 2013-06-02.
Project history
Alexey Shchepin started ejabberd in November 2002 for three main reasons: success with Tkabber (his previous project, an XMPP client), a rather unstable first alpha release of jabberd2
jabberd2 is defunct software. It was an XMPP server, written in the C language and licensed as Free software under the GNU General Public License. It was inspired by jabberd14.
Current developers
* Project maintainer and developer is Tomasz Ste ...
, and his wish to play with Erlang features. Shchepin has stated that he would have not started ejabberd without Erlang. Ejabberd hit version 1.0 in December 2005.
Features
ejabberd has a high level of compliance with XMPP
Extensible Messaging and Presence Protocol (XMPP, originally named Jabber) is an open communication protocol designed for instant messaging (IM), presence information, and contact list maintenance. Based on XML (Extensible Markup Language), ...
. It provides a web interface which can be translated
Translation is the communication of the meaning of a source-language text by means of an equivalent target-language text. The English language draws a terminological distinction (which does not exist in every language) between ''transla ...
into other languages. ejabberd supports distributed computing
A distributed system is a system whose components are located on different networked computers, which communicate and coordinate their actions by passing messages to one another from any system. Distributed computing is a field of computer sci ...
by clustering, supports live upgrades, shared roster groups and provides support for virtual hosts. Database management system
In computing, a database is an organized collection of data stored and accessed electronically. Small databases can be stored on a file system, while large databases are hosted on computer clusters or cloud storage. The design of databases span ...
s supported include PostgreSQL
PostgreSQL (, ), also known as Postgres, is a free and open-source relational database management system (RDBMS) emphasizing extensibility and SQL compliance. It was originally named POSTGRES, referring to its origins as a successor to the In ...
and MySQL
MySQL () is an open-source relational database management system (RDBMS). Its name is a combination of "My", the name of co-founder Michael Widenius's daughter My, and "SQL", the acronym for Structured Query Language. A relational database ...
, and ODBC
In computing, Open Database Connectivity (ODBC) is a standard application programming interface (API) for accessing database management systems (DBMS). The designers of ODBC aimed to make it independent of database systems and operating systems. A ...
is supported for connectivity to other systems. LDAP
The Lightweight Directory Access Protocol (LDAP ) is an open, vendor-neutral, industry standard application protocol for accessing and maintaining distributed directory information services over an Internet Protocol (IP) network. Directory serv ...
authentication is supported, as is login via SSL/TLS
Transport Layer Security (TLS) is a cryptographic protocol designed to provide communications security over a computer network. The protocol is widely used in applications such as email, instant messaging, and voice over IP, but its use in secu ...
, SASL and STARTTLS
Opportunistic TLS (Transport Layer Security) refers to extensions in plain text communication protocols, which offer a way to upgrade a plain text connection to an encrypted (TLS or SSL) connection instead of using a separate port for encrypted c ...
.
ejabberd is extensible via modules, which can provide support for additional capabilities such as saving offline messages, connecting with IRC channels, or a user database which makes use of user's vCard
vCard, also known as VCF (Virtual Contact File), is a file format standard for electronic business cards. vCards can be attached to e-mail messages, sent via Multimedia Messaging Service (MMS), on the World Wide Web, instant messaging, NFC o ...
s (saving vCards in LDAP or an ODBC compatible database is possible with other modules). In addition, modules can provide support for extensions of the XMPP protocol, such as MUC, HTTP polling, Publish-Subscribe, and gathering statistics via XMPP.
Starting with version 2.0.0 ejabberd also includes support for the ''Proxy65'' file transfer proxy which enabled Jabber/XMPP users behind firewalls to share files through a SOCKS
A sock is a piece of clothing worn on the feet and often covering the ankle or some part of the calf. Some types of shoes or boots are typically worn over socks. In ancient times, socks were made from leather or matted animal hair. In the lat ...
5 proxy.
ejabberd can communicate with other XMPP servers and with non-XMPP instant messaging
Instant messaging (IM) technology is a type of online chat allowing real-time text transmission over the Internet or another computer network. Messages are typically transmitted between two or more parties, when each user inputs text and trigge ...
networks as well, using a special type of XMPP component called transport or gateway.
Distribution methods
In addition to the source code package and binary installers for Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which i ...
, macOS, and Windows, ejabberd is also available in several operating system distributions as is typical in FOSS
Fos or FOSS may refer to:
Companies
* Foss A/S, a Danish analytical instrument company
*Foss Brewery, a former brewery in Oslo, Norway
* Foss Maritime, a tugboat and shipping company
Historic houses
*Foss House (New Brighton, Minnesota), United ...
, including Debian
Debian (), also known as Debian GNU/Linux, is a Linux distribution composed of free and open-source software, developed by the community-supported Debian Project, which was established by Ian Murdock on August 16, 1993. The first version of De ...
, Fedora
A fedora () is a hat with a soft brim and indented crown.Kilgour, Ruth Edwards (1958). ''A Pageant of Hats Ancient and Modern''. R. M. McBride Company. It is typically creased lengthwise down the crown and "pinched" near the front on both sides ...
, Gentoo, Ubuntu
Ubuntu ( ) is a Linux distribution based on Debian and composed mostly of free and open-source software. Ubuntu is officially released in three editions: '' Desktop'', '' Server'', and ''Core'' for Internet of things devices and robots. All th ...
, Arch Linux
Arch Linux () is an independently developed, x86-64 general-purpose Linux distribution that strives to provide the latest stable versions of most software by following a rolling-release model. The default installation is a minimal base system, ...
, OpenSolaris
OpenSolaris () is a discontinued open-source computer operating system based on Solaris and created by Sun Microsystems. It was also, perhaps confusingly, the name of a project initiated by Sun to build a developer and user community around t ...
, FreeBSD Ports
The FreeBSD Ports collection is a package management system for the FreeBSD operating system, providing an easy and consistent way of installing software packages. As of February 2020, there are over 38,487 ports available in the collection. It h ...
, OpenBSD
OpenBSD is a security-focused operating system, security-focused, free and open-source, Unix-like operating system based on the Berkeley Software Distribution (BSD). Theo de Raadt created OpenBSD in 1995 by fork (software development), forking N ...
ports, NetBSD
NetBSD is a free and open-source Unix operating system based on the Berkeley Software Distribution (BSD). It was the first open-source BSD descendant officially released after 386BSD was forked. It continues to be actively developed and is a ...
port and Mac OS X
macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and la ...
's Fink.
Other methods in which ejabberd is available are the TurnKey Linux Virtual Appliance Library and Comprehensive Erlang Archive Network (CEAN). An old version of ejabberd is included in the Unison
In music, unison is two or more musical parts that sound either the same pitch or pitches separated by intervals of one or more octaves, usually at the same time. ''Rhythmic unison'' is another term for homorhythm.
Definition
Unison or pe ...
unified communications software.
Notable deployments
ejabberd is known to be used by XMPP-related sites and a number of companies, either for providing an XMPP instant messaging service, as a meeting chat room service, or as middleware for other software (usually by means of the Publish-Subscribe service).
XMPP servers deployed for XMPP-related sites are usually run using ejabberd, both in case of large and small servers. One large public XMPP servers runs ejabberd: the Russian jabber.ru, that handles between 10,000 and 20,000 concurrent users at any time. Among smaller XMPP-related sites, ejabberd is also the most popular server. When not taking into account the size or nature of the server, ejabberd is also the most widely deployed: according to IMtrends report from July 2008 based in automated server detection, 37% of 7292 servers were running ejabberd; the second position being jabberd14 with 22.4% and the third Openfire with 18.4%.
Among generic instant messaging deployments are ISPs like the Portuguese SAPO, and the German United Internet for services like GMX and Web.de. The Russian search engine Yandex
Yandex LLC (russian: link=no, Яндекс, p=ˈjandəks) is a Russian multinational technology company providing Internet-related products and services, including an Internet search engine, information services, e-commerce, transportation, map ...
uses a highly modified version of ejabberd, named Yabberd. Nokia
Nokia Corporation (natively Nokia Oyj, referred to as Nokia) is a Finnish multinational telecommunications, information technology, and consumer electronics corporation, established in 1865. Nokia's main headquarters are in Espoo, Finlan ...
's Ovi
OVI may refer to:
* Ohio Volunteer Infantry, volunteer regiment during the American Civil War
* Operating a Vehicle under the Influence (of alcohol and/or drugs)
* Optically Variable Ink, anti-counterfeiting measure in currency
* Open Verilog In ...
uses ejabberd with some customizations. Major League Baseball
Major League Baseball (MLB) is a professional baseball organization and the oldest major professional sports league in the world. MLB is composed of 30 total teams, divided equally between the National League (NL) and the American League (AL) ...
offers instant messaging and chatrooms using a customized ejabberd. Mxit was a large server for mobile instant messaging client that started using ejabberd in 2005, but was replaced with a custom IM engine. Universities known to use ejabberd include: Saint Petersburg State University
Saint Petersburg State University (SPBU; russian: Санкт-Петербургский государственный университет) is a public research university in Saint Petersburg, Russia. Founded in 1724 by a decree of Peter the G ...
, Taganrog State University and the Division of Information Technology of the University of Wisconsin–Madison
A university () is an institution of higher (or tertiary) education and research which awards academic degrees in several academic disciplines. ''University'' is derived from the Latin phrase ''universitas magistrorum et scholarium'', which ...
.
In the FOSS
Fos or FOSS may refer to:
Companies
* Foss A/S, a Danish analytical instrument company
*Foss Brewery, a former brewery in Oslo, Norway
* Foss Maritime, a tugboat and shipping company
Historic houses
*Foss House (New Brighton, Minnesota), United ...
world, there is a pair of notable generic deployments of ejabberd, namely the KDE
KDE is an international free software community that develops free and open-source software. As a central development hub, it provides tools and resources that allow collaborative work on this kind of software. Well-known products include the ...
Talk and the Fellowship of the Free Software Foundation Europe
The Free Software Foundation Europe (FSFE) is an ''eingetragener Verein'' (registered voluntary association) under German law. It was founded in 2001 to support all aspects of the free software movement in Europe, with registered chapters in sev ...
.
ejabberd chatroom feature provides the IETF
The Internet Engineering Task Force (IETF) is a standards organization for the Internet and is responsible for the technical standards that make up the Internet protocol suite (TCP/IP). It has no formal membership roster or requirements and ...
Groupchat Service, used by the various working groups, areas, and BOF sessions during meetings and at other times.
Other deployments use ejabberd in more novel ways. For instance, BBC Radio
BBC Radio is an operational business division and service of the British Broadcasting Corporation (which has operated in the United Kingdom under the terms of a royal charter since 1927). The service provides national radio stations covering ...
LiveText uses ejabberd's Publish-Subscribe service to synchronously broadcast text content with the radio stream. sameplace.cc is a Mozilla Firefox
Mozilla Firefox, or simply Firefox, is a free and open-source web browser developed by the Mozilla Foundation and its subsidiary, the Mozilla Corporation. It uses the Gecko rendering engine to display web pages, which implements current a ...
extension that integrates Jabber/XMPP in the web browser, and uses ejabberd for the XMPP server. Other deployments include Chesspark (online chess playing site), Collecta (real-time search), and Notifixious (notifications of website subscriptions).
One Laptop per Child's School server
A school is an educational institution designed to provide learning spaces and learning environments for the teaching of students under the direction of teachers. Most countries have systems of formal education, which is sometimes compuls ...
uses ejabberd with OLPC-specific patches as the instant messaging server.
In 2008 Facebook
Facebook is an online social media and social networking service owned by American company Meta Platforms. Founded in 2004 by Mark Zuckerberg with fellow Harvard College students and roommates Eduardo Saverin, Andrew McCollum, Dustin ...
announced that they will support XMPP for their chat service. Facebook developers made a presentation on the topic at Commercial Users of Functional Programming (CUFP) 2009 conference, and in November 2009 chat.facebook.com was detected as running a modified version of ejabberd. Om Malik
Om Prakash Malik (born September 29, 1966) is an Indian-American web and technology writer. He is the founder and a former senior writer for GigaOM. He is now a partner at True Ventures.
Personal life and education
Malik was born in New Delhi. ...
commented on the development as "disruptive" competition for "older IM networks such as AOL's AIM and Microsoft's MSN". On Feb 10th 2010, the Facebook blog announced the opening of the XMPP interface to Facebook chat, based on ejabberd.
Another social media and blogging service that uses ejabberd is LiveJournal
LiveJournal (russian: Живой Журнал), stylised as LiVEJOURNAL, is a Russian-owned social networking service where users can keep a blog, journal, or diary.
American programmer Brad Fitzpatrick started LiveJournal on April 15, 1999, ...
Talk. The Spanish-focused Tuenti
Tuenti Technologies, S.L.U is a mobile virtual network operator (MVNO) that operates with the Tuenti brand owned by Telefónica. It is a Spain-based tech company that focuses on providing a cloud-based services through its own application and it ...
social network uses a modified ejabberd to provide a live chat service.
The worldwide jabber.org XMPP server, with a userbase of 330,000 users and 15,000 users online at any one time in December 2009, have used ejabberd since February 2006 until January 2010. (In 2010 Jabber.org migrated to M-Link XMPP server from Isode Limited.)
Nintendo Switch
The is a hybrid video game console developed by Nintendo and released worldwide in most regions on March 3, 2017. The console itself is a tablet that can either be docked for use as a home console or used as a portable device, making it a ...
uses ejabberd in its "Nintendo Switch Push Notification infrastructure" (NPNS) handling 10 million simultaneous connections.
Publications and reception
Two articles are published about ejabberd in magazines: "Démarrer avec ejabberd" in the French magazine PROgrammez! and "Passing notes in class", a post in Free Software Magazine
''Free Software Magazine'' (also known as ''FSM'' and originally titled ''The Open Voice'') is a Web site that produces a (generally bi-monthly) mostly free-content online magazine about free software.
It was started in November 2004 by Australi ...
.
Computerworld
''Computerworld'' (abbreviated as CW) is an ongoing decades old professional publication which in 2014 "went digital." Its audience is information technology (IT) and business technology professionals, and is available via a publication website ...
Australia interviewed Erlang creator Joe Armstrong in June 2009, and he referred to ejabberd in this way:
* Q: "What's the most interesting program(s) you've seen written with Erlang for business?"
* A: "That's difficult to answer, there are many good applications. Possibly Ejabberd which is an open-source Jabber/XMPP instant messaging server. Ejabberd appears to be the market leading XMPP server and things like Google Wave which runs on top of XMPP will probably attract a lot of people into building applications on XMPP servers."
Builder Australia interviewed Andre Pang in September 2007, and referred to ejabberd in those terms: "the apps that Erlang is suited for really aren't CPU bound that often, if you look at ejabberd, it serves some absolutely crazy amount of concurrent connections, well over 100,000, and they're running it on, I'm not sure, but it's something like a Quad core XEON machine."
ejabberd is mentioned in several books related to the XMPP protocol and the Erlang language. XMPP: The Definitive Guide (O'Reilly Media
O'Reilly Media (formerly O'Reilly & Associates) is an American learning company established by Tim O'Reilly that publishes books, produces tech conferences, and provides an online learning platform. Its distinctive brand features a woodcut of ...
, 2009) refers to ejabberd in those terms: ''The server is well-known for its scalability, and it can be clustered across multiple instances''. A 2006 internal review paper in the IT department of Cambridge University
, mottoeng = Literal: From here, light and sacred draughts.
Non literal: From this place, we gain enlightenment and precious knowledge.
, established =
, other_name = The Chancellor, Masters and Schola ...
found it the best choice amongst Jabber servers. In the same year Alexey Shchepin was awarded the "User of the Year" award at the 12th International Erlang/OTP User Conference.
Other published books that mention ejabberd are:
* "Programming Erlang: Software for a Concurrent World" (Pragmatic Bookshelf, 2008)
* "Erlang Programming: A Concurrent Approach to Software Development" (O'Reilly Media
O'Reilly Media (formerly O'Reilly & Associates) is an American learning company established by Tim O'Reilly that publishes books, produces tech conferences, and provides an online learning platform. Its distinctive brand features a woodcut of ...
, 2009)
* "Openfire Administration: A practical step-by-step guide to rolling out a secure Instant Messaging service over your network" (Packt Publishing, 2008)
* "Fedora 11 and Red Hat Enterprise Linux Bible" (Wiley, 2009)
ejabberd was used in research works of papers published in international conferences proceedings and journals:
* XMPP for cloud computing in bioinformatics supporting discovery and invocation of asynchronous web services
* Kestrel: an XMPP-based framework for many task computing applications
* IM'ing overload: Libraryh3lp to the rescue
* Towards an Enhanced Adaptability and Usability of Web-Based Collaborative Systems
* Leveraging Visual Tailoring and Synchronous Awareness in Web-Based Collaborative Systems
* Adding New Communication Services to the FIPA Message Transport System
There are four patent applications published in the United States Patent and Trademark Office
The United States Patent and Trademark Office (USPTO) is an agency in the U.S. Department of Commerce that serves as the national patent office and trademark registration authority for the United States. The USPTO's headquarters are in Alex ...
that involve ejabberd:
* US 2007/0271367 A1: Systems and Methods for Location-Based Social Web Interaction and Instant Messaging System
* US 2008/0062969 A1: Instant Message Call Connect System Apparatus and Database
* US 2008/0062970 A1: Instant Message Call Connect System Method and Interface
* US 2008/0235189 A1: System for Searching for Information Based on Personal Interactions and Presences and Methods ThereofPatent US 2008/0235189 A1 in Free Patents Online
Application Number: 11/855,851
Filing Date: 14 Sep 2007
Publication Number: US 2008/0235189 A1
Publication Date: 25 Sep 2008
Iventors: Drew Rayman, Brad Alperin, Timothy Driscoll, Stuart Goldstein, David Levin, Benjamin Simon
See also
* Comparison of XMPP server software
References
External links
* {{Official website
Instant messaging server software
Erlang (programming language)
Free software programmed in Erlang
XMPP