Moving to More Ethical Software

Nate Berkopec

Lately, I've been thinking about being a more ethical consumer of software. Much in the same way that I've been thinking about becoming a more ethical consumer of food, especially meat, I'm starting to believe I have a responsibility to use my small market power as a consumer to support the production of ethical software.

More ethical software use generally means that:

  • I should be using more free and open source equivalents to existing services I use.
  • I should not support companies that produce software through abusive working conditions.
  • I should not support companies that support odious political regimes or goals.
  • I should support companies that allow me to see the data they're keeping on my behalf.
  • Where simple and easy, I should host my own services (as Stallman would say, to "do my own computing").

I think these principles generally line up with how I try to live my life otherwise: I try to minimize my harm to others, maximize how much I am helping others, and to live a life where I'm not being exploited for someone else's gain. Software now plays such a massive role in our lives that while in the past we may have felt that the choice of software we use wasn't an ethically meaningful decision, it now surely is. When you choose to use Google in spite of their obvious lack of respect for your personal privacy, you are implicitly supporting the creation of more software that destroys attention, privacy, and creates a corporate surveillance state. I would like to instead support software that moves us away from that direction.

I'm not striving for a Platonic ideal of perfect free software-dom, where even my bootloader and every piece of software running on my machine is FSF-approved. I just want to be moving in the right direction, with each passing month meaning I'm using a more ethical software stack than I was the month before.

I prefer this "marginal gains" approach, because it's simply more realistic, and it also allows me to progress slowly while making tradeoffs against convenience and feature set. We all know the reason why unethical software is often widely used - it's usually quite good. I want to lose as little of this software's utility as possible when switching to a more ethical alternative. Doing this incrementally makes it much easier to manage this tradeoff.

This blog post serves as something of an inventory and a log of my current "software stack", and includes my personal ethical evaluation of each service or piece of software and a list of alternatives I'm considering, if any.

My Personal Software Stack

  • Email

    Current: Fastmail

    Despite the name, not actually very fast. I have a lot of trouble with the iOS mail client timing out.

  • Email client

    Current: Fastmail (Web/iOS)

    I have some trouble with the iOS client, but the web client is just fine.

    Alternatives: Thunderbird

    This project has some surprising longevity.

  • Social

    Current: Twitter, Mastodon, Reddit
    Alternative: Mastodon

    Twitter alternatives haven't quite caught on yet. Alternatives to Reddit are mostly filled with racists. Facebook is on maintenance mode for kids playgroups only at this point.

  • GTD

    Current: Todoist

    Great but closed-source.


    Perhaps something custom? I have a weird idea for a todo app that uses plaintext files as the database. The only hard problem about todo apps is syncing. Everything else isn't hard at all.

  • Calendar

    Current: Fantastical
    Alternatives: Nextcloud

    Fantastical does alright. Calendars are so important to daily workflow that I'm nervous to replace them

  • Browser

    Current: Arc

    Although closed-source, I like Arc's UI quite a bit, and it's not Google (at least the closed source parts).

  • Browser (Mobile)

    Current: Safari
    Alternatives: Firefox

    I tried this a while ago and it wasn't great. I'll have to try again.

  • Password Manager

    Current: Bitwarden

    I'm happy with Bitwarden. Next step will be to host my own Bitwarden server on Yunohost.

  • E-Reader

    Current: Kindle
    Alternatives: Remarkable 2, ?

    Anything that's not Amazon is probably better, even if it isn't Free

  • Podcasts

    Current: Overcast

    It's working pretty well. I've converted completely from

  • Operating System (Desktop)

    Current: Mac

    Daily driving Linux just isn't for me.

  • Operating System (Mobile)

    Current: iOS

    Tough again. Android not exactly "free" and a big downgrade in UX IMO.

  • Music

    Current: Apple Music
    Alternatives: Airsonic, Funkwhale

    There seem to be a few host-your-own collectors nowadays. Buying music seems harder.

  • Document Management

    Current: Google Suite
    Alternatives: Nextcloud/Onlyoffice
  • Filesharing

    Current: S3 Bucket
    Alternatives: Jirafeau, Lutim
  • Personal Finance

    Current: YNAB
    Alternatives: Kresus

    YNAB is, I believe, a Rails shop, so it's a nice artisanally made piece of closed source.

  • Backups

    Current: Time Machine
  • Search

    Current: DuckDuckGo
    Alternatives: searx