Skip to content

Instantly share code, notes, and snippets.

@omega8cc

omega8cc/slave.textile Secret

Last active Feb 6, 2021
Embed
What would you like to do?
I'm not your slave, America!

Don’t panic, it is just a headline, but for a reason 1.

Right, the slavery is not only USA specific trauma. It is also not a history only, sadly. And even if history, still too fresh history for too many people in the world. We all understand it very well.

But if you think that we — people who don’t share this trauma, simply because we were lucky enough to be born in countries with nothing like that in their modern history — are horrified and offended by Drupal decision to cross the political correctness line just because we are ignorants with blind spot on the issue, think again. And then again. And then again.

The popular in the technology world ‘master/slave’ terminology is indeed ugly. I don’t know who introduced it and when, but I wouldn’t be surprised if there was no ugly intention behind this, just a lack of imagination supported by being lucky to be born in a country where the ‘slave’ sounds like something from very ancient dictionary and seems to carry accurate description of the referenced stuff in the technology, like relations between MySQL servers. Maybe a bit colourful, so not technically cold, but nothing which could offend anyone.

Who knows, but the result is that anyone using this technology must interact with the terminology and its API using these ‘bad words’, like it or not. That is unfortunate, but you could find hundreds more like that, especially if you will broaden your search beyond English speaking nations. Did you know that ‘Drupal’ is often intentionally ‘modified’ in Polish to Dupal® which ‘translates’ to ‘asshole®’? Now what?

Am I against getting rid of ‘bad words’ which may hurt people? Absolutely not against. And here is a proof, from October 12, 2013: http://bit.ly/1kV79x8

As you can see, we have replaced the ‘gulag’ keyword we have inherited from some Russian developer Nginx configuration example, years ago. What happened? Is the word really bad? In fact, it is very Russian specific, and accurately used in the configuration context. Maybe a bit colourful, so not technically cold, but nothing which could offend anyone. Probably. Perhaps. So what happened? We never received any complaints. In fact, it was so transparent to us, even those of us who were born behind the Iron Curtain, in countries under Soviet power, that we never though of it for a millisecond.

One day we have found, by accident, that someone who borrowed little bits from our Nginx configuration replaced ‘gulag’ with ‘arbeit’, probably thinking that it would be a nice, maybe a bit colourful, so not technically cold, refresh in the terminology.

But for those of us who were born in Poland and knew way too well what weight that word carries, it was too much.

We realized that someone who has similar associations with the ‘gulag’ keyword, could be really hurt, so we have replaced it with some artificial, but descriptively correct keyword, everywhere in the code, even in some old patches. Yes, we still have this word in the ‘sed -i “s/gulag/limreq/g”’ lines in the code, to not break things on upgrades for some old BOA systems. That is unavoidable.

You could think that the Drupal decision 1 to do the same with ugly ‘master/slave’ terminology is very similar to our decision to get rid of ‘gulag’ keyword. It looks similar. Where is it different then, and why?

The ‘gulag’ keyword was not related to any third party or upstream API. It was just an inherited terminology which could be safely replaced without anyone even noticing the change in the Nginx configuration templates. We didn’t replace it because such action is ‘trendy’. We didn’t care how anyone would interpret this, if noticed. We were simply hit, hard enough, by that ‘arbeit’ elsewhere. We didn’t had to imagine that ‘gulag’ could hurt someone else. It did hurt us, even if indirectly, via the ‘arbeit’ creative translation.

Would we do that also if/when the ‘gulag’ keyword would be an industry standard terminology used upstream, like in the supported database servers? Good question.

If we couldn’t get rid of it without introducing confusion and causing problems for BOA stack users, we would probably silently accept that there are things beyond our control we must deal with, because we don’t have a choice. Can we stop using/supporting MariaDB and Redis in BOA? No, we can’t.

But, if we were determined enough, and serious enough about the problem, and big enough to have a voice, we would launch a campaign for the change in the upstream, where the problem really is. If we were not serious enough, we would probably just attempt to do whatever we can in our own code. But we would feel ashamed and not proud of such weak response to the issue. We would never announce such change in our code publicly, just a commit with explanation in the comment should suffice. At least we did one step at the time to make the world a better place, as much as we realistically could.

I imagine that if instead we would decide to announce such a change with a fanfare, we would feel obligated to somehow add also a practical/technical rationale, so it would sound better for those dismayed by our just demonstrated political correctness. Maybe we would also list others who did the same before us. We weren’t first, but at least we weren’t last. That is a political correctness attitude in its full glory.

If you are serious enough about the change you introduce, you don’t look for supporting examples, you don’t try to support the change with any extra ideologically-neutral reasons. You are very clear about your motives. You want to be heard and understood clearly. It is something important. Otherwise, you wouldn’t announce it, right?

It doesn’t matter what your real motives and fears were. Your actions speak for themselves. The perception of the public is the only judge and you can’t even complain about it. You have published the announcement and you have to deal with its perception.

Yes, it doesn’t look good.

Political correctness is based on fear and silent force, which triggers social hidden terror. The true sensitivity and respect is based on big heart. Can you spot the difference?

You have attacked the problem from the wrong side. You have made a noise around it, which only turned things worse. Good tree is known by its fruits, remember? The hell is full of souls with really good intentions, at least that is what I have heard from old wise people.

I hope it is already clear that it is not about any particular ‘bad words’. No, not even about recent ‘pussy’ drama 2. It is about something much deeper, if you look with attention.

You have the right to be sensitive, and even over-sensitive, because of your cultural and historical context. But you should avoid putting community spotlight on any controversial issues, like that unfortunate terminology. Just fix this in your own code, if you think that launching campaign for the change in the upstream would be an over-reaction. But don’t look for excuses, don’t launch fanfares. Just commit the change you think is right.

Because otherwise you are waking the monsters of neo-colonialism and imperialism ghosts, at least in the eyes of people who understand, but don’t share your trauma. Don’t force us into your world of contexts. Be sensitive not only about your own context, but also about my context.

We, people in other nations are very sensitive to any attempts of ‘cultural export’, to any ‘forced push’ of foreign values. Let’s respect the differences, on both sides. We understand your pain, but we don’t share it. Don’t force your context into our relations. And we promise to listen and adjust when you will tell us that some words may hurt you.

Because we don’t want to hurt you. We want to give you a friendly home in our big hearts, and hope that you wish the same.

With respect,

Grace

~ written with ‘Symphonica’ by George Michael in the background, using English, so not my native language.


References:
1. https://drupal.org/node/2286193
2. http://morten.dk/blog/language-twitter-misunderstanding-drupal-community

@fmitchell

This comment has been minimized.

Copy link

@fmitchell fmitchell commented Jun 15, 2014

Thanks Grace.

Is it fair to say that the reason why you are against this change is because it forces the rest of the world to consider something that may only offend Americans and that reenforces the idea of American imperialism?

Is it also fair to say that because MySQL and MariaDB do not use these terms, the change shouldn't have been made? If so, if MySQL and MariaDB made the change, would you be opposed to that as well?

I'm just making sure I understand your point.

Also, the original D.O. issue: https://drupal.org/node/2275877

@omega8cc

This comment has been minimized.

Copy link
Owner Author

@omega8cc omega8cc commented Jun 15, 2014

I'm not against any such change. I'm against ‘forced push’ of political correctness, so against the 'how' (and 'why') it was made.

Best,
Grace

@fmitchell

This comment has been minimized.

Copy link

@fmitchell fmitchell commented Jun 15, 2014

Thanks Grace.

Can you help me understand or paint the scenario where this type of change could be made, but it wouldn't be considered as a 'forced push'?

That seems to be the part where I'm getting lost.

@omega8cc

This comment has been minimized.

Copy link
Owner Author

@omega8cc omega8cc commented Jun 15, 2014

Well, that is the entire point here. It is you who should figure it out, so it will be based on your understanding and not my 'recipe'. I can't even propose such recipe, because I'm not in your position/context. Everything I can tell you honestly, I have told above. Plus, if you read closely, I even wrote how I would do it, and provided a real example on how we did it in our BOA code. But I can't be sure how you could/would do it.

~Grace

@fmitchell

This comment has been minimized.

Copy link

@fmitchell fmitchell commented Jun 15, 2014

So, continuing that thought. If I figure it out and want to contribute that solution to an open-source project, is your conclusion that I should not?

Is the issue, then, that an open-source project is at risk of being an amalgamation of many people's contexts, therefore confusing those who understand a specific context?

Or is the issue that an attempt to adopt all contexts forces those who are not affected to be aware, i.e., that force is imperialistic?

@omega8cc

This comment has been minimized.

Copy link
Owner Author

@omega8cc omega8cc commented Jun 15, 2014

If you want and can figure it out, you should contribute it for review, of course. You just need to ask yourself some good questions and the answer will come.

@fmitchell

This comment has been minimized.

Copy link

@fmitchell fmitchell commented Jun 15, 2014

Fair enough. I think it was figured it out and the questions asked were answered in https://drupal.org/node/2275877.

Are you stating you don't agree with those answers?

@omega8cc

This comment has been minimized.

Copy link
Owner Author

@omega8cc omega8cc commented Jun 15, 2014

If it was really figured out, I would not waste my time to write this post. It wasn't, at all. Also, my post is not a comment to the issue you have linked, but to the announcement made.

@harsha-mudi

This comment has been minimized.

Copy link

@harsha-mudi harsha-mudi commented Jun 15, 2014

I find Programmers have a tendency to play with words. That's inevitable because, most of the time, our job is coming up with new words.

I find this play, creative, funny and just plain weird some times.

I also find programers, tend to read words as placeholders and more abstractly than the lay person.
A bit like poetry if you will.

Slave could as well be read as a "slave for notifications".

In my case there is a library called sexpistol which I use for my project.
It's a ruby gem which gives me a neat lisp s-expressions parser.
I don't know but I guess the name is a reference to https://en.wikipedia.org/wiki/Sex_Pistols.

My concern with the library is that it's still alpha.

I think documentation with clear definitions helps more than renaming as that makes our jobs easier. We make lots of abbreviations which can be misinterpreted by the untrained eye.

For example, sin.

@omega8cc

This comment has been minimized.

Copy link
Owner Author

@omega8cc omega8cc commented Jun 15, 2014

Yes, that is how we, Programmers, see words. The Code is Poetry. We don't take them literally. They are symbols, abbreviations for sentences and meanings. It would be insane to take them all literally, since even the keywords we already see built-in in various languages carry its own idiosyncrasies, creator passion etc.

What this Drupal decision does is to introduce the first step in Thought Police absurdity, where you start looking around and think twice before using some keyword, previously innocently abstract. It is a very dangerous precedent, so the questions "what next?" are now fully legitimate. I didn't see this reflected before rushing for commit, even if the issue was discussed already for years, literally.

Where are we going?

@harsha-mudi

This comment has been minimized.

Copy link

@harsha-mudi harsha-mudi commented Jun 16, 2014

The homeless might find $PHP offensive.
Is $ not a symbol of oppression for them ?
Why not use "&", for including everyone ?

Just don't, I can't reach Shift+7.

@Juc1

This comment has been minimized.

Copy link

@Juc1 Juc1 commented Jun 16, 2014

@ harsha-mudi - also the word "home" might be offensive to homeless people so perhaps we should stop using it on websites. @ Grace I agree that this kind of political correctness is completely barmy. The use of the word "slave" is descriptive and clearly does not endorse, condone or trivialise the historical concept of slavery. How about the songs "Slave to Love" (Bryan Ferry) or "Slave to the Rhythm" (Grace Jones) - should these be censored to remove the S-word??

@catch56

This comment has been minimized.

Copy link

@catch56 catch56 commented Jun 16, 2014

Like fmitchell I'm confused what you're objecting to if not the issue and change itself.

Is the 'announcement' you're talking about the change notice for the API change? If so you realise that 1. These get written for every core API change and automatically tweeted 2. Anyone can write/review/publish them?

@omega8cc

This comment has been minimized.

Copy link
Owner Author

@omega8cc omega8cc commented Jun 16, 2014

@catch56 1-yes, 2-yes. Is the content of the notice/announcement also machine-generated? I really don't think I can make it easier to understand what my objections are. I did my best.

@Crell

This comment has been minimized.

Copy link

@Crell Crell commented Jun 16, 2014

So... your objection isn't to the change, or that there was a change notice, but to the particular text of the change notice stating why the change was made? (I had a hard time following what you were objecting to as well.)

@omega8cc

This comment has been minimized.

Copy link
Owner Author

@omega8cc omega8cc commented Jun 16, 2014

@Crell - In a (too short) confirmation: Yes. In a bit longer extra translation: My objections are related to the notice content (which elevated it to the 'announcement' status) and to the visible intentions behind this content and behind the change. I don't object to that change itself, which is clearly confirmed via our own similar replacement in the BOA project. I have provided a very detailed side-by-side comparison to help understand what I mean. Please bear in mind that my English is probably far from perfect.

@omega8cc

This comment has been minimized.

Copy link
Owner Author

@omega8cc omega8cc commented Jun 16, 2014

To give you all another shortcut to help understand my point: I don't object to the letter of the law. I object to the spirit of the law and its consequences, which include forced push of political correctness with no respect to other nations sensitivity and context, which results with Thought Police-like absurdity, and who knows what else, once you open this Pandora's Box.

Reference: https://en.wikipedia.org/wiki/Letter_and_spirit_of_the_law

@BevanR

This comment has been minimized.

Copy link

@BevanR BevanR commented Jun 17, 2014

Grace;

How was the change "elevated to the announcement status"? All changes that affect Drupal core migrations from 7.x to 8.x get a "change record" like https://drupal.org/node/2286193.

Here is the list of the others: https://drupal.org/list-changes/drupal

Am I missing some other announcement?

@omega8cc

This comment has been minimized.

Copy link
Owner Author

@omega8cc omega8cc commented Jun 17, 2014

@BevanR As I wrote two comments above, the content of this 'notice' elevated it to the 'announcement' status. Our debate and the triggered community feedback is an obvious confirmation of this fact.

@BevanR

This comment has been minimized.

Copy link

@BevanR BevanR commented Jun 17, 2014

Thank you for the explanation Grace. I was unaware of the change record until I read this Gist. I do not read Planet Drupal or Twitter anymore so I probably missed the community feedback and announcements you are referring to.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment