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.
~ written with ‘Symphonica’ by George Michael in the background, using English, so not my native language.