Hi, everyone.

Here follows an update on what's happening on the Binc IMAP front. :-)

Binc IMAP 1.2 is a very stable branch. As we are now up in the 11th (and 
12th, today) stable release, the number of bug reports has dropped 
dramatically, especially compared to what we saw in the 1.0 and 1.1 days. 
According to the subscription counts and download counts (last year, 
almost 10000 downloads from bincimap.org), the number of users has 
steadily increased. Binc IMAP has certainly matured into quite a stable, 
production ready server. To me, this proves that the trick to keeping a 
product stable, is to finish it and only focus on fixing bugs.

I can't even remember the last time we heard about any corruption 
problems. And as far as I know, no email has been corrupted or lost in the 
1.2 branch of Binc IMAP. The server is simply to simple to break, with its 
now 20885 lines of C++ code. Of course, much of its stability is due to 
its support for the fail free mailbox format, Maildir. But also because it 
has fewer features than other servers, and better code.

The goal as we move onto the 1.3 server is to make it even simpler than 
before, in every way. The build, install and configuration will be 
simpler. The server will have some more features, but not too many. The 
goal of Binc IMAP has never been to be a feature-for-feature competitor to 
existing servers, but simply a rock-solid example of how to do things 
right. First and foremost, Binc IMAP 1.4 will be a fully featured IMAP 
server within its niche.

But before we get there, there are a couple of things that need to be in 
place. Most importantly, a regression testing system. The 1.3 branch will 
be tested thouroughly, in a way that was never done for 1.2. There will be 
an autotesting system running nightly when changes have been made, and 
this will reassure us that bugs that have been fixed in the past will stay 
fixed in the future. Together with the Binc IMAP build helper program, 
this will ensure that 1.4 will be as stable as 1.2. Today, it's really 
painful to fix bugs in 1.2 that affect the behavior of the server, because 
the risk of introducing side effects is very high. For 1.3, and eventually 
1.4, this will not be a problem.

Now in order to do good regression testing, you really need a decent IMAP 
client library. But unfortunately, there are no good IMAP client libraries 
out there, and the IMAP protocol is known to be a nightmare to do good 
testing on. For this reason, I have written (and almost finished) the Binc 
IMAP Client Library, based on Qt 4's excellent networking module. This is 
a library that hides the IMAP protocol, and it features an incremental 
IMAP parser. The library will be available under the LGPL. I've also 
planned on making Binc IMAP's test suite available online, so others can 
check how compliant their IMAP servers are. My goal is also that people 
writing email programs in C++ can have a rock solid library to base their 
IMAP implementation on. Far too many email clients are broken when it 
comes to IMAP. So we'll see where that leads.

Anyway, that was a short update from the author. For the 1.3 series, I 
also plan on opening the repository for submits from the community. So 
those who enjoy bugfixing, writing patches or creating wonderful 
documentation can get access to do so without posting it all through me.

So happy IMAPing everyone!

Best regards, Andy

--
Andreas Aardal Hanssen   | http://www.andreas.hanssen.name/gpg
Author of Binc IMAP      |  "It is better not to do something
http://www.bincimap.org/ |        than to do it poorly."

Reply via email to