We laid a dear old friend to rest last week. We shut down our Courier mail server, which through various hardware incarnations had served us faithfully since the very early days of IT Freedom. Brian (Camp, our Director of Technology) did the dirty work, while the rest of us looked the other way. He sent me an email when it was all over:
Just did this. Kind of sad –
$ sudo halt -p
The system is going down for system halt NOW!
Connection to cp-mail01.itfreedom.com closed.
I suppose it’s a bit strange to speak so sentimentally about a piece of software, but to us Courier is special (was special? I’m never sure which tense to use when speaking of the recently system-halted.) It is a great piece of software—fast, flexible, reliable, and open-source—and we grew up with it like childhood friends.
Courier was developed by a single person (so far as I know), Sam Varshavchik, who as Double Precision, Inc., still maintains it. I’ve never met Sam, and I think only corresponded with him on one occasion to report a bug. But from his software and associated documentation, I feel like I know him well: terse, no-nonsense, a bit difficult to work with at times, but brilliant and reliable.
In its elegant simplicity, Courier is as much a piece of art as it is software, and you can’t help but admire its author as artist.
I believe that Varshavchik first released Courier in about 2000, not long after I started IT Freedom. We began using it shortly thereafter. Many of our customers already had the best email solution going at the time, Microsoft Exchange Server, but Exchange was expensive to set up and maintain, so we needed an alternative. Courier fit the bill perfectly. We could install it on our standard Linux gateway server that we deployed to all of our customers, so the incremental hardware and software costs were nil.
As our customer base grew though, we realized, duh, what a pain in the ass it was to maintain a separate Courier installation for each customer because every software update and maintenance task had to be repeated for each customer. We already had our own Courier installation running on a server (actually, a used Dell OptiPlex at the time…) in our rented cabinet at Jump.Net, a local hosting provider, so we converted that to a shared Courier environment and painfully migrated our Courier customers to it.
Over time we added many features to our email environment, using Courier as the core. Courier is incredibly extensible for the knowledgeable system admin. We integrated hooks to accomplish many message processing tasks that even today are very difficult to do with other email platforms. Examples include spam and virus filtering, the processing and routing of alerts for all of our customers’ networks ranging from antivirus warnings to server monitoring alerts from our Nagios platform, and even electronic fax routing. We even used Courier to monitor email flow through our customers’ Microsoft Exchange servers. Even now, there are many things that Courier handles with aplomb that are very difficult to do in other email environments.
For end-users though, Courier could not keep up with the Internet. As browsers became more capable, end-users wanted web access to their email, especially when out of the office — what a novel idea! — and Courier’s rather primitive web interface, sqwebmail, couldn’t keep up. And that’s before even getting to the smartphone revolution.
We researched and found a better alternative, Zimbra, which we rolled out internally and to several customers. Zimbra was a much better experience for customers than our previous Courier environment, but it was quickly eclipsed by Google Apps, which we now use internally and bundle into our Managed IT Services for our customers. Google Apps is an amazingly rich product suite at an amazing price, and as a service provider, it has greatly reduced our administrative and support burdens.
It’s incredible to me how far business communications has come in the last sixteen years. Looking back, both Courier and our younger IT Freedom selves seem primitive in comparison to who we are and what we have to offer to customers today. It’s a testament to the power of incremental improvement, captured in one of our core principles: get better.
Until a few weeks ago, we still had a few lingering mailboxes and automations running on Courier, but Brian and the rest of our team finished migrating them to other services, mostly cloud-based, like Google Apps, Google App Engine, and Amazon Web Services. Courier no longer serves any purpose for us, and let’s be honest, it’s not like a loyal old hunting dog. It’s no longer of use to us, so in our constant effort to stay lean and efficient, we had to shut it down. But it’s still a bit sad.