Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(240)

Unified Diff: styleguide/gender_neutral_code.md

Issue 2778663002: Add documentation on keeping code gender neutral. (Closed)
Patch Set: Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: styleguide/gender_neutral_code.md
diff --git a/styleguide/gender_neutral_code.md b/styleguide/gender_neutral_code.md
new file mode 100644
index 0000000000000000000000000000000000000000..5b81a52b24164681c5131fc323db42d12ba30162
--- /dev/null
+++ b/styleguide/gender_neutral_code.md
@@ -0,0 +1,94 @@
+# Gender-neutral Chromium code
+
+## Why this is important
+
+Some points in our code, documentation and comments contain needless assumptions
+about the gender of a future reader, user, etc. __Example: “When the user logs
Matt Giuca 2017/03/27 06:58:39 nit: Do you think you should change the curly quot
benwells 2017/03/28 00:56:28 Done.
+into his profile.”__
+
+Our [Code of Conduct](https://www.chromium.org/conduct) under “Be respectful and
+constructive” says:
+
+> Each of us has the right to __enjoy our experience__ and participate without
+> fear of harassment, __discrimination__, or __condescension__, whether blatant
+> or subtle.
+
+Emphasis is added: unnecessarily gendered code is discriminatory and
+condescending, and reading biased code isn’t enjoyable.
+
+## Suggestions on how to keep code gender-neutral
+
+These are only suggestions. You make the call.
+
+Things to avoid:
+
+* Gendered pronouns: he / she / him / her / his / hers, etc.
+* Instances of the phrases “he or she”, “his/hers”, “(s)he”, etc. All of these
+still exclude those who don’t identify with either gender, and implicitly
+(slightly) favor one gender via listing it first.
+* “Guys” as a gender-neutral term. This has male associations and is easy to
Matt Giuca 2017/03/27 06:58:40 "..., which has male associations. Usually, it imp
benwells 2017/03/28 00:56:28 Done.
+avoid by using “everyone”, “folks”, “people”, “peeps”, “y’all”, etc.
+* Other gendered words: “brother”, “mother”, “man”, etc.
+
+Cases that are likely fine to leave alone include:
+
+* References to a specific person (“Rachel is on leave; update this when she is
+back.”).
+* A name ("Guy" and "He" are both valid names).
+* A language code (“he” is the ISO 639-1 language code for Hebrew).
+* He as an abbreviation for “helium”.
+* The Spanish word “he”.
+* References to a specific fictional person ([Alice, Bob...](http://en.wikipedia.org/wiki/Alice_and_Bob)).
Matt Giuca 2017/03/27 23:42:06 nit: "Bob, ..."
benwells 2017/03/28 00:56:28 Done.
+ * For new code/comments, consider using just ‘A’, ‘B’ as names.
Matt Giuca 2017/03/27 06:58:40 2-space indent.
benwells 2017/03/28 00:56:28 Done, let's see if it is recognized as an indent..
+* Content of things like public-domain books.
Matt Giuca 2017/03/27 06:58:40 Quotations, and .. (Maybe a few of these can be c
benwells 2017/03/28 00:56:28 Combined this and the quotations one.
Matt Giuca 2017/03/28 02:55:32 Acknowledged.
+* Partner agreements and legal documents we can no longer edit.
+* Occurrences in randomly generated strings or base-64 encodings.
+* Quotations from other non-chromium material, such as external documentation.
Matt Giuca 2017/03/27 06:58:39 Capital C Chromium.
benwells 2017/03/28 00:56:28 Removed this line.
+* Content in a language other than English unless you are fluent in that
+language.
Matt Giuca 2017/03/27 06:58:40 indent multi-line bullet points so all the text li
benwells 2017/03/28 00:56:28 Why? It seems to work as is (when using the markdo
Matt Giuca 2017/03/28 02:55:32 Easier to read in source form. Optional.
benwells 2017/03/28 03:14:05 OK, done. I had a look at other .md files in chrom
+
+How to change the remaining awkward intrusions of gender:
Matt Giuca 2017/03/27 23:42:06 "intrusions" is a weird word. How about "use of".
benwells 2017/03/28 00:56:28 I think 'intrusions' conveys the right meaning her
Matt Giuca 2017/03/28 02:55:32 Acknowledged.
+
+* Try rewording things to not involve a pronoun at all. In many cases this makes
Matt Giuca 2017/03/27 06:58:39 * Avoid anthropomorphism of inanimate objects. Exa
Matt Giuca 2017/03/27 23:42:06 s/inanimate object/non-people (to use a term you u
benwells 2017/03/28 00:56:28 are you suggesting a new bullet? I think it is cov
Matt Giuca 2017/03/28 02:55:32 Acknowledged.
+the documentation clearer. Example: "I tell him when I am all done." → "I tell
+the owner when I am all done." This saves the reader a tiny bit of mental
+pointer-dereferencing.
+* Try using [singular they](https://en.wikipedia.org/wiki/Singular_they), if it
+reads reasonably.
Matt Giuca 2017/03/27 23:42:06 "if it reads reasonably".. hmm. I think this is su
benwells 2017/03/28 00:56:28 Done.
+* Try making hypothetical people plural. “When the user is done he’ll
Matt Giuca 2017/03/27 23:42:06 I'm personally not a fan of this advice (I'd go wi
benwells 2017/03/28 00:56:27 I think I disagree. In the example given it seems
Matt Giuca 2017/03/28 02:55:32 Acknowledged.
+probably...”
+→ “When users complete this step, they probably…” When referring to a
Matt Giuca 2017/03/27 23:42:06 "When referring to a non-person" -- this feels lik
benwells 2017/03/28 00:56:28 Yep, I think I missed a bullet. Done.
+non-person, “it” or “one” may be good alternatives ([wikipedia link](http://wikipedia.org/wiki/Gender-specific_and_gender-neutral_pronouns#It_and_one_as_gender-neutral_pronouns)).
+
+## Example changelists
+
+For a long list of changes, see [this bug](https://crbug.com/542537). Some
+examples:
+
+* [Make some code gender neutral](https://crrev.com/e3496e19094cf7e711508fe69b197aa13725c790)
+* [Updates comments in the src files to remove gender specific terms](https://crrev.com/5b9d52e8a6ec9c11a675bae21c7d1b0448689fb6)
+* [Gender-neutralize a few more comments / strings](https://crrev.com/993006d919c7b0d3e2309041c1e45b8d7fc7ff0e)
+* [Make some android code gender neutral](https://crrev.com/93d83ac96c3d1c27be9ea7e842b25b3dded2550b)
+
+## Tools
+
+* [Here](https://cs.chromium.org/search/?q=%28%5E%7C%5Cs%7C%5C%28%7C%5C%5B%29%28%5BHh%5De%7C%5BSs%5Dhe%7C%5BHh%5Dis%7C%5BHh%5Ders?%7C%5BHh%5Dim%7C%5BHh%5Der%7C%5BGg%5Duys?%29%5Cb&sq=package:chromium&type=cs)
+is a code search link prepopulated with a search that finds a lot of gendered
+terms.
+* To search for files contained gendered terms, use this command (or a variant
Matt Giuca 2017/03/27 23:42:06 s/contained/containing
+of it):
+```
+git grep -wiEIl \ '(he)|(she)|(his)|(hers)|(him)|(her)|(guy)|(guys)'
+```
+* To search in a file open in vim for gendered terms, use this command:
+```
+/\<he\>\|\<she\>\|\<his\>\|\<hers\>\|\<him\>\|\<her\>\|\<guy\>\|\<guys\>|\<man\>\c
+```
+* There are presubmit checks available for this that are run for the infra and
+v8 repos. They are not run for other repos as there are too many false positives.
Matt Giuca 2017/03/27 06:58:39 nit: Word wrap. Also shouldn't line 88 be indented
+
+## Thanks
+
+This document is based on an internal Google document by Rachel Grey and others,
+which can be found [here](https://goto.google.com/gender-neutral-code) (sorry,
Matt Giuca 2017/03/27 06:58:39 go/... (I think is the preferred way to share inte
benwells 2017/03/28 00:56:28 I was wondering about this. Do you have a source f
Matt Giuca 2017/03/28 02:55:32 No, I guess this is fine.
+Googler only).
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698