I’ve given myself a bit of a challenge these last few years to migrate as much of my digital life as I can towards using open-source software and services. There have been many reasons for this — increased security/privacy, better performance on my aging devices, more control of what my devices are doing, less likelihood that a program critical to my workflow ends up breaking or being discontinued, etc. (I’m still frustrated by Google killing off Inbox and Reader, which were both integral to my daily workflow at the time of their demise 🤦🏻‍♂️.)

There are still a few holdovers where non-open-source software show up in my life, but the vast majority of the apps and services I use day-to-day are either fully open source, or could quickly be replaced with a fully open-source alternatives if/when needed. (Looking at you, WhatsApp.)

Through this move towards Free and Open-Source Software, I’ve noticed a shift in how I look at the world which I don’t know would have come about without this transition.

The shift basically boils down to the answer to a question:
When you see a problem, what do you do about it?

If you see something broken, something that’s not working the way it should, or an area where you think there’s space for improvement, what do you do about it?

To illustrate a couple of the ways I’ve found myself answering this question (and how they relate to open source software, and the rest of life), I want to offer you a short “Tale of Two Bugs”. These tales are based on true stories, but names have been obscured to protect the innocent.

A Tale of Two Bugs

Our story opens with me using one of the last holdouts of closed-source software in my life: the chat app WhatsUp, owned by the Social Media empire PlaceBook. WhatsUp has an annoying bug in their online chat interface. This bug has been around for almost two years at the time I’m writing this post. It’s a bug that I estimate could be fixed by changing just a few lines of code in one single file; at MOST 2 hours of a developer’s time to write the fix, and get it tested and implemented.

However, even though this bug (in an app owned by one of the richest companies in history) has been around for years, could be fixed by a junior developer in an afternoon, and would help the experience of the app for tens of millions of people, it remains unfixed. There are tens of thousands of people who use this app who have skill-set to fix this bug if they had access to the source code. But, because the app is closed source, we’re left dealing with this bug indefinitely.

When you see a problem, what do you do about it?

In this case, I facepalm, groan in annoyance, close the WhatsUp Web interface, and write a post complaining about it on my website. 🤦🏻‍♂️

Which actually leads us to the tale of our second bug: while working on writing a post, I realized that there was a feature that I wished could have on my website. Because the program I use to build my website is 100% open source, I know there are places where people are talking about the development of the program. I dig around, and find the GitHub discussion page for the software I use for my website. And I find a conversation from several other other people who also are wishing for this feature! I look around at a couple other websites that use the feature we’re wanting, and realize it wouldn’t actually be too difficult to code that feature into my website for myself. I spend a couple hours learning to code in this specific programming language, writing some code, tweaking, playing, breaking, and fixing… before breaking again, and fixing again…

And, at the end, I have a functional version of the feature I wanted, fully implemented on my website! 😎

And I feel pumped about it!

I begin to walk away, before I remember that there are others who were also wanting that feature on their websites, too.

I upload my code to the GitHub page, hedging my submission with an explanation that, “because this is all based on code in a programming language I just learned for this project, my code is probably garbage; but it works for me, so maybe you’ll find it helpful, too?”

I press submit, close my laptop, and go for a walk.

I come back later, and already a few people have taken my code and implemented it on their websites! I’ve solved a problem for myself that almost instantly people have been able to make use of for themselves, too.

When you see a problem, what do you do about it?

In contrast to our first tale, here our answer has become “get to work and do something to fix it!”

Open Source, Responsibility, and the World

The main lesson I’ve taken away from this is a simple one:

We have a lot more agency than we think to bring about positive change in the world around us.

Yes, there are indeed things that we might not be able to do much about: there’s not much I can do to fix that annoying WhatsApp bug, just like there’s not a ton I can do to stop the Russian war.

But, there are a TON of areas around us we probably don’t recognize, where we can bring about disproportionately helpful change that can impact many people.

Using open source software has helped me change my response to the problems I see in the world around me. Right now, because almost everything I use is open source, basically any bug I come across is on software I have access to the code for. If I want, I can dig in, find the source of the problem, and assuming I have the skill-set, create a solution! (Or more likely, file a bug report to notify developers about a bug they probably didn’t know about…. Or, if it’s a feature I’m especially passionate about, I can even pay someone smarter than me to create the solution!)

My main point:
If we see a problem, there’s a pretty good chance we have resources at our disposal to be a part of creating and implementing the solution to that problem.

It’s a lesson learned in code, but one that I think very much applies to the rest of life, too.

It’s helped me move further away from responses of helplessness and complaining about the issues I encounter in life.

Instead, it’s pushed me more towards responses focused on action and solutions, ideally solved and implemented within community.

And I think that’s pretty cool!