njms.ca

All your software is a political statement

Published on 2023-08-02


Content warnings: transphobia, ableism and racism.

Every now and then, while scrolling through the fediverse, I notice this guy named Hector Martin who always seems to be fighting on the front-lines of social justice in the tech industry for some reason. If you aren't familiar with his work, he is the lead developer of Asahi Linux, a project working towards porting Linux to Apple's new devices. At first this seemed a little strange; cursorily looking over his website doesn't reveal much about why he'd care about bigotry (everyone should care about bigotry, and most claim to, but usually only those with skin in the game are willing to go to bat). The problems he often brings up resonate with me quite a bit, though. Enough to give me the energy to waste my afternoon writing this article.

Hector Martin (social.treehouse.systems)

The problem he's always dealing with is that whenever Asahi Linux gets shared on a website like Hacker News, people always start saying mean things about the people on his team. Notably, there's a number of transgender people working on Asahi. I've never been directly involved in the Asahi community but based on the scathing reviews I've read from anonymous commentators around the web, it sounds like they make a point to ensure their community is a safe place for queer people.

I've seen the things these people say crop up all over the place on tech websites. I remember it being so bad on Hacker News that I had to redirect my tech news aggregator addiction to Lobsters, which is only slightly better. These comments often read something like this, with varying levels of culture war buzzwords depending on how upset the person is at a given moment:

Why are you bringing politics into software?

Damn, okay. I have a lot to say about this, and I hope you're ready to hear it.

I think that most people reading my website will already agree with me when I say that technology is political. I am, however, going to try my best to write this as though you don't, as an exercise for myself. I've seen people make this claim a number of times around the web in a short and quippy way but I've never seen someone do a thorough write up on the idea, which is what I hope to accomplish here.

Let's start.

What does it mean to be political?

The word political means many things. Usually, something is political if it is relevant to "politics," which is another one of those words that doesn't really mean anything. I guess we could define politics as the ensemble of present political discourse, giving us a nice, recursive definition.

If you aren't often the person being told off for being political, you probably have an intuitive sense of what I mean, but I think having the other perspective here is extremely important to understanding what it means for software to be political.

I, for one, am usually the person being political. My experience is that the word "political" is usually a euphemism for "concerned with things I don't want to interact with in this space." And for what it's worth, I think that often times, it's extremely healthy to have boundaries around what kinds of ideas you're comfortable interacting with and when. This is kind of the main selling point on content warnings in many places around the fediverse: I know it's important that I be aware of whatever atrocity it is you want to tell me just happened, but I might not have the energy to deal with it right now, so I'll come back later. The problem is, for some people, we never get to "stop" being political. We wake up every day and just by virtue of existing, by being seen, we are performing a political act.

For example, people aren't used to seeing people with bodies like the one I have wear things like skirts or have long hair. If I choose to wear a skirt, then I'm incidentally and necessarily making a political statement, and that statement is "people like me can wear skirts." That is technically a choice I can not make. I could choose to wear jeans and a boxy-cut tee shirt with my hair pulled back into a so-called man-bun. I would be a lot less visible as who I am, but I would also be making a statement. That statement would be something like "I am a man;" a statement expressed in the language of the clothes I wear.

The first statement is clearly political, because not everyone agrees with it. Granted, in my home country, people have gotten at least very good at ignoring people who go against their understanding of the gender binary. In other countries, this political statement is much more controversial. In fact, in the United States among many, many others, this statement is actually quite dangerous. Many, myself included, would argue that this statement is so fervently rejected by the powers that be that we are witnessing an ongoing transgender genocide¹.

Transgender genocide (en.wikipedia.org)

The second statement isn't really political at all. If I wear masculine clothing, almost everyone looks at me and immediately thinks that I'm a man. As such, the statement "I am a man" is basically tautological. Nobody is made to feel uncomfortable, and few if any would even notice.

This is the really important thing to take note of when talking about things we see as political. Apolitical implies normal, uncontroversial, and specifically, in line with how we understand the world. Political means different things to different people. To some, "we must redistribute the wealth of the upper class to the people" is a completely apolitical statement. If you were to say it in certain crowds, nobody would bat an eye. To others, this idea is almost extremist. How political something is is entirely dependent on how the people we surround ourselves with feel.

So, if someone tells you that you're being political, what they're doing is defining their Overton window to exclude you. This can be okay if the controversy is both harmless and irrelevant to what your community is working on, but quite often, what makes you political is rather intrinsic to who you are, such that to be defined outside of their Overton window is to choose between debasing yourself or leaving the community entirely. Some don't even get to make that choice.

Overton window (en.wikipedia.org)

Software is a text

Most people start out in software development with this conception that code is kind of like a recipe. At its core, code is, in fact, a list of specific, concrete instructions that when executed together, do something.

When I call software a "text," I mean that in the literary sense. It might seem a little weird to try and analyze software as a literary work, and I mean fair, but I'm doing this on purpose, because I want to take a moment and get away from the incredibly common notion that code is this pure, unadulterated expression of action, unfettered by the emotions of us mere mortals. When people talk about code, it seems they always talk about it as though it can never have motivations outside of what the programmer sought to do on the highest level. The thing is, often times, programs make a lot of hidden assumptions and decisions that, while they may seem apolitical to you, can be extremely political to someone else.

Here's a silly but sad example. In the past, I organized a hackathon at my university. I wasn't responsible for judging, but I was close to some of the people who were. One of the categories we had was for accessibility needs, so one of the judges had to go around asking each team what they did to make their project accessible. Display after display, this person asked how accessible each project was and got the same empty stare. One of the teams awkwardly stammered that their project could run on both Windows and Mac. Congratulations, you figured out how to use Electron. Only one team put any thought into the accessibility of their project, where they specifically picked out a colour scheme for their game that would make it easier to play for people with colourblindness. The teams had an intuitive sense that they should be making an effort to make their projects accessible and were extremely embarrassed to be called out on the fact that they didn't. They chose to do this thing so pervasive in the tech industry where they leave accessibility as an afterthought, likely without even realizing it.

When you choose to render your hamburger menu with a checkbox to sneakily avoid needing to use JavaScript, or when you fail to add alt-text to your images, or when you add a bunch of ASCII characters to your website that don't mean anything to a screen reader, you are making motivated decisions that impact real people. Forgetting isn't an excuse; it's an admission of failure. The software reflects these motivations when used by people who depend on you getting it right.

When a blind person needs to fill out a form to use your website and their screen reader can't properly guide them through it, your website is telling its blind users that they are not welcome. You've just created a blind-person-free zone. Of course, they could ask for help from a sighted person, but it's nice to be independent, you know? Always needing to ask for help to do basic society things can be extremely debasing, and feeds into this narrative that disabled people can't be independent. Of course, they could be independent; it's just that many people have chosen to build a word where they can't.

Software is not "just" a tool

We grow up with this conception that software is a tool. Many will tell you that tools do not have any intrinsic motivations. I think that this is often a useful way of thinking about things. Of course, tools can be used to very different effects, but I think the problem is that calling software a tool is an oversimplification, and often times a poor reflection of what software actually represents in our world. Instead, I'm going to call software a system. And, say it with me now:

The purpose of a system is what it does.

The purpose of a system is what it does (en.wikipedia.org)

The purpose of a system is what it does. You can say the purpose of a system is whatever you want it to be, but that literally does not matter if it does something else. Why? Because systems are designed, and if a system is designed to do something, then someone was motivated to make it that way. Even if what caused someone to design a system in that way was rooted in ignorance, that simply doesn't matter. What matters is that it does that thing, and somebody made it that way.

Perhaps the most telling example of this is how driverless cars are more likely to hit black people, because they're less likely to see them as humans. Whenever this topic comes up, you'll get a chorus of AI people explaining the reasoning behind it, which is that AI is trained on the data the AI engineers have available to them. In the case of a Silicon Valley tech company, driving around town taking photos of people, those people are almost certainly going to be very white. So, the AI is trained that humans look like white people. This is true, but it paints over what's really happening: incidentally or otherwise, these people chose to train their doohickey that humans look like white people, and the consequence is that black people are more likely to get hit by their cars. That's a design decision, and for all intensive purposes, the purpose of a system is what it does.

"Self-driving cars more likely to drive into black people, study claims" by Anthony Cuthbertson (independent.co.uk)

I'm not claiming that AI engineers are individually conspiring to build a racist killing machine (though I doubt it less every day), but you should not be surprised to learn that the history of the so-called New World is very, very racist. White, settler people today, myself included, are acting out the scripts handed down to us over the course of many generations, and those scripts were written by people who sold people as commodities. The scripts look a lot different today than they did then, but the essence is still there, as evidenced by the fact that AI engineers are "accidentally" creating racist killing machines. If we don't make an active effort to throw out that script then we become part of the problem².

Conclusion

The reason we say that software is political is because every software developer has opinions. To them, these opinions may seem completely apolitical, but to us, they may vary from debasing to extremely dangerous. These opinions influence the design of their software in ways they may not even realize. But, it doesn't really matter whether or not they realize it. If their software does something bad, then that thing is intrinsic to the design of the software. If that bad thing hurts you, then they hurt you, provided "as is", without warranty of any kind or otherwise. The notion that software is apolitical is an ideology, and it provides people a lot of cover to hide behind when they build things that are harmful. When someone tells me that I'm being "political" for caring about it, they're telling me that my experience doesn't matter.

Footnotes

¹ I had a hard time finding a good article online that covered this in the breadth that I was looking for. Unsurprisingly, for reasons I will get to later in this article, this issue is not really being covered by the media. In fact, many of those same people, myself included, would argue the media are contributing to it.

The main idea is that many American states are working to legislate transgender people out of existence. For example, many of the so-called "drag bans" around the United States are actually written with language that broadly criminalizes transgender people from existing in public space. An article from them titled "Anti-Drag Legislation Isn't Just About Drag" quotes the West Virginia drag ban bill, which liberally defines the "obscenity" it attempts to shield minors from as "any transvestite and/or transgender exposure, performances or display." As such, if I lived in West Virginia, equipped a skirt and hopped on the bus where there happened to be a minor, that would be illegal. Other examples of this include severely limiting access to the medical treatments that enable transgender people to not be miserable and suicidal all the time, and making it effectively impossible to use public facilities like bathrooms by forcing you to choose between being harassed for not looking enough like the sign on the door to use the bathroom they expect you to use, or simply breaking the law.

"Anti-Drag Legislation Isn't Just About Drag" by James Factora (them.us)

All of this, of course, is accompanied by the fact that transgender people are currently a major target for violence by law enforcement and far-right militias.

² The remark I often heard following the murder of George Floyd by the Minneapolis police regarding this was "it's not enough to be non-racist. You have to be anti-racist," which encapsulates this idea pretty well. There is a pressing, immediate problem, and choosing to do nothing doesn't absolve you of moral responsibility for the problem if you are a part of the class that benefits from the existence of the system creating the problem.

Respond to this article

If you have thoughts you'd like to share, send me an email!

See here for ways to reach out