Re: (no subject)

Meredydd <[email protected]> Wed, 30 Jul 2003 17:23:47 +0100
Newsgroups gmane.network.everybuddy.user
Message-ID <[email protected]>
Hello, there!

On Wednesday 30 July 2003 06:18, [email protected] wrote:
> I am Nao, a smartcard software engineer.  I and a friend of mine are
> interested in contributing to your project by implementing
> PKCS#11/smartcard/RSA based message encryption mechanism for
> Everybuddy.
Coo-ee. Now *that* sounds like fun :^)
Strong authentication, strong encryption, nice and seamless. AND 
smartcards (which are cool in their own right)! :^D

> - Will there be interest in taking such a change and integrating
>   into the main source tree?
Of course!

> - Which source code should we start from?  Everybuddy seems to have
>   several sub projects like eb-lite and AYTTM.
Right. Sorry for the ramble, but here's a quick history lesson:

In The Beginning, there was Everybuddy, a GTK messaging application. It 
began to sputter a bit as the maintainer became very busy. Eventually, 
when a long CVS server outage proved the last straw, Colin (one of the 
EB devs) forked it to create Ayttm. Ayttm is therefore the continuation 
of the program that was called Everybuddy.

At around the same time as this was happening, I (Meredydd) launched a 
ground-up rewrite, called EB-Lite. It's a distributed design, with the 
"core" handling most of the back-end, and reasonably "dumb" user 
interfaces connecting to it.

I'll attempt an even-handed summary, but do beware that I *am* biased - 
Philip, please do correct me here...

Ayttm:
Pro: Established codebase, working application, feature-rich
Con: The codebase is (or, at least, was) showing its age - Ayttm's 
cleaned up a lot over old EB, and still is, but there's a lot of legacy 
in there, which makes the API inconsistent in places (but never 
unusable). Single-platform, GTK-only.

EB-Lite:
Pro: Cleaner innards, portability, multi-platform/toolkit/environment
Con: It's new. We're working hard, but we haven't yet got to feature 
parity with Ayttm. Development is in progress, but only one 
interface/platform (EbQt/UNIX X11) is supported at the moment, although 
Mac OS X and mobile phone UIs are nearing completion.

>  Which is the best
> place for us to get the latest code?  cvs.everybuddy.com:/var/lib/cvs
> ?  We plan to develop mainly on Linux.
EB-Lite now uses subversion - see the instructions at 
www.everybuddy.com. Ayttm uses Sourceforge CVS - see 
ayttm.sourceforge.net.

> We looked at the source code of Everybuddy 0.4.3, and it is very well
> structured.  Since each "module" is well isolated, adding an
> encryption layer would be simple; just write a pass-thru module which
> authenticates users, encrypts messages, and passes the encrypted
> messages to the real module (like AIM module).
Many thanks :^)  (the filter system was mine)

Actually, that's not *just* horn-blowing. For this reason, the two 
filter systems are very similar, which makes it very easy to share a 
lot of code between the two. As long as you make sure to separate out 
the important bits, there's no need for you to choose either Ayttm *or* 
EB-lite - with the right abstraction, the code for both can be almost 
identical.

The two projects actually have different mailing lists now. The 
Everybuddy list (and website - www.everybuddy.com) have been turned 
over to EB-Lite, and Ayttm now lives at ayttm.sourceforge.net, using 
Sourceforge mailing lists ([email protected] being the relevant 
one, I think).

Meredydd