Why we contribute to Cyrus IMAP
This is the twelfth post in the 2016 FastMail Advent Calendar. Stay tuned for another post tomorrow.
Did you know that a fundamental piece of FastMail infrastructure - the email server Cyrus IMAP - is a free, open source project?
Not only that, but we have several staff members who spend a majority of their time contributing by developing, maintaining, testing and documenting Cyrus IMAP.
But wait (I hear you say) why would we spend our own time and money giving away a core piece of our business?
Why have we not forked Cyrus and kept all the added features in private so as to maintain our competitive edge? Why are we not using a pre-existing commercial product with commercial support instead of relying on the goodwill of the internet to provide assistance?
Why, why, WHY?
We are not giving away our business
FastMail is so much more than an email server. We have a blindingly fast web interface, mobile device support, security and authentication, features for businesses and personal users. We provide personal support for our users: every support ticket is answered by a real human (guaranteed no fake humans here). We provide redundancy and backups, spam deterrents and anti-hacker countermeasures.
FastMail could not operate without a mail server, but it is only one aspect of the business.
We contribute back to open source
There are a few reasons why we invest significant effort into Cyrus IMAP.
Standards are important
All mail clients should be able to talk to all mail servers. Using standards on the internet means different programs can all share information with each other without confusion. ... Or so the theory goes.
In practice, standards develop slower than people designing and using applications. Standards can be vague or prone to (wildly) varying interpretations. Standards change over time, resulting in different behaviour over different versions. Standards become more of a guideline and less like a rule.
By contributing back to Cyrus, we can put our experience of running a global mail hosting business into a universally available mail server. This helps us if we are trying to encourage adoption of a new standard (hello JMAP), or understand the curly edge case of a semi-compliant client, we can implement the changes and know that they will be available anywhere that uses Cyrus.
We like control
If Cyrus IMAP has a bug, we can fix it. Right away. It's what our users are paying us for. We can't afford to raise a ticket with an external product and wait for a response.
We have experts on staff who are intimitely familiar with every aspect of the mail server. It doesn't make sense to outsource the foundation of our service!
By employing many of the core developers, we have significant influence over which features get prioritized and the overall direction of the project.
We benefit from the experience of others
Cyrus IMAP is open source. People around the world are using the same software as us. They are also fixing bugs, building additional features, performing tests and using the software in ways we haven't, yet. All of which folds back into Cyrus IMAP, making our core infrastructure more robust.
We would like more people to get involved with Cyrus. Not just because it has an incredible feature set, while being responsive and reliable, but also because it grants us free access to a worldwide pool of experienced developers. A definite advantage for our customers!
Free Open Source software (FOSS) doesn't just spontaneously come to life. Nobody uses or contributes to a software project that has no activity on it, that has no documentation. And without an individual or organisation to provide oversight and guidance as to the long term direction, open source projects tend to wither due to lack of focus.
We cannot encourage others to use and contribute to Cyrus if we weren't openly and enthusiastically making it grow.
It's the right thing to do
There's a lot of logical reasons above on why we use a FOSS mail server rather than a proprietary one, or why we wouldn't keep all of our improvements to ourselves. But there's an additional excellent reason: it's the right thing to do.
We want email (and related services like address book management and shared calendaring) to improve. Email is central to global communication. It is our identity on the internet. It is how we connect and transact. We use it socially and professionally. We use it to go shopping, pay our bills, do business, reach out to friends and family.
Email does not exist in a vacuum. Your mail is sent from our servers through the twisty tubes of the internet to a destination server where it's held, waiting for the recipient to read it. If our server and their server (and all the mail servers around the planet) don't both support the same feature, at best the exchange is weak, at worst it's broken and the mail is never received.
So we contribute to Cyrus IMAP (a widely adopted globally available free mail server). We work on supporting standards. We attend conferences and talk with major players about improving standards.
We believe in what we do
Fast, feature-rich email is in everyone's best interest. Having a strong stable open platform for us all to share is a great way to make that happen. The advantages to us and to our customers are clear.
Have we inspired you?
We are always happy to welcome anyone into the Cyrus IMAP project who is keen to bugfix, develop new features, test, document or just share your knowledge. Experience with email servers is helpful but if you're up for the challenge of learning all about it, we're happy to provide guidance.