The new Prosody Jabber Server
A small group of 3 software developers (at the time of writing) have released a new Jabber server that they say will rival the current number one XMPP/Jabber server, ejabberd, in performance, extensibility and computer resource consumption regards, or pretty much every regard, according to the developers who have chosen to write the server in their favorite “scripting” language called Lua. While everyone knows that Lua is a very powerful language for embedding with your C or C++ applications, allowing easy runtime scripting and manipulation of data and code (Lua is often used to parse very large blocks of data without problems), it actually is very capable as a stand-alone language for your applications, with dozens of useful libraries and bindings that bring sockets to Lua, bit manipulation and more. If you don’t know about Lua, visit lua.org.
Another reason the developers have chosen Lua is that a Jabber server needs to parse varying amounts of text that get bigger and bigger as more users are being served by the server and this is where Lua excels. While there will be a physical limit on how many users Prosody can serve (if you haven’t figured it out already, Prosody is the name of the server), future releases are said to provide clustering capabilities built-in. Also, as Lua is an interpreted language, extending the server by adding new XEPs or protocols is easy because you don’t have to recompile the server, you don’t even need to restart the server, you can load arbitrary code at run-time.
That said, Prosody seems pretty sweet. Version 0.2.0 of the server has just been released today, just a month after the first 0.1.0 release and brings a load of new features and improvements. I’ve tried the latest version myself and I like it. Setting it up was trivial as the configuration file was easy to understand. It is actually also written in Lua but even if you don’t know the language, you can understand it right away as it’s pretty easy and there are a lot of helpful comments in the file.
The future looks promising with version 0.3.0 as they plan to bring MUC support allowing for multi-user chat conferences. The support has already been written according to the developers who hang around and discuss the development of the server on the Jabber chat room prosody [at] conference [dot] heavy-horse [dot] co [dot] uk. But as it was a late developement, it hasn’t been tested yet so it wasn’t included in the current release.
I am eagerly waiting in anticipation for the next release as adding new cool features to the chat rooms might be too easy. I’m thinking of a MOO world running on Prosody. 😉