My bad opinions


Inclusiveness in Language for Outsiders Looking In

I've recently been in a few discussions related to open-source projects that have received pull requests asking to change words being used in their code and documentation. Words like "master", "slave", and "blacklist" and "whitelist".

I've long made my peace with this idea, accepting that the changes should be made, but I've also long seen a stream of more or less well-intentioned people get annoyed by it. Often, these requests are made without a very detailed explanation, and are made by people steeped in a local and often American context by which you may not feel impacted. If you start discussing the request, you may get told to "educate yourself," and the person telling you that often isn't willing to help you do that. You may also get called intolerant even if it were never your intent to communicate anything of the sort.

In this post, I'll go over a lot of this, and will try to frame these concepts, often related to micro-aggressions, which may also feel foreign. I'm making this post as a white heterosexual man for whom English is a second language. I grew up in a generally culturally-uniform environment which is 99% white, French-speaking, and of Catholic descent. In short, these demographic markers were never a reason for me to feel uncomfortable while growing up.

Pretty much all of what I'm going to describe here are things I have had to learn second-hand, that felt foreign to me. I want to explain them to other people in a similar situation, who feel that "all this is just Americans forcing us to deal with their problems." I want to frame the requests as reasonable and worth addressing. For me, the effect of doing so has been beneficial. It let me see a lot of biases that it turns out I kept maintaining at home, with our local politics as well.

If you're one of the folks who believe themselves well-intentioned and do want a learning source, hopefully this one will help. I've met a lot of non-American people who wanted to help but felt that they never understood how these requests made sense; I want to help them frame things in a way that helps them understand and accept these requests the way I did over the years. This won't be an extensive guide, but will cover the stuff I've personally had to figure out when writing articles and books, speaking in public, and maintaining open source projects.

Where does it end?

One of the most common reactions to someone asking a maintainer or author to change terminology is "where does it stop?", insinuating we're on a slippery slope that never ends. It's sort of a legitimate reaction when you're blind-sided and don't really understand where things are coming from, and so don't know where they might be headed.

From my experience, the answer is simple: it usually ends right around the requests you receive at the time. It never goes very far. Some terms and perceptions change over decades, and you might (rightfully so) need to adjust terms every few years. But it's never really hard, and it's never very frequent.

This isn't a land grab over language as a whole, and it's usually specific terminology or expressions you should adjust. Over the last 10+ years, I've been asked (and complied with) the following requests:

The latter was the trickiest one to do for me since I come from the French language, which is gendered at every grammatical level, and therefore I did not grow to perceive gender as very significant when different types of transportation, furniture, or even kinds of shoes all have different genders. It's so universal that it was just background noise. But I eventually grew aware about the fact that this was in no way universal; being able to ignore it without negative consequences can be an example of privilege. I decided to make the change towards gender neutral language before anyone insisted, although it had been mentioned to me before.

That's it, really. It hasn't gone much further than this, and particularly in the context of technical writing, it is simple to avoid it all if you stick to actually writing about the technical stuff.

How should I know?

The next reaction you might have after being blindsided by a request to change language to be more inclusive is to get a bit defensive. It might be annoying or hurtful to other people for you to use the words you wrote, but you had no idea! How should I know what is exclusionary or not?

You're not necessarily expected to know. Generally, people are forgiving of you not knowing things, like they are of you introducing bugs in your software. What really counts is not whether you knew everything ahead of time, but how you react when you are made aware of the issue.

There are only a few ways to react:

That second option is where things usually go bad. If someone tells you something you did was hurtful and you just tell them to get over themselves, this is where reciprocity ends. There is no need to respect you since you felt no need to respect them either.

The problem is not being ignorant of the potential harmfulness of words, it's doubling down when you learn about it.

Obviously there is the need for a third option, particularly when you're asked to change deeply ingrained terminology with a lot of others depending on it, be they URLs, other software, printed books, and so on. You can't necessarily go around and break compatibility with things out there.

An approach that appears to make people happy, even if it's not ideal as a result, is to openly and honestly do the following:

An example of a compromise was used in French exams I had through all levels of education while growing up. Since French is gendered and that there is no official way to go gender-neutral, each reading exam or lengthy text sent by the government had a note in it mentioning "In this text, the masculine form includes the feminine form, and is intended without discrimination, to lighten the text".

A common example for technology is the master/slave terminology, where people generally ask to replace it with leader/follower or primary/failover. In small projects where there are minimal documentation changes, it can be easy to make the switch; in larger ones with contractual obligations around compatibility or standards, lots of materials and very public APIs, it's trickier. Often you can't easily make the change. Instead you might have to:

For open-source projects, it's sometimes worth asking yourself how much refactoring you're willing to do for fun in your free time, and how much that compares to the amount of work that would be required to update these APIs. Nobody owns your time and can force you to do work you don't enjoy for free, but we are often biased in how we evaluate the effort needed.

In short, just make the change to the extent you can. If you can't do it well, show good will and make it obvious you would otherwise. That's it. You never really get in trouble by believing people's complaints and trying to be kind.

You already do it, you just didn't know

You might disagree with the idea that you should just "fold" and make the changes people ask you to make. My counter-argument is that if you're not an asshole, you already do it and it's entirely natural, but just not in that context.

There are things you don't discuss around some people. If you know someone whose relatives died of some disease, know they suffer some hardship that is difficult to heal, you're going to be far more careful before just randomly using words related to that around them. We do this all the time, even if these words wouldn't hurt us personally. It's part of trying to be kind and considerate to others. It's adjusting our behaviour and language in a way to not hurt them for no reason. And sometimes we only gain that awareness once we start being closer to people familiar to that situation and get a more direct look at how it impacts them.

The point of using inclusive language and accepting the changes is just that. You don't wait to learn to be familiar about the issues (even if you should do so eventually), you take people's word for it when they tell you something makes them uncomfortable, and you try to extend your kindness to everyone. Sometimes their frame of reference is so foreign to yours that empathy isn't as automatic as it would be for something major that almost anyone could relate to, like losing someone close, but it's still real and can still be hurtful to them based on their local frame of reference, their personal history, and their direct environment.

Over the years, I've shifted from trying to discuss it to just deciding "I probably don't get it now, but I'll take their word for it." I can look it up and familiarize myself later, but doing this has always served me well.

What Words Mean

I've just alluded to people's frame of reference. This section will expand a bit on this idea of interpretation, because I found it useful to know about when dealing with new concepts like foreign cultures and complex histories I don't understand.

Encoding and Decoding

Computers' encoding and decoding of messages is sometimes framed through the Shannon-Weaver model for communication. In short, messages that go through encoding, transmission, and decoding can all end up losing or corrupting data.

As humans we do have to deal with encoding and decoding; going from thoughts, feelings, and ideas, and turning them into words, sentences, and body language that we hope can carry the proper meaning and let the other person decode things properly. In a social setting, the context of each individual deeply impacts how the message is encoded when someone chooses their words, the overall way they say things. The state of mind the other person has, their ability to express themselves, the context they're in, their emotional state, all impact what they try to communicate. The same is true of us when we decode and try to ascribe meaning to the things they say.

In short, individuals' history, experiences, vocabulary, and cultural backgrounds impact how they express things, and also how they extract meanings from what others say. Clashes are normal when you come from different backgrounds and different experiences. Trying to figure out some of these differences—or at the very least knowing they exist—can be helpful. There are tons of discussions where people are debating different concepts that use the same word or interpret the same thing in entirely different ways. Awareness of that possibility can be a good first step.

Death of the Author

Another useful concept is The Death of the Author, which is a part of literary criticism theory that suggests that it might be useful to disconnect what a text actually says from what the author could have intended, as if the author were long dead and you could never ask what they meant at the time of writing:

The essential meaning of a work depends on the impressions of the reader, rather than the "passions" or "tastes" of the writer; "a text's unity lies not in its origins," or its creator, "but in its destination," or its audience.

A common clash occurs between the intent of the content creators, who want to be personal with their work with no ill will intended, and the readers who look only at the result on its own.

And so people who say "but I'm not intolerant! you should know this was meant differently" may get told "it doesn't matter". That's very confusing when you're the kind of person who sees a very strong connection between who you are and the work you create and others don't extend that courtesy in their interpretation. But as an author or a content creator, you can't control how your work will be interpreted. You have to make peace with the fact that your intentions cannot be known by strangers, and your text will have to stand on its own.

Language Evolution

An extension of the idea that meaning lies in the interpretation can be seen in the evolution of language. It's a concept that isn't too familiar when coming from a regulated languages like French, where a central authority decides what words should mean, and when and how grammar changes.

English is defined by usage. If enough people use words a given way, dictionaries will eventually reflect that. There is always a contrarian spirit here about how meanings shouldn't change over time, like how "literally" is also used as an intensifier making it hard to differentiate from "figuratively".

But this change is undeniable. Interpretation lies in popular usage, and you must adapt. There is no better example of this than the swastika symbol, which stood for good luck until it stood for nazism. If you're in the Western world and you put it on a piece of clothing, chances are you'll have to defend yourself from accusations of being a nazi far more than you'll be getting high fives for your choice of old-timey hockey teams. You will, in fact, have a much better time never adopting that symbol and never having to defend yourself. Find another symbol for luck, maybe.

We don't control people's interpretations, our texts stand on their own, and the context in which they are read bears more importance to their meaning than what you felt at the time of writing. Since the context changes with time, if the message is to be understood as well today as it was yesterday, it makes sense to adjust things over time. Unmaintained code rots. Language can do the same, albeit at a much slower pace.

Once again, this is also something we already do without thinking about it. You're unlikely to use the expression "nobody will notice on a galloping horse" in 2020, and you probably never even heard of it. It means that even if something isn't perfect, it's good enough for the purpose intended. It feels weirdly out of place using this expression today, mostly because most people don't have a strong sense of what being on a galloping horse is like, nor do they even think about horses all that much since they're not the main mode of transportation anymore.

If sticking to non-inclusive language means having to keep recontextualizing your work so people interpret it in the way you intended, you'll soon find out that it's far more work to have to do that than it is to just accept change.

Someone reacted in a mean way

This concept of contextual understanding is also important for understanding why people can react harshly to honest questions, or when you're trying to figure out where people are coming from when they ask you to change your choice of language. You may want to seize the opportunity to learn about their reality, and get told that no, it isn't their responsibility to inform you. Sometimes it gets meaner.

It's useful to mention concepts such as dog-whistles and concern trolling here. Dog-whistles are often used to communicate about generally unacceptable topics to an in-group while out in the open, without the rest of people picking up the reference. There are many examples of it, particularly in political discourse. But once an in-group starts to see that they can use a term to refer to a sensitive group or practice in the open, it starts becoming popular outside of politics as well.

Concern trolling is another common practice, particularly online. The way concern trolling works is by pretending to mostly agree with you, and that they would fully support you if only you were to change a few small things, or do things differently (also called "tone policing"). They will offer this advice without being asked, and will do so repeatedly with the intent of derailing efforts, discussions, and sowing discord. No matter which changes or adjustments are made, there will always be some more concerns to surface, you'll never get their support, but you'll spend a lot of time trying to convince them.

A variation of it is "Just asking questions," a practice that can look a bit like the socratic method or playing devil's advocate, but with different objectives. "Just asking questions" is one of the favored approaches of conspiracy theorists, where they will pretend to hold mainstream ideas, but keep asking about things they heard, probing for details that aren't necessarily relevant, and so on. They look like people willing to learn, but ask specific questions that have the intent of sowing doubt and anchoring the idea that maybe all of this doesn't hold up. It's a way to advance their agenda by slowly normalizing fake information and convincing other people without ever revealing their end goal. In fact, it's one of the favorite strategies of holocaust deniers.

I'm mentioning these approaches because they tend to be tacitly known by hate groups. They are not necessarily part of a clearly written playbook, but they are used often enough that they can intuitively be picked up by people within these social circles. Since these tactics are often used against the targets of hate groups, those targets also become intuitively familiar with them. People who are not their targets may however not know about them, and never really pick up on it.

So this creates a situation where you can mostly live your life unaware of these dynamics, because you're not part of either a hate group or one of their targets. But if you're part of a demographic that is targeted by hate groups, a lot of your existence is spent being aware of dog-whistles about you, being concern-trolled, and finding people who disingenuously keep trying to mess with you in all kinds of ways.

This took me a really long time to understand, but when you get people reacting strongly to questions or concerns you have, even if they're legitimate, that's one possible reason why. You inadvertently asked the same question or raised the same point that racists or intolerant people have been raising for years as a strategy to annoy, troll, and exhaust their victims without you knowing it, and you triggered that reaction of "here we go again, more trolling." You may have inadvertently used a dog-whistle and flagged yourself as very likely prejudiced.

You might be indistinguishable in your honest approach from others who have made it their hobby to look reasonable and open with the intent to be assholes, and to some extent this is a consequence of tacitly tolerating intolerance for far too long.

Paint can't fix structural flaws

All of this needs to be framed properly: changing some words in a text, piece of code, or repository is a small, minimal act. The impact is never really big, and inclusive language is not, on its own, going to fix bigger issues your communities might have. There are often missing stairs in your groups, and most of the work you could ever do to have inclusive language is going to be cancelled out by having to work and manage being around them. It's therefore common to see people who think tweaking language as not very important, especially when you are aware of the deeper issues around your project's ecosystem.

There still shouldn't be a problem with using more welcoming language, tone, or attitudes. The trap is to think that because you're adding inclusive language, the job is done. It's a small facet of a lot of changes that are required everywhere to have more welcoming spaces and environment for people. It can still be useful work, but it's unlikely to be sufficient on its own.

The lucky thing is that we can do more than one thing at once, and doing one does not prevent from doing the other.