XMPP—which stands for Extensible Messaging and Presence Protocol—is an XML-based protocol for real-time communication. Also known as Jabber, XMPP is an open standard that enables interoperability and federation in messaging systems. The official specification of the protocol is maintained by the Internet Engineering Task Force. A non-profit governance body called the XMPP Standards Foundation provides a vendor-neutral process for defining formal XMPP extensions.
The XMPP protocol was designed principally for instant messaging. Its support for federated communication makes it possible for users to converse with each other across the boundaries of separate XMPP server installations. The ability to self-host XMPP infrastructure has driven adoption of the protocol in enterprise environments where security and regulatory standards create barriers to using the mainstream instant messaging services that are offered by providers like AOL and MSN.
The interoperability advantages of standardization have helped XMPP to gain prominence as a messaging lingua franca. XMPP support can be grafted onto a proprietary messaging system to enable compatibility with third-party services and software. One noteworthy example is the availability of XMPP connectivity for Facebook Chat. XMPP servers are also often equipped with "transports" that facilitate XMPP-based communication with other protocols.
A large number of XMPP client and server applications have been developed since the protocol was first introduced. Among the most popular XMPP server implementations are Erlang-based ejabberd and Java-based OpenFire. Both are distributed under open source licenses and are relatively easy to install and configure.