Skip to content

"gyp" is a racial slur #2168

Open
Open

Description

The word "gyp" means "to cheat or swindle". It's a shortened version of "gypsy" a slur for Roma people who are commonly maligned as cheaters and swindlers.

Some references:

Activity

  1. v4dkou commented on Jul 18, 2020

    @v4dkou
  2. HDVinnie commented on Jul 19, 2020

    @HDVinnie
  3. erbridge commented on Jul 20, 2020

    @erbridge

    Just because it's an acronym, doesn't make what the acronym spells ok. Until today, I had no idea it even was an acronym. This isn't the first time this sort of thing has come up. See the current discussions around master in Git and the recent ones about GIMP that resulted in the Glimpse fork.

  4. v4dkou commented on Jul 20, 2020

    @v4dkou

    @erbridge There's undoubtedly a trend, this recent one about allopenissues also comes to mind.
    https://jira.atlassian.com/browse/JRASERVER-65811

    For the record, in that case the decision was ruled against the change. Despite the fact that there's ample references to the possible interpretations of the word and them not being gender-neutral, there was no consensus that while somebody might take offence in that, the technical term is in fact offensive by itself.

    If you feel that there's a need for change, I think it'd be beneficial for the community as a whole to provide more context to show how this node-gyp issue differs from allopenissues.

  5. mmarchini commented on Jul 20, 2020

    @mmarchini
    Contributor

    Sharing some context: gyp was created by Google many years ago to be the Chromium build system. Node.js adopted it as building V8 (which is part of both Node.js and Chromium) with it was a lot easier than writing and porting every change to make or other build system. Google deprecated it and replaced it with GN in 2016, but Node.js didn't move to GN as the effort is too big and general consensus is to move to CMake in the future (which is also a huge effort). Recently a fork of gyp was created to apply any patches Node.js might need until the efforts to move to CMake are finished. node-gyp is a wrapper around that build system, which is why it is named that way (although arguably the name is not so meaningful and can be confusing for folks who are not familiar with gyp as a build system).

    Changing the name without a strategy is not feasible as it would likely cause a disruption in the ecosystem, breaking many packages. Also, changing the name of this project alone wouldn't be of much use, as gyp-next would still have the name, and so would other projects like node-pre-gyp, not to mention one of the extensions used by the build system is .gyp. So any changes in name here would be a much bigger effort, and someone would need to volunteer to lead it.

    One plus side (technically speaking) of changing the name IMO is that we could choose a package name that is build system agnostic, and it could be used as a front-end package to make migration between build systems easier.

    Reopening as I believe this is worth at least discussing. But just as recent discussions around the master name as default git branch, this will need a technical strategy to migrate without ecosystem disruption before any decision is made. Also, maybe it makes sense to move this to nodejs/gyp-next, since, as I mentioned before, any changes would not be limited to this project alone.

    cc @nodejs/community-committee as it might be of your interest

  6. v4dkou commented on Jul 20, 2020

    @v4dkou

    For completeness sake, here are some other potentially offensive build system names.

    Rake

    https://github.com/ruby/rake

    Rake (top definition)
    A long-handled gardening tool that can also mean an immoral pleasure seeker.

    https://www.urbandictionary.com/define.php?term=Rake

    Buck

    https://github.com/facebook/buck

    Buck (2nd definition)
    3.n: slang for a young black man
    4.n: a male deer

    https://www.urbandictionary.com/define.php?term=buck

    These projects should probably have same problems regarding renaming the tool (disruption in the ecosystem, breaking many packages, existing CI/CD environments, etc.)., so when evaluating cost vs. benefit, I would discuss it with these communities as well.

    Feel free to open an issue in corresponding repositories for Rake and Buck.

  7. NarutoSage commented on Jul 24, 2020

    @NarutoSage

    Honestly they shouldn't have to change the name of the project, its been that way for quite some time just because it by the imagination resembles something somewhat of a slur if you connect distant dots, doesn't mean it should be changed and if you had to connect those dots to make a concern about something thats never been both the philosophy of the name of the project is completely stupid, and you should spend more time trying to make rockets at that point.

  8. jesseduffield commented on Aug 7, 2020

    @jesseduffield

    This is obviously going to be an emotionally charged thread so from the get-go, I hope a healthy discussion takes place.

    Reading through this grammarphobia post it seems that the status of Gypsy as a slur against the Romani is disputed, even within Romani culture (emphasis mine):

    Some people who identify themselves as ethnically Roma (also called Romani or Romany) are offended by “Gypsy,” and most standard dictionaries have reservations about using it to mean Roma. On the other hand, some Roma people don’t mind being called “Gypsies” and others even embrace the term.

    This story from 2016 uses the term Gypsy liberally, as does one of the subjects of the piece who says:

    I've always been incredibly proud of my Gypsy heritage

    Consider this story from this year titled ‘I’m A Gypsy – I Want My Grandchildren To Be Proud Of That Fact’. The subject of that piece who works for Gypsy and Traveller Empowerment (GATE) Essex explicitly says:

    I am a Gypsy challenging inequalities and prejudice to my people in any way that I can.

    If that’s politically campaigning with a board in Parliament Square, online or through mentoring – however I can help my community.

    I say ‘Gypsy’ because there’s a lot of beliefs that that word isn’t liked by us anymore – it is.

    The fact that the Gypsy and Traveller Empowerment organisation, an advocacy group for the Romani, uses that word in their title, as does the Gypsy Lore Society tells me that the time has not yet come to cancel the term.

    If node-gyp mentioned the Romani in the readme alongside a stereotypical Gypsy as a mascot, thus implying equivalence, we would definitely have a problem. If no mention of the Romani was made, we would have less of a problem but eyebrows might understandably be raised at the mascot. What the repo in fact has is no mascot, no mention of the Romani, and the only reason that 'gyp' appears in the name is because it's an acronym for Generate Your Projects. I think that the case for a rename will be far stronger after Gypsy and Traveller Empowerment and the Gypsy Lore Society change their own names.

    But I'm not an expert so I'm happy to be swayed otherwise :)

  9. Mooninaut commented on Aug 11, 2020

    @Mooninaut

    @jesseduffield "Gypsy" is arguably not a slur. "Gyp" is widely considered a slur, so your (well cited) discussion of whether the term "Gypsy" is offensive in an of itself is not particularly relevant to this issue. See https://www.telegraph.co.uk/news/uknews/law-and-order/5483053/Judge-accused-of-using-racial-slur-against-gypsies.html for example. The name of this project is not "node-gypsy", it's "node-gyp".

  10. dball commented on Aug 14, 2020

    @dball

    Just going to observe that every time I see this name show up in a build failure, it makes me think less of everyone involved. Ignorance is one thing; knowing harm is another.

  11. ussjoin commented on Sep 1, 2020

    @ussjoin

    I opened a PR to fix this issue (#2211) and @rvagg closed it as a duplicate, which makes no sense. Could someone please explain how a PR with passing tests dupes an issue?

  12. mmarchini commented on Sep 1, 2020

    @mmarchini
    Contributor

    @ussjoin thank you for taking an interest in this issue. I suggest reading my comment above (#2168 (comment)) to understand the technical challenges and unintended consequences of changing this package name (tl;dr it would be a huge breaking change for the entire Node.js ecosystem). As @rvagg also pointed out in the PR, the gyp/ directory is vendored from https://github.com/nodejs/gyp-next and any changes in that directory should happen on the upstream repository instead, but note that changes there would have the same unintended consequences.

    With that being said, we have an ongoing initiative to deprecate gyp on Node.js and move to a different build toolchain, and while this effort will probably take a couple years it also means that the ecosystem cost of renaming node-gyp/gyp-next won't be worth it (as it will take time to get it right anyway, and by the time we get it right we'll be changing to another build toolchain).

  13. 18 remaining items

  14. MylesBorins commented on Sep 1, 2020

    @MylesBorins
    Contributor

    @ussjoin in my personal opinion you seem to be willfully misrepresenting what's going on in this thread.

    • Maintainers are not saying it is not worth the effort of making this change. There is an existing effort to replace the build system which would effectively deprecate gyp and remove it from the tree entirely. If we can get this work done before Node.js 16 we have an identical timeline to permanent removal of gyp if we were to rename.
    • The date of 2023 is when the 14.x release line goes end of life. We cannot make new breaking changes to 14.x and thus would be unable to completely remove gyp or gypi from that release line until then.
    • We could potentially look at changing the name of gyp + gypi in 14 in a non-breaking way, but doing so in an LTS release would be difficult to do.
    • Myself and others have pointed out behavior of other commenters in this thread as inappropriate and moderated as neccessary.

    There are many people in this thread offering to work with you, but when you mischaracterize our intentions and what we are trying to do it makes it incredibly difficult to assume you are coming in here and operating in good faith.

    it makes me pretty sad that the Node community would rally around protecting a racial slur in the core of the language system.

    I don't see this happening in this issue at all. What I do see are multiple individuals saying they agree with you, that we can and do want to do better, but that we can't do that at the cost of legitimately breaking many many many systems. We have active work going on to improve this, it is not the solution you are proposing, but it is a long term viable solution that would have a similar timeline to what you are proposing.

    I really do want to believe that you are operating in good faith here and simply very passionate about this topic, but from where I am sitting it would appear that you are willfully ignoring what folks are saying and misrepresenting opinions in a way that calls into question the ethics of our team. That is something I am extremely uncomfortable with and do not appreciate.

  15. MylesBorins commented on Sep 1, 2020

    @MylesBorins
    Contributor

    @ussjoin one more thing worth mentioning. I disagree with the immediate closure of your original PR and quick -1. I think that this is definitely worth having a conversation about. If replacing the build system in node is going to take a significant amount of time we could potentially reduce harm in the mean time through renaming... but that effort will need to be a bit more thoughtful than just a blanket rename which is how the PR is currently implemented.

    If you are willing to work with me on it I would spend time with folks on our end to figure out what the requirements for a rename would be and how we could potentially do it in parallel to replacing the build tool so that we don't have a legacy tool with a name that is a slur. I can't commit to doing the labor, I simply don't have time right now, but I can help with building consensus and defining what work would need to be done.

  16. devsnek commented on Sep 1, 2020

    @devsnek
    Member

    Maybe to clarify a bit: We aren't saying we don't want to get rid of node-gyp, we're saying we believe the most effective way to get rid of node-gyp is the major-cycle deprecation of it. I don't think anyone in this thread wants node-gyp to continue to be used, it's an awful build system with an awful name.

  17. mmarchini commented on Sep 1, 2020

    @mmarchini
    Contributor

    Adding to @MylesBorins last comment: the Node.js project has hundreds of collaborators from all around the world, and opinions/points of view are not homogeneous across the project. This heterogeneity can sometimes lead to mishaps (like what happened with your PR being closed 5 minutes after being opened), and those mishaps don't represent the perspective of all collaborators, just the person who made the action/commented.

    I don't think the PR should land as is either (that's not a -1 from me, but a "Request for Changes"). At the very least changes to gyp/ need to be moved to the gyp-next repository, and in a first PR it needs to keep working on existing projects (meaning the gyp binary needs to stay, and so does the file extensions) without the maintainers needing to make any changes. Preferably we would need to somehow run the changes on the PR against a list of popular native modules on npm, like we do for many changes on Node.js via CITGM, but I don't think we have the infrastructure to target specific packages atm. If you or someone else is willing to do that work, I'm happy to coordinate with the new build system initiative.

  18. ussjoin commented on Sep 1, 2020

    @ussjoin
  19. ussjoin commented on Sep 1, 2020

    @ussjoin

    @ussjoin in my personal opinion you seem to be willfully misrepresenting what's going on in this thread.

    Fine; then prove me wrong. I'll look forward to the announcement of the change. I don't see continuing value in contributing further code.

  20. v4dkou commented on Sep 1, 2020

    @v4dkou

    @ussjoin I've initially noticed this thread when I went to GitHub to research some issues with building a dependency using node-gyp.
    This build system has enough problems as is, I especially like fiddling around with nvm to align the stars versions right, so that, i.e. react-native with Realm on old NodeJS versions and a backend with OpenCV on newer NodeJS work fine.

    We basically have two options here:

    • Rename node-gyp, making the ecosystem even more fragile and fiddly, drawing a lot of negative attention towards the cause, because all the frustration from DX issues around the world will be re-directed to cursing political correctness and your PR personally.
    • Ride the wave and push for moving to a different meta build system.

    The first option is a lose-lose scenario, the second is win-win.

    Why aren't we discussing the second option here?
    It'd be a shame if we waste all the energy on the clearly suboptimal option and the movement dies out for nothing.

  21. rachelnicole commented on Sep 1, 2020

    @rachelnicole

    I think the best option would be to close this issue and to create a new issue in good faith about what the future holds instead of arguing about semantics and intent. No one here is discounting that the term is negative no matter the original intention nor are they arguing for not doing anything.

  22. MylesBorins commented on Sep 1, 2020

    @MylesBorins
    Contributor

    @artsyca and @v4dkou I've already asked politely asked for folks to please stop debating the validity of a name change.

    The phrase is offensive, full stop. If you continue to derail conversation I will be personally asking for moderators to limit your ability to participate in this organization.

    @ussjoin it is absolutely within your right to not continue to give us volunteer labor. With that said the only thing I would like to ask for is the benefit of the doubt that we are going to try and make things right.

    I have a distinct feeling that the initial immediate closure of your PR got things off on the wrong foot here. With that said, expecting an ecosystem breaking change like this to land in a single PR without any changes isn't very realistic. There are multiple people here willing to work with you on the name change if you want to drive it. The same folks are putting in effort to solve the problem in a different way, removing gyp.

    I'm genuinely sorry that you have had such a bad experience engaging here, but I really hope you can see they it isn't very reasonable to bring us a half-baked solution and expect a group of volunteers to finish it for you.

    We have a solution we'll be working on, we want the same outcome. If you want to collaborate with us on the solution you've suggested we are here to work with you

  23. mmarchini commented on Sep 1, 2020

    @mmarchini
    Contributor

    FYI for the efforts of removing gyp altogether we have an issue on TSC for discussion (nodejs/TSC#901) and we recently created a repository to have more organized discussions and planning (https://github.com/nodejs/build-toolchain-next). I don't believe this repository is the appropriate place to discuss removing gyp from core and as the default native addon toolchain since both discussions go way beyond this repository.

  24. v4dkou commented on Sep 2, 2020

    @v4dkou

    @MylesBorins I understand that you are in a tough position and you have to bring order so that we come to a productive conclusion.
    I want the same outcome (being less hate in the world), and I am trying to bring another perspective on the topic.

    @artsyca and @v4dkou I've already asked politely asked for folks to please stop debating the validity of a name change.

    The phrase is offensive, full stop.

    I am not debating the offensiveness here, I am just chiming in about the potential backlash, which could bring even more hate towards the cause.

    Let me rephrase:

    • When things break, people get upset
    • To figure things out, they browse GitHub issues
    • When they find this PR, they connect the name change to them being upset

    In other words, disruption produces more hate, the change won't win over people who'll curse our names for taking part in it.

    Does it sound plausible or am I the only one imagining the salty developer venting his frustration with a combination of personal attacks on contributors to the change and racial slurs? Haven't we all seen this co-worker who is loud and angry about things not working as intended?
    And I wouldn't dismiss this person as regressive either, as emotional responses can be triggered by stress alone.

    Please let me know if my experiences align with yours in any way or am I tilting at windmills here.

    If you continue to derail conversation I will be personally asking for moderators to limit your ability to participate in this organization.

    Sorry, but that feels uncalled for.
    If that's what you genuinely believe is right, I will just leave myself, as I honestly don't get why my contribution is not welcome.

  25. benjamingr commented on Sep 2, 2020

    @benjamingr
    Member

    @artsyca

    Anyway, I don't want to be banned by the moderators and this is what I'm taking issue with, given than we all know better, why do our conversations always devolve into naming, shaming, blaming and inflaming -- when did software become so unfun?

    As a moderation team member - bringing up the validity of the request and etymology after being requested to stop multiple times and then cancelling other peoples' opinions and experience is exactly the sort of thing that could get you banned.

    We (people like me, Myles, Mary and other project contributors) take this (and @ussjoin's comments) seriously. It's fine if you don't - but please: if you are not a regular contributor to Node feel free to not engage in these sort of discussions if you goal is to get Node not to explore renaming things.

    Here's the thing: for a large amount of people the naming of GYP isn't a big deal, apparently you are one of those people. That's fine. I am one of those people too and am pretty ignorant on this topic. If however other people feel strongly about an issue in Node and want to discuss it so we can resolve it - why not discuss it with them and resolve it? There might be a way that avoids ecosystem breakage (there often is).

    Let's not assume this is a zero sum game.

  26. artsyca commented on Sep 2, 2020

    @artsyca

    Ben, this is a meta-meta discussion by now but here goes, may you have mercy upon me and give me the benefit of doubt.

    Human beings are an interesting bunch, we have mastered (are we allowed to use this word in this context?) the periodic table, the electron, to a large extent the natural world, and yet we still haven't figured out how to assemble in groups to have a civilized conversation, or if we did we've lost key subtleties of the art.

    A lot of us when we communicate, we don't precisely say what we mean but rather we try to paint pictures with words, others think out loud and wait to hear or see their own words before understanding what they're trying to say. Some of us speak with mathematical precision bordering on the pedantic while others use subtle references and cues.

    What doesn't change however is that none of us are actually speaking to anyone but our own selves and everything we write needs to be interpreted by the receiving party based on context, assumptions, prejudice, and several layers of emotional, intellectual and instinctual conditioning.

    Somewhere along the way, we invented these machines that are meant to increase our capability of communicating and as always the medium remains the message, at its core the message is the audience. We are all like messages trapped inside of bottles trying our best to break free and deliver the payload to the necessary party, all while struggling against incredible odds and at heavy cost to ourselves -- no wonder a lot simply choose to remain silent and 'bottle it up'

    I would say the discussion at hand is a very important one to me, a very big deal indeed, for whatever reason, even though I'm not a contributor and a mere guest in this environment. You'd think we'd have invented a way where everyone could speak their piece asynchronously without fear of reprisals or reprimand, especially when they happen to stroll into a flame war which subsequently follows them home to their inbox and they truly want to understand the forces at play and help make sure every voice is heard. There's a reason we say 'people over processes' after all, and this process seems to place a heavy emphasis on the linearity of the thread over the ability of any old buffoon to put their brainfart down for the record.

    To me, this discussion is the perfect example of all our failings and redeeming qualities as human beings (for you can't separate one from the other) and I'm hoping against hope that someone else will see it this way and also notice the irony of trying to take a hammer to an issue that requires a touch much lighter than a feather. As well it seems like an opportunity to have this kind of meta-meta discussion but alas the chilling effects are prevalent and the forecast looks like more chilling effects on the way.

    I understand your reference to game theory, and I totally understand that there can be a win-win situation here. Can you believe me when I tell you that I really didn't mean to be a 'very bad boy' and despite several wrist slaps I actually have some valuable contributions to make if I wasn't politely and not-so-politely being shown the door, and there are probably thousands of people just like me wondering what to do with their human capital and how they can come to the aid of the Roma people and every other objectified, marginalized and stigmatized member of this so-called society we're building for ourselves?

    I've gone and deleted all my past comments as I realize now how triggering they may have seemed. If you get anything out of this it's that we ought to treat others like time travellers from another era who are out of sync with our own reality and give them some way to vent their frustrations without taking it so gosh darned personally.

    Edit: here, for your amusement: https://www.sbnation.com/secret-base/21408962/dave-bresnahan-potato-trick

  27. locked as too heated and limited conversation to collaborators on Sep 11, 2023
  28. deleted a comment from ninjarogue on Sep 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions