When an open source software package with the name Pantyshot appeared on The Python Package Index (aka "The Cheese Shop") it started a controversy around names, censorship and gender in the open source software community. Things got complicated when it was revealed that one of its primary authors was a woman.

It began with the post, Childish Behavior by Steve Holden, chairman of the Python Software Foundation. Well, the controversy technically didn't begin there, but it's where Holden describes the unusual situation the PySf Board found themselves in when someone wrote the Board asking if they thought a package called Pantyshot - using a MarkDown parser called Upskirt - was offensively named, and if they should do something about it.

Now, Python itself is named after Monty Python's Flying Circus, and along with the Cheese Shop hints that the community has a wry sense of humor and is cool with the wacky names. There has been a steady increase on software packages having herp-a-derp names, just for the lulz of it all.

However, Pantyshot had presented the community with a problem.

Holden wrote after the Board's discussion,

The general feeling was that the package name was offensive, but that unless we were faced with a legal request to remove content (as we have, very occasionally, from time to time, and with which we normally comply at some inconvenience to ourselves) we did not feel it was our place to police standards of decency on behalf of PyPi users. Censorship is a slippery slope, and can lead you into liability which transparency might not. Given that I have done my best to encourage diversity, including gender diversity, among the international Python community, however, and even though I have on occasion been that guy, (as I suspect many of us have), it seems to me that if we truly want more women to feel at home in the open source software industry then we really ought to avoid giving our projects names like pantyshot. I was somewhat surprised by the name (for a piece of software that parses the MarkDown language?) until I saw that the author of that package had implemented the upskirt MarkDown parser. WTF?

Like all discussions about sexualized anything and gender in tech, a good number of people reacted so strongly in the post's comments, you could practically see heads doing Exorsist-style 360s while bile and logic spewed in equal measure.

Parser? I hardly knew 'er!

Now, I don't know how much the FOSS communities know about upskirt porn, or how much you, dear and gentle reader know about what "upskirt" means. What the PyPi community did know is that it's a term for something sexually demeaning toward women in particular - not just a whimsical tee-hee naming of a library as Firefox's libpr0n, which could be argued to include all kinds of people. Pantyshot/Upskirt, beyond the uptight it's-about-sex-set, was not an equal opportunity offender.

"Upskirt" is shorthand for porn (images or video) that features a nonconsensual look up a girl's skirt or dress.

Because you are a fine, upstanding kind of reader, I'm sure you know very little about online filth such as pornographic subcategories, their nicknames or history. Luckily for you, I am here to go where bald eagles dare.

Back in the early days of porn on the open internet that there was one red-hot minute when upskirt porn was legal. It is, in fact, illegal. Though I don't think the FOSS community knows that detail - they were just up in arms about what to do when someone submits a package with a name that seems, well, sexist.

Pantyshot is a bird of identical plumage. It's basically the same thing, but that term (rather than upskirt) is what describes "an upskirt" instance in Japanese anime and manga: the term panchira refers to a panty-shot. Whoever did the naming liked the nonconsensual act so much, they gave it the same name twice.

Then the punchline was delivered. One of the central, original libupskirt authors was a woman.

She, not being a native English-speaker, had accepted on trust a foreign-language name for her library. According to Holden, the revelation - and the attention to her unknowing complicity - brought about with the name was so uncomfortable for her that she quit working in open source altogether.

It's by far the worst coding-related experience I ever went through. That made me retire from Open Source.

It's not that the names were simply sexual in nature: it was that they targeted a women over the very thing that makes them a minority in the Python community in the first place: you could call it a sexual exploit.

Upskirt's author Frank Smit took to the comments, chastising "the guys" for not emailing him about it directly and expressing his fondness for the name:

Looks like you guys don't like the name I choose for my package. I quite like it though. And I don't think it's an offensive word. What I don't understand is that you don't send me an email. You can just say "We think the name you chose for your package is not appropriate. Can you change it?". My email is on the package page. (...) Well, anyone got suggestions for a new name?

The next day, Smit commented that he'd renamed the package:

I changed the name of the package to Misaka. Not because of this blogpost, but because some people actually asked me and had a very good reason.

Don't Google the package

All's well that ends well... unless you're one of the few perverts on the internet (I speak for myself, and never for you, innocent readers) and you happen to know who Misaka is in regard to anything related to upskirts and panty-shots.

While the PyPi community was having deep, worrying discussions about how to avoid censorship and ostracizing individuals, Mr. Smit decided to be a clever boy.

Smit re-named Pantyshot/Upskirt after a Japanese name. Not just any name, but popularly belonging to an Anime (adult comics) character whose superpower is electricity, and is controversial due to notorious upskirt shots of the character - most especially as she is depicted as being 11 years old.

Search for Misaka and upskirt, and you'll get a Chilling Effects message from Google about the removal of alleged child porn from their search results.

When challenged about the new name in the comments, Smit responded:

Still no satisfied with the rename? How? I did not explain in public what I meant with Misaka. It depends on how you interpret it, but it's just a Japanese name. Like the name of my other Python module, Momoko. Anyway, I chose a normal name this time. Linking it to other possible offensive is your own doing.

Depending on how you interpret it, Smit is using "just a Japanese name" for his package.

Like Momoko, who could be Momoko the Japanese porn star (AV Idol), or Momoko the coquettish 19-year-old Japanese female pop singer, or Momoko the 13-year-old Japanese Anime character. Just don't "interpret" Momoko along with the term upskirt on Google or you'll get the same Chilling Effects child pornography warning.

I'm sure it's all a coincidence. Though I am a bit bitter that I've Googled an open source software package's name(s) and now there are illegal porn term instances in my search history.

The PyPi community does not have an easy road with this. If someone's offended, a cry of censorship can make even the most sensible community moderators back away from problems. (Not that, to my knowledge, the Cheese Shop has seen many software packages with names like Manhole or Tinypenis.)

At the same time, as we're seeing with the News of the World/Murdoch/phone hacking scandal, some will always exist that feel they're smarter than the rest of us, and don't need to worry about other people's problems with their actions - as long as they get theirs. If we don't think it's okay, we're interpreting it wrong, and that's just our problem.

But in an open source community, I kind of think it's everyone's problem.

Image by Kevin Dooley, under Creative Commons 2.0 Generic license, via Flickr.