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."
