# Respectful Code

Inclusivity is central to Fuchsia's culture, and our values include treating
each other with respect and dignity. Everyone should be able to contribute
to Fuchsia without facing the harmful effects of bias and discrimination.
This respectful code policy provides guidance to address language that can
perpetuate discrimination or harm in the codebase, UIs, and documentation.

## Policy

Terminology that is derogatory, hurtful, or perpetuates discrimination, either
directly or indirectly, should be avoided and will be replaced.

## What is in scope for this policy?

Anything that a contributor would read while working on Fuchsia, including:

- Names of variables, types, functions, files, build rules, binaries, exported variables...
- Test data
- System output and displays
- Documentation (both inside and outside of source files)
- Commit messages

## Principles

- Be respectful: Avoid bias and harm. Derogatory, ableist, or unnecessarily gendered language are not useful to describe how things work.
- Respect culturally sensitive language: Some words may carry significant historical or political meanings. Be mindful of this and use alternatives.

## How do I know if particular terminology is OK or not?

Apply the principles above. If you have any questions, you can reach out to
fuchsia-community-managers@google.com.

## What are examples of terminology to be avoided?

These lists are NOT meant to be comprehensive. They contain common examples
found in documentation. If you see disrespectful language, report it.

**Specific terms**

| Term | Suggested alternatives |
|---|---|
| master | primary, controller, leader, host |
| slave | replica, subordinate, secondary, follower, device, peripheral |
| whitelist | allowlist, exception list, inclusion list |
| blacklist | denylist, blocklist, exclusion list |
| insane | unexpected, catastrophic, incoherent |
| sane | expected, appropriate, sensible, valid |
| sanity check | check |
| crazy | unexpected, catastrophic, incoherent |
| redline | priority line, limit, soft limit |
| white glove | top tier service; meticulous, thorough support |
| blackout | blocked out |
| build cop | build gardener |
| dummy | placeholder |

**Idioms**

Use descriptive and factual statements instead of idioms. Idioms can suffer
from the same problems described above, and also they can be difficult to
understand for people with a different cultural context than you.

- For example, instead of "this is not black or white," use "this is more nuanced."
- Instead of "this is the blind leading the blind," explain what you mean, like "the reference you point to is inaccurate because ..."

## What if I encounter terminology that violates this policy?

When implementing code, differing from the language in the specification
may interfere with the ability to understand the implementation. In these
circumstances, we suggest one of the following, in order of decreasing
preference:

1. If using alternate terminology doesn't interfere with understanding, use alternate terminology.
2. Failing that, do not propagate the terminology beyond the layer of code that is performing the interfacing. Where necessary, use alternate terminology at the API boundaries.

[](https://issues.fuchsia.dev/issues/new?component=1439230&template=1881640&description=Issue+on:+https://fuchsia.dev/docs/contribute/respectful_code.md "Report a bug or suggest improvements on this page") [](https://cs.opensource.google/fuchsia/fuchsia/+/main:docs/contribute/respectful_code.md "View the source code of this page") [](https://ci.android.com/edit?repo=fuchsia/fuchsia/main&file=docs/contribute/respectful_code.md&cloneRepo=fuchsia/fuchsia:refs/heads/main&fullPath=fuchsia/docs/contribute/respectful_code.md "Edit the source code of this page")