A FOSS Christmas

Written By: Macuyler Dunn
Last Updated: December 20, 2023
Description: I'm giving $5 to 10 of my favorite FOSS projects this year!

Paying for free software?

This year I’m going to donate $5 to each of my top 10 favorite FOSS projects from this year. I have greatly benefited from each of these projects for a while now, but I haven’t ever shown my support. Donating some cash seems like the least I can do, considering how much I appreciate their work. ‘Tis the season anyways, right? $50 total, averages out to $4 a month—which is $2.99/mo less than Netflix, btw—and I have absolutely received more than $4 worth of value from these projects every single month! If you have $50 to spare, and you used a lot of open source software this year, I encourage you to come up with your own list and do the same.

My List

1. Syncthing

Syncthing is a continuous file synchronization program. It synchronizes files between two or more computers in real time, safely protected from prying eyes. Your data is your data alone and you deserve to choose where it is stored, whether it is shared with some third party, and how it’s transmitted over the internet.

Syncthing has been a game changer for me! It gives you all of the convenience of syncing files to the cloud, without any of your files ever actually being stored on someone else’s computer. Syncthing can transfer files over your local network making speeds extremely fast. It also has the option to send files through relay nodes, allowing you to sync files from anywhere you have an internet connection. I was able to switch to Syncthing for all of my photo and video syncing needs. This allowed me to stop using Google Photos entirely, and store all of my photos locally on my own devices. Syncthing also alleviated my need for cloud based password managers, and makes for a pretty sweet AirDrop alternative in a pinch.

2. KeePassXC

Cross-platform Password Manager - Let KeePassXC safely store your passwords and auto-fill them into your favorite apps, so you can forget all about them. We do the heavy lifting in a no-nonsense, ad-free, tracker-free, and cloud-free manner. Free and open source.

𝄞 Do you hear what I hear? LastPass! LastPass! They've had another breach! All of your passwords were just leaked... 𝄇

After switching to KeePass I have never looked back. It is just a simple, textbook implementation of a reliable password manager. Sure, it doesn’t auto-fill your credentials into every text input on the web, but it does have some basic auto-fill functionality. Either way, isn’t auto-fill kind of counter productive anyways? The point is for your passwords, stored on your device, to be accessible by you, not your browser. It is a simple model but there really isn’t anything wrong with it, as long as you’re proficient at using keyboard shortcuts like Ctrl-C and Ctrl-V. One major KeePass feature, that I think is criminally underrated, is the fact that you can make a bunch of separate databases for your passwords. Each new database can have its own unique master password, and can be stored on the devices that need it. I personally have one database for each device that I use, and it only contains the passwords that I need for that device. So if any of my devices were to ever be compromised, only a small set of my (encrypted) passwords would be affected.

3. X.org

The X.Org project provides an open source implementation of the X Window System. The development work is being done in conjunction with the freedesktop.org community.

As someone who exclusively uses a Linux desktop for both work and personal computing, this one is a no-brainer. The X Window System is the backbone for a lot of Linux desktop environments, and has been for decades. It is the software that allows your computer to render graphical user interfaces, contained inside application “windows”, that you can open and drag around. Without this windowing system, and systems like it, us users would be relegated to a text based computing experience.

P.S. People keep adding surprise emojis into their CLI tools. So I also wanted to give a shout out for adding emjoi support to libXft! Even though, this was technically added in summer 2022, I got to learn about it by way of troubleshooting because Ubuntu 22.04 only ships version 2.3.4-1.

4. suckless.org

software that sucks less

Keeping with the theme of Linux desktop tools, I have been using suckless tools for the better part of a year now. I appreciate the idea of minimal software that is designed to fulfill a single purpose and nothing more. Small, readable code bases are an ideal that all developers strive for, and the suckless team has managed to achieve that goal while delivering reliable and effective tools. I use st and dmenu on a daily basis, and they always get the job done without any issues. There are never any updates that need downloaded, settings that need changed, restarts that are required, or unexpected changes that get in the way. If I ever find myself wanting more functionality, their expansive list of community patches come to the rescue.

5. tmux

tmux is a terminal multiplexer. It lets you switch easily between several programs in one terminal, detach them (they keep running in the background) and reattach them to a different terminal.

As far as my digital life is concerned, I basically spend all day every day, in tmux. A decent tmux + Vim setup is all you need to be a happy developer. I can’t emphasize enough how much easier my life is now that I’m not aggressively three-finger swiping across my track pad to switch between projects. After you get used to the keyboard shortcuts, it becomes effortless to make anything you want appear on your screen. It seriously is as close as humans have come, and may ever come, to controlling reality with our minds.

6. ALE: Asynchronous Lint Engine

ALE (Asynchronous Lint Engine) is a plugin providing linting (syntax checking and semantic errors) in NeoVim 0.6.0+ and Vim 8.0+ while you edit your text files, and acts as a Vim Language Server Protocol client.

Speaking of Vim! I couldn’t have switched away from VS Code full time without ALE. As far as ESlint/Prettier wrappers go, for Vim, there is nothing better. It has excellent support for LSPs, and I am proud to say that it has been the only intellisense type plugin in my vimrc for a while now. There is nothing more that I could ask for from this tool. I plan to use it for the remainder of my tenure as a non-Neovim user.

7. Zathura

zathura is a highly customizable and functional document viewer. It provides a minimalistic and space saving interface as well as an easy usage that mainly focuses on keyboard interaction.

This one is a relatively new find for me. But it is so cool that it definitely needs a spot on the list. The flagship feature, from where I’m sitting, is the support for Vim-like keybindings. This makes switching back and forth between reading a PDF and editing text a breeze. It also allows me to read documents without needing to use a mouse to scroll, which is sweet! I really appreciate the minimal interface. Believe it or not, I don’t love having to close a bunch of side bars and menus every time I open a PDF. Zathura just shows me the document on a black background and some helpful context, like the file name and page number, in a minimal status bar at the bottom.

8. GrapheneOS

The private and secure mobile operating system with Android app compatibility. Developed as a non-profit open source project.

A year after installing GrapheneOS on my phone, I wouldn’t ever consider going back to the default Android version. I have been at war with my phone for almost two years now, I dream of a day where I am free to smash the thing, but that is a story for another time. In the war against my phone, GrapheneOS has been an invaluable asset. Not requiring Google Play Services out of the box means that you can just use the phone without logging into some online account (what a novel concept). Using sand boxed Google Play Services inside of a work profile means that I can still get Slack notifications without the previous point being moot. There are just enough default apps to make the system usable in the real world. Where this project really shines is when switching between socially acceptable levels of digital abstinence and being a complete digital hermit. I have my main profile that basically just has phone, calendar, maps, and a 2FA app. Then there is the “Junk” profile, which basically has everything else including the likes of Facebook Messenger (gross). I just spend 90% of my time living in the main profile, and I’m able to sleep at night.

Pro tip: not carrying your phone in your pocket around the house also helps.

9. Organic Maps

Organic Maps is a free Android & iOS offline maps app for travelers, tourists, hikers, and cyclists based on top of crowd-sourced OpenStreetMap data. It is a privacy-focused, open-source fork of Maps.me app (previously known as MapsWithMe), maintained by the same people who created MapsWithMe in 2011.

This one took a while to get used to. It made me realize the reason that Google Maps took off, wasn’t because the maps were spectacular, but because it had really tight integration with the power of Google Search. That becomes really apparent when all of a sudden that power is no longer there at all. That being said, you do eventually get used to it. You just need to figure out a workflow that suits your needs. Most of the time, I don’t end up going to too many unexpected places while I’m out and about. So before I leave if I can plan my trip, possibly by looking at Google Maps on the web, then I am totally fine. Once you have a destination, the navigation experience itself is wonderful. Offline navigation is a much better approach than online navigation while driving a car. Say good bye to those awkward delays, after you miss a turn, while your phone “re-routes” you. When Google Maps does this, it is making a network request to Google’s servers saying, “I am lost, please help,” then it gets the results back and everything is fine again. But depending on how good your cell service is, you may never get those results back, and then what are you even supposed to do? Organic Maps handles routing locally on your device, so no matter how bad your cell service is, you can navigate effortlessly. The downside to this is, your phone pales in comparison to the speed of Google’s servers once you take the network delay out of the picture. So your the initial routing process, depending on how old your phone is and how far you are traveling, can take a while. I was very impressed by this app once I had used it for a bit, and it is my default for navigating to new places around town.

10. F-Droid

F-Droid is an installable catalogue of FOSS (Free and Open Source Software) applications for the Android platform. The client makes it easy to browse, install, and keep track of updates on your device.

To round out the list, I decided on F-Droid. This is a fun Android app store that packages open source applications and makes it easy to install them and keep them up to date. Not only is this a great way to find cool new FOSS apps, but it is also a great alternative to the Google Play Store if you don’t want to log into a Google account on your phone. I have never had problems with this app, you just install it on your phone, and it works. Simple, reliable, and effective. Thank you F-Droid!


Honorable Mentions

  1. Aurora Store: Anonymous Google Play Store alternative. [Donate]
  2. CalyxOS: My previous phone OS, with many features that I miss dearly. [Donate]
  3. DAVx5: Android calendar and contact syncing. [Donate]
  4. Polybar Linux desktop status bar. [Donate]

TL;DR

These are my favorite FOSS projects from this year, and I donated $5 to each of them! If you have used a bunch of open source software this year, please consider making your own list and giving back.

  1. Syncthing - Donate
  2. KeePassXC - Donate
  3. X.org - Donate
  4. suckless.org - Donate
  5. tmux - Donate
  6. ALE - Donate
  7. Zathura - Donate
  8. GrapheneOS - Donate
  9. Organic Maps - Donate
  10. F-Droid - Donate