--- Frequently asked questions.
Why did you name it IServerd ?
Well, it is difficult to say. May be because all another names was taken ? "IServerd" word mean "ICQ Server Daemon". I couldn't simply name it icqd - there was another project named gicqd. I think IServerd sounds good. There is some ice in pronunciation, but it doesn't mean that the project is frozen.
What OS was designed IServerd for ?
I'm working under FreeBSD 4.2 STABLE, but I want you to be able compile and use IServerd on any unix platform that support SYSV style semaphores and IPC messages. If you can't compile it - try to send me a letter and we solve this problem together.
Is there any minimal hardware requirements for IServerd ?
Yes, but it is not iServerd requirements, but PostgreSQL. You'll need at least 16Mb memory and 40Mb free disk space. If you plan to install database server and IServerd on different computers I think 486DX2 with 8 Mb is enough.
Who else work on this project ?
Currently there are two mans. One of them is me. The second is Andy Shevchenko - he help me with man pages and RPMs.
Why did you choose BSD license ?
Is there another IM servers exist ?
Yes. I known several projects: Mirabilis ICQ Groupware, Gicqd, immpd, Jabber. Some of them are dead (Mirabilis ICQ Groupware, gicqd, impd). Only Jabber (it is based on XML) is under heavy development.
Why don't you use CVS ?
Who said this ? I'm using CVS. I keep all project files in CVS repository, but don't want for some reasons open it for guest access. Who knows, may be I'll do it later.
Why do you use PostgreSQL, not mySQL ?
This question is a very popular. Here is my answer. There are
several futures that I need from database server: sub-queries, binary
objects, row locking and triggers. I know many RDBM systems, but only
one is free and supports these futures - PostgreSQL. So PostgreSQL
can do this and mySQL can't. You may ask me: Is it necessary to use
all this SQL futures in simple ICQ server ? I'll answer "Yes!". Sub-queries
are used in presence (status) and messages broadcasting. Binary data
(PostgreSQL large objects) are used in packet defragmentation subsystem.
Row locking is used to avoid server-sequence breaking in parallel