canonical / mir

The Mir compositor
GNU General Public License v2.0
624 stars 99 forks source link

Inclusive language problems #2501

Open Saviq opened 2 years ago

Saviq commented 2 years ago

Across the repository the following terms were highlighted as potentially insensitive:

 [error] `crazy` may be insensitive, use `baffling`, `unexplained`, `errant` instead  (2 counts)
 [error] `dmz` may be insensitive, use `perimeter network`, `passthrough network` instead  (5 counts)
 [error] `sanity` may be insensitive, use `confidence`, `quick check`, `coherence check` instead  (8 counts)
 [error] `dummy` may be insensitive, use `placeholder`, `sample` instead  (154 counts)

Giving them context:

  1. "crazy"
    1. a github username, not something we have control over https://github.com/MirServer/mir/blob/829104320046445060f9a4d8e0eb65120e0a4121/.github/workflows/ppa-upload.yml#L30
    2. used in a comment, could easily be fixed https://github.com/MirServer/mir/blob/829104320046445060f9a4d8e0eb65120e0a4121/guides/cppguide.xml#L1749
  2. "DMZ" is the cursor theme, we could switch to the Ubuntu Yaru theme instead
  3. "sanity" in the context of a sanity check, easily replaced with "coherence"
    1. https://github.com/MirServer/mir/blob/829104320046445060f9a4d8e0eb65120e0a4121/tests/unit-tests/platforms/gbm-kms/kms/test_kms_page_flipper.cpp#L578
    2. https://github.com/MirServer/mir/blob/829104320046445060f9a4d8e0eb65120e0a4121/src/platforms/common/server/shm_buffer.cpp#L73
    3. https://github.com/MirServer/mir/blob/829104320046445060f9a4d8e0eb65120e0a4121/src/platforms/evdev/libinput_device.cpp#L371
    4. https://github.com/MirServer/mir/blob/829104320046445060f9a4d8e0eb65120e0a4121/src/miral/xcursor.c#L384
    5. https://github.com/MirServer/mir/blob/829104320046445060f9a4d8e0eb65120e0a4121/src/miral/xcursor.c#L476
    6. https://github.com/MirServer/mir/blob/829104320046445060f9a4d8e0eb65120e0a4121/src/platform/graphics/linux_dmabuf.cpp#L512
    7. https://github.com/MirServer/mir/blob/829104320046445060f9a4d8e0eb65120e0a4121/src/platform/graphics/linux_dmabuf.cpp#L514
  4. "dummy" as in "a placeholder platform" is public API, not trivial to change:
    1. https://github.com/MirServer/mir/blob/7096f877888496f2eb6144743a511c866b38e460/include/platform/mir/input/platform.h#L48
    2. https://github.com/MirServer/mir/blob/7096f877888496f2eb6144743a511c866b38e460/include/platform/mir/graphics/platform.h#L106
    3. multiple uses in comments and variable names would follow
  5. "graphics-dummy.so" platform - can be replaced with "sample" (?)
    1. tests/mir_test_framework/platform_graphics_dummy.cpp
    2. multiple uses in tests
  6. "dummy event" in lttng - unsure yet
    1. https://github.com/MirServer/mir/blob/7096f877888496f2eb6144743a511c866b38e460/src/server/report/lttng/lttng_utils.h#L31-L35
    2. https://github.com/MirServer/mir/blob/7096f877888496f2eb6144743a511c866b38e460/src/server/report/lttng/lttng_utils.h#L44-L46
  7. "dummy" in tests/ and examples/ - easy to replace (too many to list)
  8. "dummy" elsewhere, easily replaced
    1. https://github.com/MirServer/mir/blob/829104320046445060f9a4d8e0eb65120e0a4121/guides/cppguide.xml#L538
    2. debian/tests/PrintExcludedTests.cmake
    3. multiple variable names
    4. https://github.com/MirServer/mir/blob/7096f877888496f2eb6144743a511c866b38e460/src/platforms/eglstream-kms/server/egl_output.cpp#L42-L46
  9. changelog - should it be touched?
    1. "dummy" referring to current use https://github.com/MirServer/mir/blob/829104320046445060f9a4d8e0eb65120e0a4121/debian/changelog#L2323
    2. "Sanity" external term https://github.com/MirServer/mir/blob/829104320046445060f9a4d8e0eb65120e0a4121/debian/changelog#L2437
    3. "dummy" as commentary https://github.com/MirServer/mir/blob/829104320046445060f9a4d8e0eb65120e0a4121/debian/changelog#L4207
Saviq commented 2 years ago

So AFAICT the only difficult thing would be mir::PlatformPriority::dummy, and potentially graphics-dummy.so.

I believe changing the lttng names would only affect anything using them, so should be fine as well.

AlanGriffiths commented 2 years ago

2. "DMZ" is the cursor theme, we could switch to the Ubuntu Yaru theme instead

How well would that work on other distros?

3. "sanity" in the context of a sanity check, easily replaced with "coherence"

That doesn't sound idiomatic. But I went looking for good alternatives and came across this list of alternatives:

And this comment:

"Sheesh. This is truly ridiculous. Health is a positive, and so is sanity. Anyone offended by use of the word sanity should ... (no, I didn't say have their head examined)."

I'll also offer "basic checks", but non of the alternatives sound right to me.

So AFAICT the only difficult thing would be mir::PlatformPriority::dummy, and potentially graphics-dummy.so.

I think stub would work here (with, possibly, [[deprecated]] dummy = stub, for source compatibility - but ABI won't care about the name used in source).