Hacker News new | ask | show | jobs
by bovermyer 2833 days ago
The way I look at it, the amount of effort required to change that terminology is less than the amount of community discomfort generated by keeping it.
9 comments

That's all kind of tossed out the window when people start bullying the maintainer to get their way. Now you have to deal with the fact that some members of the debate are decidedly acting in bad faith, making it much cheaper to simply say "okay, fuck off now, we aren't talking about this".
That is exactly what I have done in the past. I have told social justice warriors patrolling around to random projects that do not even contribute to leave and not come back. My response to those that do contribute to the project is, "Are you will to make, test, and solely support this massive change for the next three years as part of a long term support release?".
That’s.. really interesting. I’m having trouble figuring out how a codebase could offend a person. It has to be more than using masculine pronouns or something - do you have any examples you’d share?
There are a lot of busybodies on Github, sometimes these go viral on Twitter and other locations for the heated discussions. Here's a small collection of various levels of offence. Some are merely polite requests and some are "horribly offended". I think one or two of them may even be concern trolls but that doesn't matter since they still got the changes made.

There are a few hundred other examples to pull from, these are just a few I chose at random while trying to select ones that are more about the code, or terms used in the code, than contributors or maintainers of the code.

[0] https://github.com/WICG/feature-policy/issues/150

[1] https://github.com/NARKOZ/hacker-scripts/pull/152

[2] https://github.com/Droogans/unmaintainable-code/pull/20

[3] https://github.com/braydie/HowToBeAProgrammer/issues/68

[4] https://github.com/spencermountain/compromise/issues/117

[5] https://github.com/syl20bnr/spacemacs/pull/3484

[6] https://github.com/nodejs/node/issues/3721

[7] https://github.com/twolfson/sexy-bash-prompt/issues/56

[8] https://github.com/infinitest/infinitest/issues/149

[9] https://github.com/edankwan/penis.js/issues/7

[10] https://github.com/Colorsublime/Colorsublime-Themes/issues/8...

Wow, thanks for all the links. I just spent way too long reading all of these.

I found some of the requests to be pretty reasonable. Some were reasonable, but not very pragmatic. Some just kinda elicited an "eh, come on?" sort of response.

Haha, yeah, I just read through that entire list. I'd say that more than half of those seemed very reasonable and civilized to me. But the people complaining about penis.js seemed to have completely missed the point of that whole project.

I then started browsing through my own code to see if anything seemed offensive. One thing that caught my eye: in SPI communications, there is very clearly a "master" and a "slave". I have programmed many SPI-related code... So now I wonder, what was the original complaint in calling Redis servers "master" and "slave"? That terminology is very, very common in computers.

EDIT: I guess this is the original complaint?: https://github.com/antirez/redis/issues/3185

EDIT #2: I guess I'm late to this conversation: http://antirez.com/news/122

It makes me very angry when "they" (I'm not even sure who "they" are or what their motives are) go around policing random software projects for political correctness compliance, bullying/mobbing the maintainers if they don't comply, etc. These people even go after your project if one of your maintainers is deemed politically incorrect outside of the scope of the project (i.e. on Twitter) and demand they be kicked out.

I miss the days when politics and political correctness didn't directly affect software projects. What do these political police stand to gain from all of this?

> What do these political police stand to gain from all of this?

A warm fuzzy feeling of seemingly contributing to the Forces of Good and fighting the Forces of Evil. Some launch rockets to the Moon, some create beautiful art, some create awesome software. Some instead bully people to not use certain words. The consider it their contribution to the society. Unfortunately, as more and more people fold to their pressure, this serves as confirmation that this contribution is worthwhile and there's more to come. If you write a symphony and it is applauded, you want to write another one. If you speech-police one project and it works, you want to speech-police another one.

It's creating a culture that is welcoming to more individuals, regardless of sex, race, and background.

It's not bullying. In fact, I'd say active code maintainers who receive these requests and don't _reasonably_ accommodate them are the real bullies.

> It's creating a culture that is welcoming to more individuals

Somehow I feel less welcome in a culture where there are lots of people vigilantly seeking offense where none ever was and waiting to pounce on the use of every word they can find any reason, real or imaginary, to feel slighted with. In fact, I feel a strong desire to not touch such a culture with a ten foot pole. I am glad to contribute my time and my effort to open source (and I regularly do), but I would not want to be a target of hate mob trying to ruin my life or argue with concern trolls, that's just not how I want to spend my life.

> It's not bullying

You do what they want, or they'll hurt you and your project. How it's not bullying?

> In fact, I'd say active code maintainers who receive these requests and don't _reasonably_ accommodate them are the real bullies.

You may say whatever you want, but you will be wrong. Actual bullies are those who try to force people to behave to their liking with threats and hurt. No amount of redefining terms will change that. If you threaten to hurt someone in any way - virtually or physically - over some words that they say or don't say to your liking - you are a bully. It's not hard to see.

This is extreme and very, very far beyond the scope of what I was attempting to discuss.

That's a lot different than simply submitting a PR to change "man" to "person" -- If there's actual physical threats occurring on a regular basis within our communities I'm severely uninformed. No argument, it's bullying and it's wrong.

I suppose in that case, I advocate the underlying message but not its conveyance.

Creating and maintaining an open source project is an act of generosity. Making demands on open source maintainers and "shaming" them into political actions in no way creates a welcoming culture, quite the contrary.

If you don't like the code, fork it if you must but don't harass the creator of the thing you get to use for free.

I believe I'm misinformed about what's happening lately, I'm not advocating for political action or anything of that nature. Just supporting the underlying message.
> I miss the days when politics and political correctness didn't directly affect software projects.

They've always affected software projects, they just haven't affected you.

> What do these political police stand to gain from all of this?

Making other people feel as welcome in software as you've already been by default.

> they just haven't affected you.

Not OP but it's extremely pretentious to assume that.

More generally, assuming that "people against changes (that you personally think are positive towards minorities)" are not part of said minorities tends to be as incorrect as assuming that the people in favor of those changes are part of them.

Furthermore, just because the term "minority" implies that there is a minority of people in that group, there are many minorities which together form far larger groups. So "encountering a minority" isn't uncommon. And I've seen on multiple occasions horribly-arrogant people addressing some of my white male friends, claiming they're oblivious to "the plight of minorities", all because said friends didn't come forward to explain they're gay.

So all that to say, don't assume the person you're replying to hasn't been affected by those things. Even if you're correct, it's not a correct nor even safe thing to assume.

> Making other people feel as welcome in software as you've already been by default.

If you're only superficially aware of the issues involved, it's easy to think that superficial changes will suddenly improve things. It's also all too easy to ignore the fallout of those changes.

Reminds me of PETA's philosophy towards animals: If they can't be free, then they're better off dead. Ignoring that PETA:

1. Isn't objectively correct / morally right

2. Harms the greater cause with their methods (by harming public perception)

In general, not being tactful is a terrible idea. Forcing changes through is a terrible idea. Bullying people is a terrible idea. And if you think these tactics are worth it to "make people feel more welcome", I don't know you.

I responded to a comment pining for the days of politics not affecting software, by pointing out that software development always has been. I'm not commenting on any particular changes here, I'm commenting on the position of "I don't want to think about politics" being a position that biases in favor of the status quo.

Apart from that, I'm not suggesting that people should ignore normal contribution procedures and conventions when making such contributions. Nothing in my comment is endorsing ever single person who has ever made such a contribution, regardless of the approach they took. I am, however, suggesting that maintainers who refuse such contributions (for reasons like "I don't want to do this" rather than "this change has issues, please address them") are part of the problem.

Not the above poster, but, alas, given some of the behaviour I've seen, I'd no longer be particularly inclined to be welcoming. In some sense, a broad, offensive filter is better than doing it manually. Who cares if it reduces user count or whatever - it makes my life easier.

Perhaps it's a "good" thing I haven't created any major OSS projects...

No, they're making themselves feel righteous, at very little gain to the minorities they're ostensibly protecting. I'm Slavic. The name for my ethnicity literally means, and is the root of the word slave. Shouldn't I have more say than anyone how my ethnic identity as a slave gets bandied about? I say the master/slave terminology is effective, evocative, and useful.
I've come to believe its a mix of virtue signalling (public, empty gestures intended to convey socially approved attitude without any associated risk or sacrifice.) and pat-yourself-on-the-back slacktavism (there, I tweeted about what people perceive to be a problem, therefor I've done my part).

In essence, they get to tell themselves (mostly convincingly so) that they have contributed to reduce inequality and discrimination, and are helping right a historical wrong.

In the end, I dont think it changes things one wit - but it makes people feel better, so I guess its a net good over time - albeit an unconscionably silly one.

Since time immemorial, some people have gotten outraged over what others consider to be ridiculous or trivial things. That hasn't changed.

The only thing that has changed is that social media and the Internet in general have made it much easier to organize.

Software projects have always been plagued by humans arguing with each other.

I didn't think that is true. Have you ever seen legacy code. Some code in Cobol and Fortran still exists and is functional. Redis isn't as old as those ofcourse but everyone who used it will need to change code and docs. This isn't some isolated word doc that can be fixed with a findall/replaceall command this is backend code connected to many systems. I am not even a professional developer , I am a researcher/grad student and I have faced such issues with something as new as Tensorflow.

If it is such a big issue, then those who had the problem can fork the repo and change the terminology in their fork. Legacy code that wants to use updated redis won't be affected.

Ensure that you're measuring community discomfort accurately, though: volume of noise about something like this usually correlates less to the number of people who are upset, and more closely to the number of people who think that someone else could possibly, potentially be upset.
To that I say:

If you think it's that easy, you personally should be the one to do the work to change it.

Now that sounds incredibly snarky, for that I apologise. But it does sum up a lot of people's thoughts towards it, and it's no more snarky that the typical twitter driveby of 'it's just a find/replace'

Anyone who has actually read the author's explanation (not saying you haven't), knows that he would choose different terminology in hindsight, but the work involved in updating documentation, and maintaining protocol compatibility that allows redis to keep its backwards compatibility features it aims for is non-trivial.

Not to mention all the documentation, and also the ongoing responsibility to third party code and infrastructure which relies on the ecosystem, that has to update along with this.

That's all work, constant, ongoing work.

Should they still make this change? Maybe, master/slave isn't exactly accurate.

But my point is that talk is cheap, and the loudest voices seem to be the folks with no willingness to put skin in the game to change it.

If you truly believe it's so trivial, why won't you help with the labour, both initial and ongoing?

I didn't say it was trivial.
You didn't use the words, but if saying that community discomfort eclipses all the different types of the work involved (with your point being that they might have been better just doing the work) isn't a trivialisation of said work, then I don't know what is.

EDIT: Actually, I take that back, sorry. If we both have different estimations of what the community discomfort actually is (both the discomfort currently and the discomfort that will be caused technically), then I can't make that call and say you were trivialising it.

My point is that a lot of the more vocal elements were definitely trivialising the work involved, going as far as suggesting that the maintainer is an asshole for not just doing a find/replace.

It's hard to take that in good faith, as if it were just a find/replace, why don't they offer to take care of it along with any ongoing technical consequences?

The answer is that they're both ignorant of the technical implications, and ultimately, more comfortable shouting from the sidelines than rolling up their sleeves, preferring instead to make innate character judgements about the maintainer.

Yes, and I think this is indicative of a broader problem with humanity itself.

It's very easy to assume that things that impact oneself negatively were done out of malice. Most of the time, these are innocent or naive, not malicious. However, as humans, we tend to jump to the worst possible case and _act on that assumption_. That's the real problem here.

I'll add another point: if the reason to not do this is the effort, then why is effort being put into generative art in redis? To be clear, I think this is neat, and appreciate that antirez can and should add some joy into the world in what ever way they see fit. I'm just playing devil's advocate.

With that said, changing terminology is more than just a code change, there's a bunch of documentation, as well as possible downstream effects that would need to be clearly communicated without causing breaking changes. I still think it's worth being conscious of the words we use, and rather than looking at it as a "us vs them" political game, as a way to introspect and reflect on how we use words, and what they communicate. Falling back on "it's how we always did it" is a cop out, but if you're the maintainer of a project, it's up to you if you want to do that or not, and I don't think it's worthwhile for a community to harass someone for their decision, antirez was pretty open about this all.

> I'll add another point: if the reason to not do this is the effort, then why is effort being put into generative art in redis?

Seemed to me like it was a subtle middle finger to the complainers.

I’d be surprised if that was true, but that’s an interesting thing to consider.
Given that generating discomfort is a very low-effort endeavor, and no discernable skill besides having lots of free time is required for it, if there are people who want to generate discomfort, they will always be able to generate enough to overcome any boundary.

Since people don't like discomfort, squeaky wheel gets the grease, even if the squeaky wheel represents only a tiny minority of the community, because other people are not interested in wasting time and emotional energy on arguing and being target of the outrage-of-the-day mobs.

That's an excellent heuristic when the people doing the work are also the people experiencing discomfort! Each person so affected can make their own decision from ample firsthand information.

It might become more subtle in scenarios where the two are disjoint groups, raising the question of how to compare them. I don't see an easy way of quantifying each that allows for such, but I'm sure that's just my own failures of imagination. Can you help me?

Why didn't the community open a PR against the repo?
The contribution guidelines for Redis require that the change is discussed before you submit a patch for it.
I didn't know that, thanks for the information. Was it done?
Yes