Techdirt's think tank, the Copia Institute, is working with the Trust & Safety Professional Association and its sister organization, the Trust & Safety Foundation, to produce an ongoing series of case studies about content moderation decisions. These case studies are presented in a neutral fashion, not aiming to criticize or applaud any particular decision, but to highlight the many different challenges that content moderators face and the tradeoffs they result in. Find more case studies here on Techdirt and on the TSF website.

Content Moderation Case Study: GitHub Attempts To Moderate Banned Words Contained In Hosted Repositories (2015)

from the word-filters dept

Summary: GitHub solidified its position as the world’s foremost host of open source software not long after its formation in 2008. Twelve years after its founding, GitHub is host to 190 million repositories and 40 million users.

Even though its third-party content is software code, GitHub still polices this content for violations of its terms of service. Some violations are more overt, like possible copyright infringement. But much of it is a bit tougher to track down.

A GitHub user found themself targeted by a GitHub demand to remove certain comments from their code. The user’s code contained the word “retard” — a term that, while offensive in certain contexts, isn’t offensive when used as a verb to describe an intentional delay in progress or development. But rather than inform the user of this violation, GitHub chose to remove the entire repository, resulting in users who had forked this code to lose access to their repositories as well.

It wasn’t until the user demanded an explanation that GitHub finally provided one. In an email sent to the user, GitHub said the code contained content the site viewed as “unlawful, offensive, threatening, libelous, defamatory, pornographic, obscene, or otherwise objectionable.” More specifically, GitHub told the user to remove the words “retard” and “retarded,” restoring the repository for 24 hours to allow this change to be made.

Decisions for GitHub:

  • Is the blanket banning of certain words a wise decision, considering the idiosyncratic language of coding (and coders)?
  • Should GitHub account for downstream repositories that may be negatively affected by removal of the original code when making content moderation decisions, and how?
  • Could banned words inside code comments be moderated by only removing the comments, which would avoid impacting the functionality of the code?

Questions and policy implications to consider:

  • Is context considered when moderating possible terms of service violations?
  • Is it possible to police speech effectively when the content hosted isn’t what’s normally considered speech?
  • Does proactive moderation of certain terms deter users from deploying code designed to offend?

Resolution: The user’s repository was ultimately restored after the offending terms were removed. So were the repositories that relied on the original code GitHub decided was too offensive to allow to remain unaltered.

Unfortunately for GitHub, this drew attention to its less-than-consistent approach to terms of service violations. Searches for words considered “offensive” by GitHub turned up dozens of other potential violations — none of which appeared to have been targeted for removal despite the inclusion of far more offensive terms/code/notes.

And the original offending code was modified with a tweak that substituted the word “retard” with the word “git” — terms that are pretty much interchangeable in other parts of the world. The not-so-subtle dig at GitHub and its inability to detect nuance may have pushed the platform towards reinstating content it had perhaps pulled too hastily.

Originally posted on the Trust & Safety Foundation website.

Filed Under: , ,
Companies: github

Rate this comment as insightful
Rate this comment as funny
You have rated this comment as insightful
You have rated this comment as funny
Flag this comment as abusive/trolling/spam
You have flagged this comment
The first word has already been claimed
The last word has already been claimed
Insightful Lightbulb icon Funny Laughing icon Abusive/trolling/spam Flag icon Insightful badge Lightbulb icon Funny badge Laughing icon Comments icon

Comments on “Content Moderation Case Study: GitHub Attempts To Moderate Banned Words Contained In Hosted Repositories (2015)”

Subscribe: RSS Leave a comment
47 Comments
Stephen T. Stone (profile) says:

A GitHub user found themself targeted by a GitHub demand to remove certain comments from their code. The user’s code contained … a term that, while offensive in certain contexts, isn’t offensive when used as a verb to describe an intentional delay in progress or development.

Being familiar with the history of that specific program, I can say this: They were decidedly not using that word in the “inoffensive” way.

This comment has been flagged by the community. Click here to show it.

Christenson says:

Re: PC Retard...

So I’m not allowed to complain about the retarded idiot that put a 20V nominal capacitor into a spot in the circuit where it will see 30V????

I suppose I could use stupid, mindless, or addled instead, but i think all of those terms have been applied to those with mentally difficulties in a formal medical diagnostic context, so what pejoratives are allowed???

I’m still adjusting to everything I write becoming public and permanent!

Anonymous Coward says:

Re: Re: PC Retard...

Saw this happen with the wine repos recently. Made things confusing because they couldn’t use the terms: master, slave, whitelist, or blacklist.

PC of course, would have the entire project just obliterated from existence on two marks:

  1. It’s namesake is an addictive substance that harms and kills people.
  2. They "steal" the creative work of the geniuses at Microsoft. Then they force that work onto systems that were never meant to run it.

So obviously, wine shouldn’t exist.

/s

Stephen T. Stone (profile) says:

Re: Re: Re:

Alternative terms to the “master/slave” and “whitelist/blacklist” dichotomies already exist. Not using those alternatives is a decision only the Wine devs could make. Nobody could force the devs to use the alternative terms — and the devs couldn’t force a third party to host their code if they chose to keep using the original terms.

As for your other two assertions: Your inanity is hilarious in a pitiful way.

Anonymous Coward says:

Re: Re: Re:2 PC Retard...

Primary / Secondary are not equivalent to Master/ Slave.

In M/S the slave does nothing until the master initiates a contact. It is a question and answer sort of relationship
In P/S the secondary could be a backup service or a number of other scenarios where both could operate independently

The problem with this is the intent. Bigotry implies that the terms are being used with a hurtful intent. If this is not the case i.e. it is purely descriptive, the problem is not necessarily with the user. The article was about using the word retard – was there an intent to upset? No, so it is ok. Why does everyone have to bow down to the most offended denominator or risk being called a bigot/racist/<insert others>?

Bruce C. says:

Re: Re: Re:3 PC Retard...

parent/child, server/client, controller/worker. There are plenty of alternatives that are equivalent in one context or another.

Even if the offensive terms aren’t used with intent, remember that the purpose of documentation is communication and that an important part of communication is engaging with your audience. Using words that make your audience think you’re an aging boomer who is unable to adapt to the times isn’t a good look in the tech industry that values youth and adaptability.

Anonymous Coward says:

Re: Re: Re:3 PC Retard...

Specifically, in wine, what is this master/slave usage that you claim primary/secondary are not usable?

"In M/S the slave does nothing until the master initiates a contact. It is a question and answer sort of relationship"

That is one usage. Similar to NTP, yes?
In NTP there is a server and there are clients.

There is no need for the continued use of the master/slave terminology as it is easily replaced, many times with more descriptive terms.

Stephen T. Stone (profile) says:

Re: Re: Re:3

Bigotry implies that the terms are being used with a hurtful intent.

You can say bigoted things, and language can imply bigotry, without bigoted intent. Think about the “blacklist/whitelist” dichotomy: Why is “black” the bad one and “white” the good one? (This is why I prefer “allow list/deny list”: They’re less fraught with that issue by virtue of not being a bit of metaphorical language.)

You’ll find similar phrases/dichotomies that use “black” as a stand-in for “bad” (and “white” as a stand-in for “good”) if you think hard enough (e.g., “blackball”). It’s a subtle effect of language that I’ve heard called the “bad is black effect”, and it’s especially pernicious in the U.S., where race relations have always been…troublesome, to say the absolute least.

As for the “master/slave” dichotomy, “primary/secondary” is not the only suggested replacement. You could always try these on for size:

  • active/standby
  • controller/device
  • director/performer
  • host/worker (or host/proxy, or coördinator/worker)
  • initiator/target
  • leader/follower
  • requester/responder

It really isn’t hard to alter your language patterns in ways that are personally considerate to others.

Oh, and a few of other things:

The article was about using the [r-word] – was there an intent to upset? No, so it is ok.

The original name of the program was “WebM for R⸻ds”. The program still has that name on a different code repo site. The name implies that the program is so easy to use, even an intellectually disabled person could use it. (The subtle backhand there: If you couldn’t get it to work, you were…well, I think you get the picture.) That doesn’t strike me as an “inoffensive” use of the word, regardless of intent — and I’m pretty sure the intent wasn’t “inoffensive”, either.

Why does everyone have to bow down to the most offended denominator or risk being called a bigot/racist/<insert others>?

In case you didn’t know already, I use “personally considerate” instead of “politically correct” for two reasons. One, it’s more descriptive of that kind of language and the thought processes behind it. Two, it sometimes pisses off people who don’t like being reminded of their inconsideration for others.

Do I think the idea of “P.C.” language can go a little too far? Yes. Overzealousness is a thing; it can affect everyone — including the personally inconsiderate/politically incorrect. But what do you have to lose from being a little more personally considerate?

Stephen T. Stone (profile) says:

Re: Re:

I realize you’re being facetious and all. It’s a bad look for you.

Buuuuuuuuuuuut…

I have a couple of lists for alternatives to “stupid”, since people differ on whether the word is ableist. Besides, some of these are sincerely better alternatives because they can denote agency of some kind. “Stupid” and its “cousins” (including “idiot”, “crazy”/“insane”, “hysterical”, and the r-word) generally do not.

  • absurd
  • asinine
  • awful
  • banal
  • baseless
  • clueless
  • dull
  • erroneous
  • fallacious
  • false
  • fatuous
  • foolhardy
  • foolish
  • frivolous
  • gullible
  • ignorant
  • ill-advised
  • ill-considered
  • illogical
  • imperceptive
  • imprudent
  • inaccurate
  • inane
  • incompetent
  • inept
  • indefensible
  • injudicious
  • insipid
  • irrational
  • laughable
  • ludicrous
  • misguided
  • misinformed
  • mistaken
  • naïve
  • nonsensical
  • obtuse
  • oblivious
  • outrageous
  • pathetic
  • pig-headed
  • pointless
  • preposterous
  • puerile
  • rash
  • ridiculous
  • senseless
  • shallow
  • silly
  • simplistic
  • stubborn
  • substandard
  • thoughtless
  • trifling
  • trite
  • trivial
  • unfounded
  • uninformed
  • unreasonable
  • unsound
  • untenable
  • unwarranted
  • unwise
  • useless
  • vacuous
  • vapid
  • waste of time
  • wasteful
  • willfully ignorant
  • worthless
  • wrong

Other similar replacements:

  • don’t be stupid → try to make good decisions
  • that’s crazy → that’s a bad idea

You may also want to think about the variety of uses/meanings when people default to “stupid” and examine the implications of what a particular culture attributes to intelligence. (Basically, it comes down to low intelligence being inherently bad and undesirable, and with the sense that a person can choose their intelligence.) You have far more descriptive and detailed ways to use language than relying on ableist slurs.

And if anyone reading this comment is thinking “BuT iT’s ToO hArD tO cHaNgE tHe WaY i TaLk!” or something along those lines? Yeah, it can be difficult — at first. I’m not perfect when it comes to avoiding “stupid” and its “cousins”, either. But when you warm up to the idea of using the alternatives, replacing shitty language with personally considerate language is a habit that’s easier to form than you might believe. It also doesn’t cost you anything but a few words on which you were likely overrelying.

Jeroen Hellingman (profile) says:

Re: Re: Re:

Sounds like you’re referring to some Christian fundamentalists’ talking points:

"My right to be a bigot against gay people trumps your right not to be discriminated against and fire you for acts that harm nobody and take place outside office hours in the privacy of your own home."

"My right to be an idiot gives me the right to force doctors to provide false information on reproductive health to women in a medical emergency situation."

Stephen T. Stone (profile) says:

Re: Re:

Letting a bunch of PC idiots dictate to the world what can be said and done because their right to contract makes all other rights irrelevant.

Sounds like you’re upset that the language and ideas you prefer aren’t “politically correct” and you wish they were. That’s life, fam: You don’t ever get everything you want.

Anonymous Coward says:

Re: Re: Re:

"bunch of PC idiots dictate to the world what can be said and done "

Are you complaining that our language is dynamic? What sort of ignorant rant would proclaim such silliness?

Yes, language changes. Our environment is dynamic and our language is used to describe said environment, therefore it too must change. This is rather obvious.

This comment has been flagged by the community. Click here to show it.

Anonymous Coward says:

Re: Re: Re: Re:

No the complaint is that their usage is being interfered with by goddamned morons. Programmers get quite enough of idiotic tweaks from management at work

To say it is complaining about language being dynamic is disingenuous. Language usages are also allowed to diverge in practice. Last I heard there wasn’t a crusade to standardize color/colour or if pants should refer to a garment which should be worn on the outside or not. The changes pushed don’t actually help those affected by it but a bunch of refugees from the Saphir-Worf hypothesis’s discredittint are acting like they are saving society by being the equivalent of church ladies or Home Owner Associstion members from hell, or stereotypical liberal arts grad students vying for tenure looking for any excuse to discredit competitors. Regardless of unflattering comparison they all come across as shoving their nose into other people’s business and transparently trying to grab any ounce of social power and control they can get. It is more than reasonable to have an opinion that these sorts should just fuck off.

Stephen T. Stone (profile) says:

Re: Re: Re:2

a bunch of [people] are acting like they are saving society

Anyone who genuinely believes the use of personally considerate language is “saving society” can be rightfully dismissed as ridiculous. The use of that language is but a tiny step forward in changing society for the better.

You’re not legally beholden to using it. But it’s not a bad idea only because you’re not the one who gets to decide what language is “personally considerate”.

they all come across as shoving their nose into other people’s business and transparently trying to grab any ounce of social power and control they can get

Given your crack about “liberal arts grad students”, I can safely assume you must be unfamiliar with Republicans’ attempts to do what you accuse “liberals” of doing. The GOP, after all, is the party that wants to criminalize a medical procedure (and possibly jail the women who undergo that procedure).

Anonymous Coward says:

Re: Re: Re:3 Re:

My objections are entirely upon the people forcing the change and their methods not the changes. By all means use or suggest a clearer term than master/slave for the context to clarify it without the awkwardness and misunderstandings. Leader/follower, boot drive/expansion drive. Instead they aggressively take their context and shove it in everywhere else, assume everything is in the worst possible context and flip out and summon their flying monkeys.

Given your crack about “liberal arts grad students”, I can safely assume you must be unfamiliar with Republicans’ attempts to do what you accuse “liberals” of doing. The GOP, after all, is the party that wants to criminalize a medical procedure (and possibly jail the women who undergo that procedure).

I actually know what the liberal arts are unlike you. The toxic academic culture which finds novel statements and standards to try to bully their way to power and say the dumbest shit in its service of a "cause" which looks awfully like a tool. Noticably the worst among liberal arts majors where the fight for tenure is the most intense.

Your whataboutism is a demonstration of the prepostorus with us or against us mentality. It is the same insanity as a QAnon asserting that you support pedophiles for pointing out that the pizza place doesn’t even have a goddamned basement. Lets not have standards set by complete fucking morons – I thought recent events made it obvious why doing so is dangerous.

Anonymous Coward says:

Re: Re: Re: Re:

Offense does not exist in a vacuum it is always taken by the beholder. Cutting someone’s guts open on the top of an altar and gladiators fighting to near death and having their life decided upon a whim were once "not offensive".

In this case them not having control over the sexuality of others is whar is judged as offensive.

This comment has been deemed insightful by the community.
Jeroen Hellingman (profile) says:

I host master files for many ebooks I produced for Project Gutenberg on GitHub (copyright expired, so that is no issue). Some of these use words that are pretty offensive to some people today. Filtering them out would be a falsification of history, so would force me to take those ebooks away from GitHub. Not seen a notice yet. Lets see where this ends.

I wonder, would they be able to host the code that checks for those words on GitHub, or would that be banned as well.

To prevent comment spam, I have a list of bad words on my personal website as well, but that is mostly filled with the names of luxury brands and certain medicines.

Add Your Comment

Your email address will not be published.

Have a Techdirt Account? Sign in now. Want one? Register here

Comment Options:

Make this the or (get credits or sign in to see balance) what's this?

What's this?

Techdirt community members with Techdirt Credits can spotlight a comment as either the "First Word" or "Last Word" on a particular comment thread. Credits can be purchased at the Techdirt Insider Shop »

Follow Techdirt

Techdirt Daily Newsletter

Techdirt Deals
Techdirt Insider Discord
The latest chatter on the Techdirt Insider Discord channel...
Loading...
Older Stuff
15:43 Content Moderation Case Study: Facebook Struggles To Correctly Moderate The Word 'Hoe' (2021) (21)
15:32 Content Moderation Case Study: Linkedin Blocks Access To Journalist Profiles In China (2021) (1)
16:12 Content Moderation Case Studies: Snapchat Disables GIPHY Integration After Racist 'Sticker' Is Discovered (2018) (11)
15:30 Content Moderation Case Study: Tumblr's Approach To Adult Content (2013) (5)
15:41 Content Moderation Case Study: Twitter's Self-Deleting Tweets Feature Creates New Moderation Problems (2)
15:47 Content Moderation Case Studies: Coca Cola Realizes Custom Bottle Labels Involve Moderation Issues (2021) (14)
15:28 Content Moderation Case Study: Bing Search Results Erases Images Of 'Tank Man' On Anniversary Of Tiananmen Square Crackdown (2021) (33)
15:32 Content Moderation Case Study: Twitter Removes 'Verified' Badge In Response To Policy Violations (2017) (8)
15:36 Content Moderation Case Study: Spam "Hacks" in Among Us (2020) (4)
15:37 Content Moderation Case Study: YouTube Deals With Disturbing Content Disguised As Videos For Kids (2017) (11)
15:48 Content Moderation Case Study: Twitter Temporarily Locks Account Of Indian Technology Minister For Copyright Violations (2021) (8)
15:45 Content Moderation Case Study: Spotify Comes Under Fire For Hosting Joe Rogan's Podcast (2020) (64)
15:48 Content Moderation Case Study: Twitter Experiences Problems Moderating Audio Tweets (2020) (6)
15:48 Content Moderation Case Study: Dealing With 'Cheap Fake' Modified Political Videos (2020) (9)
15:35 Content Moderation Case Study: Facebook Removes Image Of Two Men Kissing (2011) (13)
15:23 Content Moderation Case Study: Instagram Takes Down Instagram Account Of Book About Instagram (2020) (90)
15:49 Content Moderation Case Study: YouTube Relocates Video Accused Of Inflated Views (2014) (2)
15:34 Content Moderation Case Study: Pretty Much Every Platform Overreacts To Content Removal Stimuli (2015) (23)
16:03 Content Moderation Case Study: Roblox Tries To Deal With Adult Content On A Platform Used By Many Kids (2020) (0)
15:43 Content Moderation Case Study: Twitter Suspends Users Who Tweet The Word 'Memphis' (2021) (10)
15:35 Content Moderation Case Study: Time Warner Cable Doesn't Want Anyone To See Critical Parody (2013) (14)
15:38 Content Moderation Case Studies: Twitter Clarifies Hacked Material Policy After Hunter Biden Controversy (2020) (9)
15:42 Content Moderation Case Study: Kik Tries To Get Abuse Under Control (2017) (1)
15:31 Content Moderation Case Study: Newsletter Platform Substack Lets Users Make Most Of The Moderation Calls (2020) (8)
15:40 Content Moderation Case Study: Knitting Community Ravelry Bans All Talk Supporting President Trump (2019) (29)
15:50 Content Moderation Case Study: YouTube's New Policy On Nazi Content Results In Removal Of Historical And Education Videos (2019) (5)
15:36 Content Moderation Case Study: Google Removes Popular App That Removed Chinese Apps From Users' Phones (2020) (28)
15:42 Content Moderation Case Studies: How To Moderate World Leaders Justifying Violence (2020) (5)
15:47 Content Moderation Case Study: Apple Blocks WordPress Updates In Dispute Over Non-Existent In-app Purchase (2020) (18)
15:47 Content Moderation Case Study: Google Refuses To Honor Questionable Requests For Removal Of 'Defamatory' Content (2019) (25)
More arrow