On this independence day, I'm declaring independence from my email! This might be a shocking announcement if you've been keeping up with my other blog posts, in which I've continually taken the view that simplicity and minimalism are preferable to complex solutions. I've also always said that I prefer to use OpenBSD base software at all costs, and refused to install any 3rd-packages.
But now, in the age of government surveillance, I can't afford that
thinking when it comes to digital communication. Let me make it
perfectly clear that I still support using OpenBSD base software
for local tasks, such as creating calendars and checking emails,
and all that. I'm still using
cvs(1) because it's built in, instead
of Git. My thinking has now turned from "simplicity at all costs"
to "security over simplicity, only when necessary."
What this means is that I still am striving to keep my digital life
simple. But I know that I also need to keep it secure. It's no
secret that email is not secure. And I can't make it secure on
OpenBSD with only base software. So, I decided to take the leap
from OpenBSD's build-in
smtpd(8) to Synapse, PostgreSQL, and Coturn.
Security was my primary motivation for switching to Matrix, but I
had a few other reasons to really make the jump:
I already have all of the source packages for OpenBSD downloaded. Why would I limit myself to only using software in the OpenBSD base if 60+ gigabytes of my server storage is being taken up by source code alone? I made exceptions for Firefox, groff, and a few other essential software packages, so why not those needed for Matrix?
Matrix is, in fact, easier to run than email. smtpd(8) itself has a configuration file that's only a few lines long, but running an email server is a whole lot harder than just starting smtpd(8) and sending email. In order to run a proper email server, you have to set up a number of other daemons as well, which are responsible for hacking on security features and making the big email providers happy. You have to have a static IP address with proper rDNS, and you have to set up DKIM and DMARC, and SPF, and the list goes on and on. With Matrix, I was able to spin up a few VMs with a database and the software, and then just tell relayd(8) about it. That's it. No DNS hackery or other magic to make things work. Matrix just worked, with end-to-end encryption, no less.
Matrix is more user-friendly. A lot of people had a really hard time with sending plain-text emails, leaving my inbox looking like a war zone. HTML and base64 are just everywhere, and I can't escape it. Simply put, it's hard for a terminal user in 2022 to read email and it's hard for a GUI user in 2022 to actually send emails that a terminal user can read. Matrix solves this problem. Messages look the same for everyone. Plus, it seems like people would rather just sign up for a new service than configure their email client properly. As my girlfriend said, "people are lazy." With Matrix, I can take advantage of formatted messages, and arbitrary files, and all that. I don't have to just accept plain-text emails, because that turned out to be a pain for everyone.
Matrix is also more user-friendly in the sense that it allows users to manage their own accounts. With my email server, if I wanted to give my friends and family an email account on it, I'd have to create their accounts and issue them passwords that they couldn't change. But with Matrix, anyone can sign up for an account on my homeserver and manage it for themselves. Makes the experience more normal for users, and less chaotic for me.
Matrix replaces both SMS and email. I'm all for consolidating my software, and by using Matrix, I get to replace two means of communication with one. I've always hated SMS, and I'm not loving email at the moment either. Matrix is a breath of fresh air that allows me to rid myself of both of those. Additionally, people no longer have to ask me how to send something. The answer will always be "Matrix." The question of "should I text that or email it" is now no longer a question that needs to be asked. Matrix also allows me to get rid of DeltaChat. Before switching to Matrix, I had some people communicating with me via SMS, some via regular email, and some via DeltaChat. Now, it's all just Matrix. Or at least, it will be.
Matrix is more reliable. I don't have to worry about whether or not my messages went through. I'm not dependent on a big tech company to bless my email server and allow me to send mail that doesn't just go directly to the spam folder. I know that when I hit Send in my Matrix client, my message will get to the intended recipient. Period. Especially if that recipient happens to be on my server.
My IMAP server was never done correctly. I always hated the way I had it set up, and I never could do it properly in the way that I wanted. Plus, it was really being abused by my software stack. My girlfriend and I were trying to do instant-messaging over IMAP, and that's just not what IMAP is for. So things broke quite often.
So those are the reasons I've decided to switch all of my digital communications over to Matrix. My website is already up to date to reflect this information. I also have posted what I call a "propaganda pamphlet" that provides more information about Matrix, as well as onboarding instructions if you want to hop on the bandwagon. If you haven't seen it yet, I'd highly recommend taking a look:
Now, the process is only just beginning. I got my girlfriend switched over to my homeserver, and we test-drove it for a few days to confirm it works. There's still a lot of work to be done though. By next week, I'm hoping to have my whole family on my homeserver as well, and slowly but surely, it is my goal to get all of my SMS contacts switched over as well. I'll still need to keep my email around for a few online accounts that don't accept anything else, but other than that, I will be telling everyone that emails me to use Matrix instead.
© 2019-2023 Jordan Bancino.