Skip to content
Presence & ProtocolAn independent guide to Jabber and XMPP

History

From jabberd to the XMPP RFCs: a timeline

Not quite six years separate a personal announcement from an IETF Proposed Standard. Each step is dated, and each one changed something.

A long paper timeline taped across a wall, years written in marker, notes clipped along its length.

Jabber began in January 1999 as a project rather than a standard. Jeremie Miller announced an open technology for instant messaging and presence, and the code came before any document described it. This article walks the six years that followed in order, because the order itself is the explanation.

One announcement, then a year of code

The rest of 1999 was a year of building. An open source server, jabberd, took shape alongside several open-source clients and code libraries. Beneath them sat open wire protocols for streaming XML in real time, plus basic instant messaging and presence extensions. The sequence matters: the wire format came years before any document described it, and those same base protocols, improved and extended, are still in use.

Why court the IETF so early?

In August 1999, seven months in, Miller submitted a statement in which the Jabber community pledged its support for the IETF standards process. The pledge matched the project’s founding mission: to foster freedom of conversation, and to support open standards and interoperability in real-time communications. In February 2000 the IETF published the work of its Instant Messaging and Presence Protocol Working Group, a model and a set of requirements for instant messaging and presence systems. Jabber was writing working answers to a problem the IETF had described on paper.

May 2000: the base stops moving

Version 1.0 of the jabberd server was released in May 2000, and the base Jabber protocols were stabilised with it: XML streaming, messaging, presence, contact lists. Stabilised is the word the history uses, and it was earned. Everything a server operator configures today rests on decisions frozen in software four years before the RFCs existed. The practice settled first; the documents caught up in 2004.

How do you trust a server you have never met?

Federation hands every operator a problem a closed service never faces: a connecting server can claim an address that is not its own. October 2000 brought jabberd 1.2 and the server dialback protocol, introduced to stop exactly that, address spoofing, as the number of Jabber servers grew. Notice the order here: the defence arrived in running software, two years before the working group that would formalise the protocol even existed. The community settled its mechanisms in running code and wrote the paperwork afterwards.

A foundation, a draft, a working group

In August 2001 the Jabber Software Foundation formed, to coordinate the multiplying open source projects and commercial entities building with the technology. Its focus was the protocols: documenting what existed and developing extensions through an open standards process. February 2002 brought the first step towards the IETF, an Internet-Draft documenting the Jabber protocols. In October the Internet Engineering Steering Group approved the formation of an XMPP Working Group, and the Foundation contributed the base protocols to the Internet Standards Process, assigning change control to the IETF under a new name: Extensible Messaging and Presence Protocol. Change control is the detail that matters: the IETF held the pen on the core, the Foundation kept the extensions. The first meeting, at IETF 55 that November, heard presentations from Jeremie Miller, Joe Hildebrand and Peter Saint-Andre. Entries this article compresses sit, month by month, in the history pages at xmpp.org.

2003: the formalisation, and a trademark notice

Through 2003 the working group essentially finished formalising the base Jabber protocols as IETF-approved instant messaging and presence protocols; the later revisions the base received aimed at security and internationalisation. The year also carries a quieter entry: Jabber Inc. submitted an IPR notice to the IETF regarding the JABBER trademark. A protocol can be open while a name is property, and the two histories are separate. This guide tells the second one in the story of the Jabber name.

October 2004: two RFCs, one concluded working group

In October 2004 the IETF published RFC 3920 and RFC 3921 as Proposed Standards, defining the core functionality of XMPP. Both carry the name P. Saint-Andre, who had presented at that first working group meeting. The first document defines a protocol for streaming XML elements between two network endpoints, close to real time, a general framework for exchanging XML data. The second describes the extensions and applications of that core which provide the basic instant messaging and presence functionality defined in RFC 2779. With publication, the IETF announced the conclusion of the working group. Extension work continued at the Foundation, renamed the XMPP Standards Foundation in January 2007.

The October 2004 pair and its March 2011 replacement
DocumentScopeObsoleted byReplacement published
RFC 3920Core: streaming XML between two endpointsRFC 6120March 2011
RFC 3921Instant messaging and presenceRFC 6121March 2011

The March 2011 pair updated the core definition; the 2004 documents remain the moment the protocol crossed from project to standard.

Begin with the two abstracts

Do not open either RFC at page one. Open the abstracts: RFC 3920’s describes the exchange of structured information in close to real time between any two network endpoints, and RFC 3921’s describes the messaging and presence built on it. Each is a few lines, and each states the whole design. Then follow what the working group’s conclusion set in motion: everything added since has arrived as a numbered extension, and the route from idea to XEP is where the standard grows now.

xmpp.org

xmpp.org is the publishing site of the XMPP Standards Foundation, which took that name in January 2007. It holds the year by year history this article takes its dates from, the XEP series moved there in October 2006 when JEPs were renamed, and the list of XMPP RFCs, marking which documents obsoleted which.