Welcome! This message is from the Jabber.org project, and is intended to provide a current overview, for both technical and non-technical users, of the many related technologies, projects, and plans for Jabber.

Introduction

"What is Jabber?" Many think of Jabber as just an instant messaging client/server, but in fact it's much more. At the core, Jabber is an extensible architecture to flexibly route XML data instantly between any two points. The primary use of Jabber is as a platform for communicating instant messages and broadcasting presence. But the set of tools and technologies being continually developed at Jabber.org also have the flexibility to do much more than a simple buddy list application.

The Jabber project has made incredible and substantial progress over the last year. It started as a few prototypes in 1998 and was announced to the world at the start of 1999 on Slashdot.org. Since then we have had three major revisions and the architecture has matured significantly.

Commercial interest in Jabber has also grown significantly. The first company to step forward and support the project is Webb Interactive Services, with an interest in helping advance XML as an open messaging platform. There's also been interest in using Jabber as a platform for instant messaging for ISPs and portals, which we welcome all involvement in. If you represent commercial interest, we are developing a special site for you at http://jabber.org/business to answer some of your questions and list others involved.

The following sections represent the general categories of Jabber development.

XML/Protocol

The basic network connection in Jabber is an "XML Stream," a simple and powerful concept of unifying an XML document and simple TCP/IP socket. On top of XML Streams, any application can layer their own XML data in a namespace to be streamed between the two points. In Jabber, we use a basic protocol consisting of messages, presence, and queries. Within each basic Jabber protocol type, any application can further embed it's own XML data protected in a namespace.

Server

The server side of Jabber has been the focus of the core development team, and includes jserver (the application Jabber clients connect to), etherx (an XML Stream 'router' of sorts), and modules (used within jserver to extend functionality). Version 0.8 of the server side tools, which was released in the first week of December, bundled full functionality for deploying instant messaging, presence, and buddy lists. Version 0.9 (to be released shortly) will provide an enhanced build system and support a larger number of platforms. This release will be followed by version 1.0 in January.

Clients

The long-time clients include zABBER (Tcl/Tk) and Cabbar (GTK+), and the new clients are WinJab and Jabba, both for Windows. Clients are also being developed to accompany many of the libraries described below.

Transports

A "transport" within the Jabber architecture is a server-side, special purpose engine that can interact with the rest of Jabber and has its own namespace. This is used to gateway transparently to other instant messaging networks or information sources. Development is progressing on an AIM and Yahoo! transport, which both have working versions available, with ICQ and MSN not far behind. An IRC transport has been discussed that can participate as a server within an IRC network, and allow Jabber and IRC users to communicate transparently (any experienced individuals that want to take the lead on this, join us in #jabber on the OpenProjects network - try irc.linux.com). There are numerous other transports planned including SMTP, RSS, talk/finger, news/stock tickers, and more.

Libraries

Needs

There is always a need for more help in every aspect of any open development project, but a few key areas we could use some talented help on include:

Contacting

http://jabber.org/
Administrative: team@jabber.org
General: info@jabber.org
irc.openprojects.net #jabber