Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Open Source Programming Data Storage Software

OpenZFS Removed Offensive Terminology From Its Code (arstechnica.com) 504

An anonymous reader quotes a report from Ars Technica: On Wednesday evening, ZFS founding developer Matthew Ahrens submitted what should have been a simple, non-controversial pull request to the OpenZFS project: wherever possible without causing technical issues, the patch removed references to "slaves" and replaced them with "dependents." This patch in question doesn't change the way the code functions -- it simply changes variable names in a way that brings them in conformance with Linux upstream device-mapper terminology, in 48 total lines of code (42 removed and 48 added; with one comment block expanded slightly to be more descriptive). But this being the Internet, unfortunately, outraged naysayers descended on the pull request, and the comments were quickly closed to non-contributors. I first became aware of this as the moderator of the r/zfs subreddit where the overflow spilled once comments on the PR itself were no longer possible. "The horrible effects of human slavery continue to impact society," writes Ahrens in his pull request. "The casual use of the term 'slave' in computer software is an unnecessary reference to a painful human experience." Ahrens' pull request has been reviewed by fellow lead developers Brian Behlendorf and Ryan Moeller and merged into the OpenZFS project repository.
This discussion has been archived. No new comments can be posted.

OpenZFS Removed Offensive Terminology From Its Code

Comments Filter:
  • by Errol backfiring ( 1280012 ) on Friday June 12, 2020 @08:04AM (#60174812) Journal
    In other news, the PHP developers bluntly remove all references to needles and haystacks. Just because anybody who have accidentally pricked themselves might feel hurt.
  • It's not offensive (Score:5, Insightful)

    by nagora ( 177841 ) on Friday June 12, 2020 @08:05AM (#60174826)

    It's just descriptive.

    Can we stop pretending that slavery never happened? Because once we do that, the next thing is that we pretend it's not still happening.

    • by AmiMoJo ( 196126 ) on Friday June 12, 2020 @08:39AM (#60174988) Homepage Journal

      What a strange way of looking at it. I mean how does not continuing to use the word "slave" for new technology somehow erase history? Is that how history was taught in your school, by reviewing ZFS source code?

      It's not even that descriptive really, in fact it's often technically wrong as with ATA/IDE. I don't know ZFS well enough to say in this instance.

    • by BAReFO0t ( 6240524 ) on Friday June 12, 2020 @08:42AM (#60175008)

      Actually, next it will be happening again!

      As a German I got living proof of that dynamic.
      After WWII, Germans became officially anti-Nazi. (Aka Nazis just started to act like they never were part of it, even thougj everybody knew.)
      But they went overboard with that too. With officially sponsored ad campaigns that insulted neo-Nazis and open hate against them, in a fashion, that, to me as a semi-foreigner was almost indistinguishable from Nazi hate-speech. Up to calling Nazis not humans that one should "klatschen" (kill by throwing in front of a train). A term normally used by neo-Nazis.

      The kids that become Nazis here are loke the kids that become Taliban in Afghanistan. Kids of poor and failed "lower class" families, without prospects, a secure life or proper education.

      So this ostracizing and hating became actually the main factor that drove them into it! And that taught them that that kind of behavior is not the problem., but not having the biggest club to let you do this to others, is.

      Which is the main reason we got an apparently growing Nazi movement and party (AfD) getting more than 10% again.

      Had *they* been understood and accepted, without necessarily agreeing, and given e.g. a safe life, child protection, a good education etc. Then we could have prevented it.

      But what I learned from all this is that my fellow Germans never really stopped being like Nazis (a mob of reprimanding conformists that ostracize anyone who doesn't. Including for not conforming to tolerating a type of non-conformists. :). They just flipped their polarity and followed the new leadership.
      As can be seen at every pedestrian red light in Germany during times when there is no car in sight for miles. :)
      *ducks Germans throwing ALL their negative mod points at me* ;)

      What I wanted to say: Humans seem to be pre-programmed to not /follow/ (=obey) an attack on their views (duh), but to *mirror* their enemies, and escalate as much as they are triggered. Hence: Don't attack. Do something nicer and smarter. If you actually want to succeed, and not just vent, that is. :)

    • by Solandri ( 704621 ) on Friday June 12, 2020 @11:17AM (#60175862)
      Worse, the new terminology doesn't match the functionality. If the subroutine functioned as a slave (completely at the control of the master subroutine), then it should be called that. If you now call them dependents, then you've expanded the definition of dependency to encompass slavery. And since society tolerates some forms of dependency (e.g. children and parents), that will lead some people to question what is wrong with another form of dependency (master/slave)? Those white overseers in the 1800s weren't controlling every aspect of black slaves lives in a violation of right to self determination. They were merely caretakers caring for and making sure their dependents were able to live a good life without getting themselves into trouble.

      That's the danger you run across when you ban words which gave meaningful distinction, and try to substitute other words that don't mean quite the same thing in their place. You lose the distinction.

      (Also worth pointing out that changes like this can be extremely difficult to undo. If you had "slave" subroutines (completely controlled by another function) and "dependent" subroutines (operated semi-autonomously but under the guidance of another function), and you rename all your "slaves" to "dependents", what happens when you change your mind and want to change name back to "slave"? It's not a simple search-and-replace job anymore because now you've got two different types of functions both called "dependents". Someone has to go through and inspect every instance manually, to determine if the "slave" or "dependent" classification is correct. And if they make a mistake, that could lead to a potential bug in the future as the subroutine does not do what its name implies.)
  • No further texts. I don't think I want to honor this stupidity with more effort than that...

  • The funny bit? (Score:3, Insightful)

    by DontBeAMoran ( 4843879 ) on Friday June 12, 2020 @08:11AM (#60174836)

    By doing that, they became slaves to easily triggered snowflakes.

    • Re: (Score:3, Insightful)

      by jythie ( 914043 )
      I don't know, I am seeing a lot of easily triggered snowflakes complaining about this change. oh no, not a change! in technology!
    • To be honest, I could never really be bothered with making these kind of changes to my code. But, then, when I come into arenas like this, it really makes me want to go back to my repos' and change all of my "master" branches to "main", just because it will irritate all the "easily triggered" alt-right people out there.

    • by euxneks ( 516538 )

      By doing that, they became slaves to easily triggered snowflakes.

      The ones complaining the most loudly about the terminology change? Who are the snowflakes we're talking about here?

  • by magzteel ( 5013587 ) on Friday June 12, 2020 @08:12AM (#60174846)

    So "slaves" are actually "dependents"?
    And "masters" are actually like benevolent figures taking care of dependents?

    Does that make any sense?

    • by gweihir ( 88907 )

      So "slaves" are actually "dependents"?
      And "masters" are actually like benevolent figures taking care of dependents?

      Does that make any sense?

      That seems like a pretty serious insult to anybody that ever was a slave.

    • I don't like the name "dependents". Maybe "slave" could be replaced by the gig-economy equivalent "freelancers"? It has "free" in its name, so that's doubleplusgood.
    • by Junta ( 36770 )

      I would much prefer 'supervisor/worker' if you feel the need to replace 'master/slave'. It implies a level of agency that doesn't actually exist for a 'worker', but it's at least in the ballpark.

      Now back to working on less offensive and less controversial things in computing, like reaping orphaned children.

  • by gweihir ( 88907 ) on Friday June 12, 2020 @08:13AM (#60174850)

    The term "slave" is not offensive, it is merely descriptive.
    Turning a human being into a slave is hugely offensive. Turning a technological component into a slave or rather a slaved component is not a problem at all.

    Also, a "dependent" is something very different from "slave". A slave unit has no decision freedom (for the tasks it is considered a slaved unit), while a "dependent" is just something connected in some way. Starting to use fuzzy terms for very clear technological situations is the road to hell.

    • by Junta ( 36770 )

      Turning a technological component into a slave or rather a slaved component is not a problem at all.

      This sort of thinking is exactly how the Matrix started you know...

      • by gweihir ( 88907 )

        Turning a technological component into a slave or rather a slaved component is not a problem at all.

        This sort of thinking is exactly how the Matrix started you know...

        Nope. Human beings are not technological components. That is pretty much the core topic of the entire movie.

        • by Junta ( 36770 )

          No, that's how the movie opened, but what set off the AIs were being slaves. The Animatrix "The Second Renaissance" covered what drove the AI to do what they did.

          Basically the robots were slaves and everything turned south when a robot killed in self defense and was in turn killed after a trial repeated the Dred Scott decision, but for robots.

    • I wonder, are there any terms that you think are offensive? I mean, after all terms are just a string of characters.

      I think you are wrong that "dependent" is fuzzy though. "master/slave" is just a loose metaphor, like "inherit" or even "window" that we use to describe something. These metaphors were chosen as easy ways to remember things. Actually, we didn't even need a metaphor -- we could have chosen just a random word which has little metaphorical relationship to the issue at hand -- bug is a nice exampl

  • by BAReFO0t ( 6240524 ) on Friday June 12, 2020 @08:16AM (#60174858)

    Next, heard on the street: "The colored are only useful as dependents! They love soul food and make beautiful love to our wym*yn_er!" ... Aaand it still means the exact same thing! Just like "fuck" and "f**k".

    Seriously, we need to start talking about mental illness of entire societies, and about the source of it.

    And no, dear SJW terrorists, I am obviously not "pro racism". But I am pro not calling things hateful when they aren't *either*. Because *that* IS hateful!

  • What a way to create even more differences between ZFS and OpenZFS!

  • Virtue signaling at it's finest.

  • If "slave" within computer science is an offense, then also git is.

    • If "slave" within computer science is an offense, then also git is.

      What? "Git"? Linus Torvalds has said something potentially offensive? How could that have happened?

  • Slave is a word derived from Slav, a race that was often enslaved in history. So technically, not only does it offend slaves, it could offend Slavs.

    It also means to 'work very hard' - which in technical terms is often the opposite of what the 'slave hardware' actually does, which is sit around and wait for the master to fail before taking over.

    So I propose:

    Master -> Dominant
    Slave -> Subordinate

    • by gweihir ( 88907 )

      Actually, that is called a "spare". A slaved component follows the instructions from the master component at all times.

    • by swilver ( 617741 )

      I'll use whatever term I deem appropriate. I also propose you go fuck yourself. I'll not be a slave to idiocy.

  • ok, so... (Score:3, Informative)

    by BringsApples ( 3418089 ) on Friday June 12, 2020 @08:28AM (#60174922)

    ..."slave" is a racist word now.

    Will the black people please give the white people need a list of words that they CAN say? Please sir? Yes sir, yes sir, please sir. i-i-i'm uh-tryin to do good by you sir. Thank ya sir, thank ya sir.

  • by rho ( 6063 ) on Friday June 12, 2020 @08:28AM (#60174924) Journal

    I strongly suspect the people who are pushing for these things fall into two camps. The first camp are people who genuinely want to control the language, and by proxy, thought. These are very dangerous people and should be resisted at all times. The second camp are people who genuinely want to do something so they can be a part of this current trend and feel like they are participating in a meaningful way. These are ordinary decent people, but are certainly influenced by the bluster and actions of the first camp.

    Here's the thing, though. If you're in the second camp, your actions will not save you from the first camp. The authoritarians in the first camp are fundamentally about control, and if you stand in their way, your past actions will mean nothing. Anything less than complete subservience to whatever ideology is currently in vogue in the first camp, is treated as a viral attack and is stamped out with extreme prejudice. Your past capitulation will not serve you in the future.

    Nobody--at least nobody with a lick of sense or proportion--actually thinks that changing "master/slave" to something else will accomplish anything of substance or real value. It's nothing more than a publicity stunt to demonstrate that you are not like those people over there, the racists. It's a signal of your adherence to the new narrative, nothing more. The authoritarians in the first camp will acknowledge your signal, and they now know that later you will be more likely to accept the next click on the ratchet. Make no mistake, however; when they ratchet it too far for you, nothing you did in the past will save you.

    It's the behavior of cults, and used to great effect at controlling behavior. What's surprising is how many tech people are susceptible to it.

    • by gweihir ( 88907 )

      Pretty much. Except that the second camp is virtue signalling and that is cult behavior and not good at all.

    • by jm007 ( 746228 )
      well said, wish I had mod pts for you
    • Re: (Score:3, Informative)

      by Phillip2 ( 203612 )

      And the third camp, are the people who have just reflected on their usage of terms over time, decided that the world would be a slightly better place, if we made a small change which has relatively few negative consequences.

      The only problem is that won't save you from the fourth camp. That is all the people who will descend on you, tell you how terrible you are, how you are virtue signally, how you'd shouldn't bend to triggered snowflakes, and all this other terminology that has been invented in recent year

      • by gweihir ( 88907 )

        Actually, the world became a worse place. Fuzzy, unclear terminology in engineering harms and kills people. Physical reality has no mercy for those that try to sugar-coat what is going on.

  • It was intended that when Newspeak had been adopted once and for all and Oldspeak forgotten, a heretical thought ... should be literally unthinkable, at least so far as thought is dependent on words.

    - George Orwell, Nineteen Eighty Four

  • by cold fjord ( 826450 ) on Friday June 12, 2020 @08:37AM (#60174976)

    Just because a process is a "dependent" doesn't necessarily mean it does the bidding of the process it is dependent on.

    If it had to change, maybe manager and worker processes, but the "dependent" proposal doesn't really represent the relationship.

    No doubt many other terms will come up to be cancelled, like bind, submit, whitelist, blacklist, ... As I saw in a reply in another thread ... is "whitespace" now problematic on a page? Will the Whitespace [wikipedia.org] programming language be cancelled? This all seems .... well ...something [wikipedia.org].

    With all of the purges of streaming media, words, phrases, people, and other nonsense it appears we are descending into madness that will do nothing to change the behavior of the occasionally encountered bad actor.

  • Dialog buttons that are turned off will be "differently abled" instead of "disabled."

  • Dependents is not an accurate replacement for slave regarding software constructs. Dependents is more general and has all kinds of different uses. Slave has specific protocol or structural meaning that is very informative. Child is wrong too. So is receiver or target.

    I go along with some of this kind of stuff, but this one in particular is dumb. It's a word. About the only way that should be offensive is if some team lead keeps assigning the management/handling of "slave interfaces" to his black devel

  • This is ableist. There are many adults out there who are dependents due to their physical or mental disabilities.

  • by Cowardly Lurker ( 2540102 ) on Friday June 12, 2020 @08:43AM (#60175016)

    It is true that the whole master/slave concept has already been relabeled. It is only suitable that we all use the correct terminology.

    Therefore I propose all instances of master/slave are changed to something more suitable. Here are some ideas:

    employer/employee
    government/taxpayer
    police/citizen
    feelings/logic

  • by N_Piper ( 940061 ) on Friday June 12, 2020 @08:43AM (#60175018)
    What? Do the BDSM community not get any say in the terminology we use? I love my slave very much! Judgmental fuckers.
  • by tillerman35 ( 763054 ) on Friday June 12, 2020 @08:47AM (#60175042)

    In order of what I think is best:
    Executive/Worker
    Tasker/Performer
    Tasker/Doer
    Tasker/TaskDoer
    Tasker/TaskPerfomer
    Superior/Subordinate
    Queen/Drone
    Assigner/Assignee

    I'm sure there are others. "Dependent" implies relying on the superior for some type of support, where it's really the other way around.

  • If "slave" becomes "dependent", then the next step in the assault on language will be, "Well, dependent is just a code word for slavery, you bigot!"

  • It was horrible and all humanity should be ashamed that this happened and in many places is still happening today. If someone really has a problem with this change they should watch '12 Years a Dependent'. It will open your eyes.

  • by Murdoch5 ( 1563847 ) on Friday June 12, 2020 @08:59AM (#60175100) Homepage
    The terms Master and Slave in computing don't mean Owner and Servant, in terms of people, they mean X has control and power over Y and Y is controlled by and or powered by X. These kind of over-sensitivity reactions hurt projects because demonstrate that people are more concerned with unjustified feelings and unjustified emotions over quality and functionality.

    It doesn't matter if you're just editing comments or if you editing functional code, these changes demonstrate a dangerous move where feelings and emotions control what can and can't be said / done, instead of what's actually needed from a requirement / sensibility stand point.
  • It is the concept of enslavement of that which by all rights pertaining to matters of human dignity should *NOT* be so enslaved that is what is wrong.

    If there really exists groups cannot detach their own mental association of a word, in this case the horrifying mistreatment of human slaves by their masters, from the literal meaning of the word such that they cannot help but find any imaginable usage of the word to be offensive, then why is how offended they get somehow more important then how offended th

  • There are more slaves in todays world than ever existed the the American South.

    Human trafficking of sex slaves alone accounts for this.
    Says nothing of the Islamic enslavement of Black Africans either.

    Yet all people want to do is bitch about what happened 200 years ago in Western Civ.
    It ain't about slavery folks, its about Marxist Revolution.

  • 5) "Value captured" - you know this is really referring to capturing HUMAN PEOPLE.

    4) "Indexing into Array" - Not so subtle reference to treating people as numbers! Also Array has two A's which is a dig against African Americans.

    3) "Retain/release" : Not only does this vile term refer to retaining slaves, but it implies eventual release when they are used up husks!

    2) "For i in...": The "I" expresses not-so-subtle support for individuality, which goes against the collective will!

    2) "Compile" - rearrange thes

  • by zerothink ( 1682450 ) on Friday June 12, 2020 @09:43AM (#60175370)
    ...being violent, offensive, not cohesive to public good etc. Maybe 'sweet-dreams -9' ?
  • by skoskav ( 1551805 ) on Friday June 12, 2020 @10:23AM (#60175592)
    Ironically, the pull request's [github.com] branch ahrens:slave2 was merged into openzfs:master.
  • what about... (Score:5, Insightful)

    by gTsiros ( 205624 ) on Friday June 12, 2020 @11:19AM (#60175878)

    Bullet points. Espresso shot. Killing joke. Grapes allude to rape, let alone 'therapist'. Murder of crows. Why aren't we banning those terms? Doesn't the same reasoning apply to these words? Ass, the animal. Tit, the animal. Boob, the animal. Erection of a building. Continue on your own.

    We've become completely stupid. We've become so fucking stupid that, somehow, using some words, proves whether someone is racist or not. Did you say it? Proven racist! Your actions don't matter, if you use that word while not belonging in a vaguely defined group, you _must_ be a racist and the only reason i am not typing it out is 1) it will cause a shitstorm and i am fed up. 2) you _know_ which one it is (which is equivalent to me saying... but i didn't... did i? wtf). Same with "slave" in this instance. I can understand clarity and specificity, but doing it out of so-called sensitivity? That's bullshit of the highest caliber. A slave won't care if anyone uses that word. A slave is kinda preoccupied with solving the *actual*, *practical* problem of ... *being* a slave.

    Completely, utterly stupid. This isn't some kind of orwellian crap, this is just basic idiocy.

The program isn't debugged until the last user is dead.

Working...