You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
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.
Reacted by John Teske, Olivia, Reid Parham, Clement Cherlin, Volodymyr Mykhailov, Jeff Beorse, Grant Dobbe, Joe Block, Casey Tucker, Myles Borins and 14 more
Reacted by HDVinnie, PyR8zdl, David, Kot, John Murphy, 33KK, SebastianG, David Murdoch, Paweł Kowalski, Mati O and 13 more
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.
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
Reacted by Anna Henningsen, Myles Borins, HDVinnie, Manil Chowdhury, Waleed Ashraf, F, Kot, Jim Schlight, John Murphy, Jesse Duffield and 12 more
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.
Reacted by Jesse Duffield, Landon Cope and Ramkumar
Reacted by HDVinnie, John Teske, John Murphy, Clement Cherlin, Donald Ball, SebastianG, Casey Tucker, Dave Dash, paul cannon, Jonathan Mukai-Heidt and 14 more
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.
Reacted by Vadim Smelyanskiy, Matija Marić, Kot, John Murphy, Jesse Duffield, David Murdoch, Casey Tucker, Landon Cope, Mati O, Axel and 3 more
Reacted by Rachel White, mary marchini, John Teske, ViralAnomaly, F, Clement Cherlin, Donald Ball, Grant Dobbe, Dave Dash, paul cannon and 6 more
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 :)
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.
Reacted by Clement Cherlin, John Teske, Joe Block, Casey Tucker, Alexandra Parker, Dave Dash, paul cannon, danilo neves cruz, Katy Brimm Wagner, Derek Hammer and 5 more
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?
@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).
@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.
Reacted by mary marchini, Benjamin Gruenbaum, Jordan Harband, Jesse Duffield, Tierney Cyren, Mitchell Busby, Vadim Smelyanskiy, Ben Lesh, Odin Hørthe-Omdal Urdland, danilo neves cruz and 4 more
@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.
Reacted by mary marchini, Jordan Harband, Jesse Duffield, Tierney Cyren, Odin Hørthe-Omdal Urdland, Sam Fuller, Clement Cherlin and Ell Bradshaw
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.
Reacted by Myles Borins, mary marchini, Benjamin Gruenbaum, Jordan Harband, Ujjwal Sharma, Tierney Cyren, Vadim Smelyanskiy and Clement Cherlin
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.
Reacted by Myles Borins, Benjamin Gruenbaum, Rachel White, Jordan Harband, Jesse Duffield, Vadim Smelyanskiy, Clement Cherlin and Ell Bradshaw
@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.
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.
@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
Reacted by Jesse Duffield, Alexandros K, Benjamin Gruenbaum, Tierney Cyren, Zack Schuster, Owen Buckley, Clement Cherlin, Jacob Chapman, Sam Fuller, Bion Johnson and 1 more
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.
Reacted by Myles Borins, Rachel White, Jesse Duffield, Vadim Smelyanskiy, Alexandros K, Tierney Cyren and Ell Bradshaw
@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.
Reacted by Jesse Duffield, Clement Cherlin, liuxingbaoyu and Hans Brende
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.
Reacted by Tierney Cyren, Zack Schuster, Ben Lesh and Clement Cherlin
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.
Activity
v4dkou commentedon Jul 18, 2020
https://en.wikipedia.org/wiki/GYP_(software)
HDVinnie commentedon Jul 19, 2020
erbridge commentedon Jul 20, 2020
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
masterin Git and the recent ones about GIMP that resulted in the Glimpse fork.v4dkou commentedon Jul 20, 2020
@erbridge There's undoubtedly a trend, this recent one about
allopenissuesalso 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-gypissue differs fromallopenissues.mmarchini commentedon Jul 20, 2020
Sharing some context:
gypwas 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 tomakeor 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 ofgypwas created to apply any patches Node.js might need until the efforts to move to CMake are finished.node-gypis 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 withgypas 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
mastername 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
v4dkou commentedon Jul 20, 2020
For completeness sake, here are some other potentially offensive build system names.
Rake
https://github.com/ruby/rake
https://www.urbandictionary.com/define.php?term=Rake
Buck
https://github.com/facebook/buck
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.
NarutoSage commentedon Jul 24, 2020
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.
jesseduffield commentedon Aug 7, 2020
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):
This story from 2016 uses the term Gypsy liberally, as does one of the subjects of the piece who says:
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:
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 :)
Mooninaut commentedon Aug 11, 2020
@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".
dball commentedon Aug 14, 2020
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.
ussjoin commentedon Sep 1, 2020
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?
mmarchini commentedon Sep 1, 2020
@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-nextwon'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).18 remaining items
MylesBorins commentedon Sep 1, 2020
@ussjoin in my personal opinion you seem to be willfully misrepresenting what's going on in this thread.
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.
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.
MylesBorins commentedon Sep 1, 2020
@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.
devsnek commentedon Sep 1, 2020
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.
mmarchini commentedon Sep 1, 2020
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 thegypbinary 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.ussjoin commentedon Sep 1, 2020
ussjoin commentedon Sep 1, 2020
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.
v4dkou commentedon Sep 1, 2020
@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
starsversions 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:
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.
rachelnicole commentedon Sep 1, 2020
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.
MylesBorins commentedon Sep 1, 2020
@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
mmarchini commentedon Sep 1, 2020
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.
v4dkou commentedon Sep 2, 2020
@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.
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:
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.
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.
benjamingr commentedon Sep 2, 2020
@artsyca
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.
artsyca commentedon Sep 2, 2020
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