Jabberd: A secure, robust, and extensible server based on the XMPP protocol.
If you’re looking to bring open source to your IM strategy, consider Jabberd. The popular Jabber-based messaging server is robust yet easy to administer.
Although Jabber is often discussed as if it were a single server or client, it is actually a set of streaming XML protocols and technologies containing a codebase from which all manners of instant messaging (IM) servers and clients are built. Jabber is a development platform for customizing and extending IM products adhering to the open and freely available Extensible Messaging and Presence Protocol (XMPP).
Jabber offers gateways for communicating with other IM networks: Yahoo! Messenger, ICQ, AOL Instant Messenger (AIM), and MSN Instant Messenger. This is subject to change, however, as the big commercial networks are notorious for trying to block access to users of the “wrong” messaging clients and other networks. But the Jabber maintainers do a good job of keeping up, and, of course, any ace programmer can make modifications.
Administrators considering an IM deployment should take a look at the Jabber family of servers and clients. Two Jabberservers worthy of consideration are the free and open source Jabberd and the commercially available SoapBox Server, which runs on Windows.
This review looks primarily at Jabberd.
The Jabberd Server
A number of both free-of-cost and open source software IM servers are based on Jabber. The Jabberd server, versions 1.4 and 2, is one of the most popular F/OSS IM servers. Jabberd is a robust, easy-to-administer text messaging server. If you’re looking for fancy stuff, like voice and video conferencing, look elsewhere because Jabberd isn’t the server for you. It’s known for its nice reliable text messaging and can be used to run an internal LAN-only messaging server, a public Internet IM server, or an Internet-accessible server with access controls and authentication.
A Jabberd server scales up nicely: You can build server farms and host multiple domains. It also scales down nicely: The software is free, so the only costs are time and hardware.
Jabberd supports several database backends: Berkeley DB, MySQL, and PostgreSQL. Plain-text data file storage is also supported but not recommended — you’ll get much better performance and security with a database. By default, authentication is done against the MySQL backend. Jabberd also supports PAM and LDAP authentication.
Clear-text authentication and data transport and encrypted authentication and data transport are supported with SSL (secure sockets layer). The server can accept both, or you can limit it to one or the other. A Jabberd server scales up nicely: You can build server farms and host multiple domains. It also scales down nicely: The software is free, so the only costs are time and hardware. A simple server for a few users can be installed and running in an hour. There is even a simple bandwidth manager built into Jabber, which should serve most users adequately.
Admins can also throttle bandwidth, limit the number of concurrent users, host multiple virtual domains, and send inspirational broadcast messages to all users.
Message logging and other logging are best managed with Bandersnatch, the Jabber administration tool. Jabber has no native message logging support. It does not support any kind of meaningful reporting, as it cannot collect statistics. Nor does it support file transfers.
Jabberd runs best on Linux and nearly any Unix. There is also an experimental Windows version, but it should be avoided, as it is far from ready for prime-time. You’re better off simply grabbing an old PC and turning it into a Linux-based Jabberd server.