Skip to content

Commit 49e95b4

Browse files
committed
docs: Explain our shift in terminology
1 parent 16f03f9 commit 49e95b4

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

docs/design_guide.rst

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
.. role:: strike
2+
13
Design Guide
24
============
35

@@ -46,6 +48,37 @@ not have the ``adafruit_`` module or package prefix.
4648

4749
Both should have the CircuitPython repository topic on GitHub.
4850

51+
Terminology
52+
-----------
53+
54+
As our Code of Conduct states, we strive to use "welcoming and inclusive
55+
language." Whether it is in documentation or in code, the words we use matter.
56+
This means we disfavor language that due to historical and social context can
57+
make community members and potential community members feel unwelcome.
58+
59+
There are specific terms to avoid except where technical limitations require it.
60+
While specific cases may call for other terms, consider using these suggested
61+
terms first:
62+
63+
+----------------+---------------------+
64+
| Preferred | Deprecated |
65+
+================+=====================+
66+
| Main | :strike:`Master` |
67+
+----------------+---------------------+
68+
| Secondary | :strike:`Slave` |
69+
+----------------+---------------------+
70+
| Denylist | :strike:`Blacklist` |
71+
+----------------+---------------------+
72+
| Allowlist | :strike:`Whitelist` |
73+
+----------------+---------------------+
74+
75+
Note that "technical limitations" refers e.g., to the situation where an
76+
upstream library or URL has to contain those substrings in order to work.
77+
However, when it comes to documentation and the names of parameters and
78+
properties in CircuitPython, we will use alternate terms even if this breaks
79+
tradition with past practice.
80+
81+
4982
.. _lifetime-and-contextmanagers:
5083

5184
Lifetime and ContextManagers

0 commit comments

Comments
 (0)