Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Repository Name #921

Closed
tastycode opened this issue Jun 22, 2016 · 54 comments
Closed

Repository Name #921

tastycode opened this issue Jun 22, 2016 · 54 comments

Comments

@tastycode
Copy link

Every time I refer to this library in code, I'm tempted to alias it to Factory.

I'm curious as to where the name came from?

@Ross-Hunter
Copy link

Duplicate of #849

@marisawallace
Copy link

@tastycode Thanks for bringing this up.

What does "factory girl" really mean? Simply put, it draws attention to a woman's gender because she happens to be in a male-dominated environment.

Unfortunately, the software industry is also a male-dominated environment, and it's widely acknowledged that tech has a serious diversity problem.

One symptoms of the problem is judging people based on their gender rather than their character-- which is what the idiom "factory girl" does. So, I think the name FactoryGirl makes it slightly harder for women to feel welcome in our profession. I'd love to see it changed.

This opinion is based on personal experience-- at one point, I was going through some code with a female engineer, and noticing the name FactoryGirl led to an awkward exchange. Since then, I've always aliased it as Factory, but that doesn't do much to solve the underlying problem.

@joshuaclayton
Copy link
Contributor

The library FactoryGirl uses the "factory method" design pattern to define ways in which developers can construct data for a test suite. Because Factory itself was somewhat ambiguous (since it's also a design pattern), we looked at a handful of pop culture references and landed on Factory Girl, which has ties to both Rosie the Riveter and a Rolling Stones song.

@joshuaclayton
Copy link
Contributor

Related: here's the announcement post on our blog, Giant Robots.

@tute
Copy link

tute commented Jul 11, 2016

At one point, I was going through some code with a female engineer, and noticing the name FactoryGirl led to an awkward exchange.

I'd like to know more about this. How was it awkward? Did you feel discomfort because of the name? Did the female engineer express discomfort because of the name? Thank you.

@marisawallace
Copy link

@tute Another guy in the vicinity made a joke about the [factory girl] "doing the work for you". The woman I was working with didn't explicitly say that she felt uncomfortable (people almost never do), but my subjective impression was that she felt uncomfortable. I also felt uncomfortable.

@tastycode
Copy link
Author

tastycode commented Jul 11, 2016

I personally found this issue when cleansing a code-base of unnecessarily
gendered class and variable names.

Regardless of the original intent, I do think that people working in
code-base using this gem have to be conscious of why this is an explicitly
gendered reference just because of the name.

Given the desire to not create ambiguity with the pattern, maybe
FactoryMachine.

Or even better, since it comes from ThoughtBot. FactoryBot

@tute
Copy link

tute commented Jul 11, 2016

I used the Factory Girl gem with colleagues of different genders, and the question of the name never came up. I never cared enough about the name, either, but today I found myself thinking about it, and learned about https://en.wikipedia.org/wiki/Rosie_the_Riveter. Now I love this gem's name.

@quangv
Copy link

quangv commented Aug 27, 2016

Just coming from a male perspective, It's seems like a pretty sexist name to me.

Regardless of the original intent, I do think that people working in
code-base using this gem have to be conscious of why this is an explicitly
gendered reference just because of the name.

I couldn't agree more. I wouldn't want to depend on something called YellowWorker.

https://news.ycombinator.com/item?id=7757667 <-- reference

@joshuaclayton
Copy link
Contributor

I want to thank you all for your feedback, and I appreciate the honesty and candor here.

Regardless of the original intent, I do think that people working in code-base using this gem have to be conscious of why this is an explicitly gendered reference just because of the name.

I wholeheartedly agree.

I'll be working with the rest of the thoughtbot team to understand what the best next steps are and what a transition process might look like to a new gem name.

There's some inherent amount of "Google juice" with the current name around blog posts and other content that, while the gem may have changed, still follows the same patterns and guidance.

I'd consider a positive outcome to be one where a name is chosen for this (and for the factory_girl_rails gem to follow as well) that includes the previous name in the readme, as well as redirects to point developers to the correct resources online. A significant amount of credit goes out to everyone who's used, written about, and contributed to this software and I believe we as a community can help make this better with a more inclusive name going forward.

Again, thank you all for your feedback.

@joshuaclayton joshuaclayton reopened this Aug 27, 2016
@jferris
Copy link
Contributor

jferris commented Aug 29, 2016

I opened #942 to explain the origins of the name while we discuss a potential rename.

@galiat
Copy link

galiat commented Aug 29, 2016

I don’t speak for all women, just myself- but this seems potentially overblown. If you want to rename please just 1st make sure that this is actually something that makes women uncomfortable and that the folks (none who are women) in this thread are not projecting discomfort.

There is real, honest, awful sexism in tech, but this is not it.

The origins of the name, if anything, have roots in empowering women economically. Maybe throw something in the readme to highlight that.

@joshuaclayton
Copy link
Contributor

As an initial pass, I've merged #943, which provides a bit of color around the origins of the repository naming. That said, we're still working on improving this further, and hope to have further changes in the coming months to address this more fully.

Again, thank you all for your patience with this!

@joshuaclayton joshuaclayton reopened this Oct 7, 2016
twocathouse pushed a commit that referenced this issue Oct 20, 2017
Also: add a deprecation warning to factory_girl, asking users to switch to
factory_bot

#921
twocathouse pushed a commit that referenced this issue Oct 20, 2017
Also: add a deprecation warning to factory_girl, asking users to switch to
factory_bot

#921
joshuaclayton pushed a commit that referenced this issue Oct 20, 2017
Also: add a deprecation warning to factory_girl, asking users to switch to
factory_bot

#921
joshuaclayton pushed a commit that referenced this issue Oct 20, 2017
Also: add a deprecation warning to factory_girl, asking users to switch to
factory_bot

#921
joshuaclayton pushed a commit that referenced this issue Oct 20, 2017
Also: add a deprecation warning to factory_girl, asking users to switch to
factory_bot

#921
twocathouse pushed a commit that referenced this issue Oct 20, 2017
Also: add a deprecation warning to factory_girl, asking users to switch to
factory_bot

#921
@cpytel
Copy link
Member

cpytel commented Oct 23, 2017

But rolling out a minor version without at least a blog post explaining a pretty significant change to one of the most used gems in all of rubydom and providing insight into the decision making process was, admittedly, a pretty bad PR move.

@kayakyakr Sorry again for the trouble. We didn't expect it to be a breaking change, but we made a mistake and that was our fault. We yanked the broken version quickly and are working today on a path forward. We also had a explanatory blog post ready to go, but we've now held off on publishing it while we figure out today what the plan for rolling out the change will be in a way that doesn't unexpectedly break things for people. We hope to have that out very soon.

@saverio-kantox
Copy link

saverio-kantox commented Oct 23, 2017

I’d just like to remind folks that just because you don’t see women commenting here doesn’t mean that women aren’t uncomfortable with the name. Given the previous comments here, it doesn’t exactly feel welcoming to dissenting opinions from women.

I understand that this means that you agree with the original comment by @galiat, which found the name a non-issue? That one was until now the only comment by a woman here, and it has been completely disregarded despite having more 👍 than all the other comments together.

(edit) I might be wrong in the interpretation.

In any case, if that makes the whole thing more welcoming, I am totally in favour of the name change. My issue is exactly that the only published comment from a woman was "not in favour" of the change, so the whole thing seemed at least strange.

But anyways, it's quite late for a debate.

@cpytel
Copy link
Member

cpytel commented Oct 23, 2017

@saverio-kantox You don't seem to understand that not all folks who have a concern will feel comfortable posting publicly. We did our diligence in investigating this issue, which included talking to people in all affected groups, many of them privately.

You've now made your point that you disagree with this change. Thank you for your perspective.

@sublimemarch
Copy link

Exactly. I'm reminding people to consider the reasons why women may not have commented against the old name publicly on GitHub.

@saverio-kantox
Copy link

saverio-kantox commented Oct 23, 2017

:) see my previous edit.

My point was based on the apparent lack of public debate. And after the last comments, I understand that public debate is not exactly the most welcoming place to express concerns. Which leads me to now fully agree with the name change :) :)

(strong is just for pointing out my change of perspective, not shouting or anything)

Thanks for all the explanations :)

@glaszig
Copy link

glaszig commented Oct 23, 2017

if you accept contributions of such sociopolitical nature, you should also have the bloody guts when it comes to the ensuing discussion. deleting critical comments and plainly pointing to your CoC which doesn't even apply because there was no harassment is the definition of censorship.

i hold this community to higher standards. disgusting.

@yupiel
Copy link

yupiel commented Oct 23, 2017

People that have issues with the name of something and then ask it be changed on behalf of someone else shouldn't work in any field where logic is required to get anything done.

Names are but an easy to remember representation for a thing.
That would be like me saying I don't want any Xs in the variable, function, class, etc. -names of any project because I know someone that has XX chromosomes and they might feel uncomfortable.

A person or group is providing a service for you or offering you a product.
What right do you believe you have to ask it be changed just because you don't like it?

This whole "issue" is, as the edgy kids would say, petty squabble and should be dismissed in a professional environment.

If you can't even handle the name, how can I expect you to handle the functionality?

@cconstantine
Copy link

People that have issues with the name of something and then ask it be changed on behalf of someone else shouldn't work in any field where logic is required to get anything done.

Incorrect. If that were true we'd still be using single-letter variable names. Words have meaning, and recognizing that is important. Being able to work with logic machines and being a human that has feelings around specific words aren't mutually exclusive.

Names are but an easy to remember representation for a thing.

True, but it's an argument equally in favor of using the new name and the old name.

That would be like me saying I don't want any Xs in the variable, function, class, etc. -names of any project because I know someone that has XX chromosomes and they might feel uncomfortable.

Kind of true, but this is a false-equivalency. 'Girl' implies much more than 'X' does, but either way, if someone had a problem with 'X's then it would be reasonable to have a discussion about removing them. That discussion would probably result in not removing 'X's, but the discussion should happen (that's what makes this a false-equivalency).

A person or group is providing a service for you or offering you a product.
What right do you believe you have to ask it be changed just because you don't like it?

Thoughbot has given us the right to have a discussion around the name of their gem, and they have agreed that the name is more of a problem than it's worth. They have the right to grant us the right to discussion this, and they have the right to change the name. Nothing here is a rights issue.

This whole "issue" is, as the edgy kids would say, petty squabble and should be dismissed in a professional environment.

If you can't even handle the name, how can I expect you to handle the functionality?

I'd bet there are some names this gem could be called that would make you very uncomfortable. The fact that the name FactoryGirl doesn't cause you problems doesn't mean it doesn't cause other people problems. Having empathy and a willingness to listen to the viewpoints of others is much more professional than trying to shutdown a discussion around people's wellbeing. Calling other people's concerns a 'petty squabble' is unprofessional.

I've always felt a little weird about the name of this gem, and I'm personally happy to see it change after some discussion. It'd be nice if they honor semantic versioning, but it seems like Thoughbot has gotten that memo.

@tokict
Copy link

tokict commented Oct 24, 2017

This thread gave me cancer

@quangv
Copy link

quangv commented Oct 24, 2017

you should also have the bloody guts when it comes to the ensuing discussion. deleting critical comments and plainly pointing to your CoC which doesn't even apply because there was no harassment is the definition of censorship.

@glaszig I've been following this issue closely and it does seem to me that some of the deleted comments in this and related issues were of a harassing nature, unfortunately.

The fact that there seems to be such opposing passionate views on the issue shows that maybe a more neutral name is more appropriate. Just look at other projects with more discreet names like mocha or rails, I doubt if anybody ever felt uncomfortable with those names.

There's something called an Empathy Gap, I don't quite understand it, but it sounds like it's hard to relate to people.

I'm not a female in tech, but if even a single person felt uncomfortable, the name should rightfully be changed.

Remember that lots of subtle often unattended words or actions could leave a member of a minority group to feel ostracized or alienated. It's always good to be more sensitive to the feelings of everyone.

-interesting article about Empathy Gap in Education

@maxigs
Copy link

maxigs commented Oct 24, 2017

So replacing a "female" gem with a non-gender bot is the way to encourage more women in IT?

I don't understand it, and the lack of explanation (aside from "we did our vetting") does not really help me to understand it.

Personally I think this was a wasted change, to empower women by using the name and where it apparently came from - which i didn't know until today.
Instead we get rid of all evidence of gender, making it all equal and removing all possible reason for discomfort putting political correctness and none-offensiveness over any actual cause.

@mjankowski
Copy link
Contributor

So replacing a "female" gem with a non-gender bot is the way to encourage more women in IT?

The purpose of this change is not to encourage more women in IT, it's to reduce the discomfort that has been reported to us by women and men who see the name, don't understand it, and are either vaguely offended or confused because of the gendered name of a piece of software. If this has some small marginal effect of making women more comfortable using this gem or working in IT more broadly, that'd be fantastic, but seems pretty ambitious for a small change like this, and we'll take far far smaller gains as evidence of success.

I don't understand it, and the lack of explanation (aside from "we did our vetting") does not really help me to understand it.

We are comfortable proceeding with the change without your understanding, but a) there's a bunch of explanation here and in the linked issue, b) the spirit of it is "a bunch of people are confused or offended, and we think they have plausible reasons, and this is really easy to improve", so that's what we're doing, c) we'll attempt to explain this further in a follow-up blog post to be posted soon.

[...] which i didn't know until today.

This is exactly the issue: most people do not know -- and do not bother to learn -- the history of the name which potentially has a pro-female spirit to it. That intent and history does not accomplish anything if the reference is regularly missed or not known.

Instead we get rid of all evidence of gender, making it all equal and removing all possible reason for discomfort putting political correctness and none-offensiveness over any actual cause.

I think if you look beyond the narrow context of the naming of this software package, you will find plenty of gender left to experience and celebrate elsewhere. You are correct that not offending anyone when there is not a good reason to offend them is a nice win here.

@maxigs
Copy link

maxigs commented Oct 24, 2017

Thanks for the detailed response @mjankowski.

Probably i have a different point of view on the issue. I was not on the side to receive the reports about the name of this gem, so my understanding of the magnitude of the issue definitely off.

I'm not objecting the name change itself, aside from the hassle a name change of any library usually causes anyway. But the thoughtbot team clearly felt this is a important enough change to go through with it. Either way it's a win for bringing the issue to people's attention.

But as you explain yourself the origin of the problem was most likely people not knowing the origins of the name. I'm just wondering if trying to educate them on this would have been a "better" solution than to just get rid of any possible incorrectness.

@mjankowski
Copy link
Contributor

Glad I could clear it up -- and yes, thanks to all of you for extending us some trust here around the reported complaints that you did not and cannot see (which were sent to us privately).

I'm just wondering if trying to educate them on this would have been a "better" solution than to just get rid of any possible incorrectness.

We tried this for the first 9 years and it wasn't working, hence this change.

@joe-mcnuggets
Copy link

There is nothing more sexist than thinking that "female name" of a gem can make woman feel uncomfortable. And you should think about renaming in the year 2049, when you'll find out, that some of the replicants are feeling confused about it.

@saverio-kantox
Copy link

@agavrelyuk you should really consider this:

thanks to all of you for extending us some trust here around the reported complaints that you did not and cannot see (which were sent to us privately).

@joe-mcnuggets
Copy link

@saverio-kantox oh, well, it's so in the trend to change something community-important due some complaints, instead of making public poll. Who needs a democracy.

@mjankowski
Copy link
Contributor

mjankowski commented Oct 24, 2017

There is nothing more sexist than thinking that "female name" of a gem can make woman feel uncomfortable.

First, there are like literally hundreds of things way more sexist than this. This library name is actually pretty low on that scale of things, which is why it's such an easy change to make! If we can't do pretty boring simple things like this, how will we ever do the harder more meaningful things that address bigger problems?

Second, this isn't something we merely "think" - it's something we were told by a bunch of people. We decided to believe them. You don't have to if you don't want to, but we did.

And you should think about renaming in the year 2049, when you'll find out, that some of the replicants are feeling confused about it.

This might sound crazy, but we actually had a pretty long internal discussion about this.

It's not entirely clear that super-human AIs will achieve both high-level intelligence AND consciousness but it's certainly a possibility. In the event that they do obtain consciousness, certainty we'll want to grant them some moral rights. Of course it might be a moot point because "we" will be overthrown so quickly as to not have a say in the granting of the rights, and at that point the robots can take it upon themselves to rename the library, if they are offended by it.

@kronos
Copy link

kronos commented Oct 24, 2017

Thanks God I moved to Clojure

@kvrag
Copy link

kvrag commented Oct 24, 2017

oh, well, it's so in the trend to change something community-important due some complaints, instead of making public poll. Who needs a democracy.

Lol @agavrelyuk this is software that you get to use for free because someone decided it was for the common good. If anything, it's socialism, not democracy.

@joe-mcnuggets
Copy link

joe-mcnuggets commented Oct 24, 2017

@kvrag wat

  1. Socialism is a type of an economic system and it doesn't mean "everything for free".
  2. Democracy is a system of government.
  3. Open collaboration is one of the most important open-source principles. So, unexpected breaking changes in the minor update made for some "social justice" without any connection with a community, who use and build this software, seem a little bit unacceptable.

@kvrag
Copy link

kvrag commented Oct 24, 2017

@agavrelyuk Lol exactly, this isn't a government. It's resources being shared among the population (i.e. socialism) but whatevs

@saverio-kantox
Copy link

I humbly propose to protect this thread. All reasons have been exposed, and the points have been made. Now it's just sterile discussion on an already taken decision.

@saverio-kantox
Copy link

@saverio-kantox oh, well, it's so in the trend to change something community-important due some complaints, instead of making public poll. Who needs a democracy.

  • Indeed in a democracy public polls are anonymous, to protect the identity of people that in one way or another feel threatened by disclosing their opinion to the public.
  • This code is open source, feel free to fork it and release it back as factory_still_a_girl or whatever.
  • In a community of any worth, there is protection of the weak. This means also that a change that goes over to protect the weak is to be done, even if it is a little discomfort for the majority
  • The tech community is predominantly masculine, and also has a lot of alt-right and very voicing people, so a public poll over a feminist matter is not exactly the best way to solve this specific issue

@joe-mcnuggets
Copy link

@saverio-kantox

Indeed in a democracy public polls are anonymous, to protect the identity of people that in one way or another feel threatened by disclosing their opinion to the public.

Don't tell me that you can't organize an anonymous poll.

In a community of any worth, there is protection of the weak. This means also that a change that goes over to protect the weak is to be done, even if it is a little discomfort for the majority

Sounds like "we'll break your builds and remove cultural references to protect people, who don't want to educate themselves". And where's the line beyond which "protecting of the weak" becomes "dictatorship of any loud(or trendy) minority"?

The tech community is predominantly masculine, and also has a lot of alt-right and very voicing people, so a public poll over a feminist matter is not exactly the best way to solve this specific issue

Ok, FactoryGirl's community is masculine and nazi-adoring, so we don't deserve a right of free choice, I heard you.

@mjankowski
Copy link
Contributor

Thanks everyone for the feedback. Once again, we're sorry for the frustration we caused with the gem release missteps.

We'll update this issue when the blog post is live, hang tight until then.

@thoughtbot thoughtbot locked and limited conversation to collaborators Oct 24, 2017
@mjankowski
Copy link
Contributor

Blog post now up: https://robots.thoughtbot.com/factory_bot

@cpytel cpytel closed this as completed Oct 24, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests