Dnia 22-01-2007, pon o godzinie 09:46 -0700, Peter
Saint-Andre
napisaĆ(a):
> FYI, I have finally gotten in touch with both Justin
Kirby and Stephen
> Marquard regarding the status of the jabberd2 project.
Justin and
> Stephen both bless Tomasz Sterna as a project
maintainer.
Great.
So... I think it's time and place to make an official
statement of the
goals, future etc.
First, I want to make my motivation and goals transparent,
that you all
may know what to expect.
We're using jabberd2 at Xiaoka as a main XMPP workhorse,
thus all the
maintenance and stabilisation work. It has great
flexibility,
performance and scalability. That's why we're still using
it. And I want
to focus and extend it.
Some of my ideas would involve heavy code and architectural
changes.
As long as I was playing on my personal playground I could
keep the
ideas for myself. Now... it should be transparent.
So... I'm going to keep and maintain the 2.1 line as it is
now.
Getting it bugfixed and even more stabilised.
I'm moving jabberd2 to GNU SASL and GNU TLS libraries now
(see
SVN /branches).
OpenSSL and Cyrus SASL are big and bloated, and has some bad
programming
practices inside. All my valgrind sessions with jabberd2
ended up either
in OpenSSL or in Cyrus SASL.
Also, GNU SASL+TLS has GPL compatible licenses, which the
former don't.
These will probably end up in 2.1 line.
The next 2.2 line would have the following architectural
changes:
- full glib and APR conversion for memory management
- partial or full glib conversion of data structures
(we have too much custom data manipulation functions)
- maybe? introducing glib object model
- dropping "put XML wherever possible" notion
I personally think both jabberds (1.4 and 2) are too much
XML-centric
which hurts performance and flexibility
- moving configuration data to flat-files/DB
- dynamic reconfiguration
- following: full, dynamic vHosting support in one SM
- I'm thinking of resurrecting the nad-on-the-wire idea
serializing nads only to parse them again once they pass
the IPC is
pure waste of resources
- dynamic router-mesh creation (for scalability and
redundancy)
using dynamic JID-based routing-tables
- and last but not least, creating common core for binaries
and reduce code duplication between daemons
(maybe? joining these five daemons into one)
Maybe this votes for the project name change? I don't really
know...
I know it will not happen in the next few months. It's a lot
of hard
code work. But... at least, this is what I envisioned...
--
Tomasz Sterna
Xiaoka Grp. http://www.xiaoka.com/
_______________________________________________
jabberd mailing list
jabberd jabberstudio.org
http:
//mail.jabber.org/mailman/listinfo/jabberd
|