¿Cómo pudo un término tan agresivo permanecer en el núcleo del sistema casi dos años?

En el código del núcleo Linux 6.19 eliminaron la función con un nombre polémico para poner la terminología del proyecto en consonancia con las recomendaciones vigentes sobre lenguaje inclusivo. De los fuentes desapareció la función d_genocide(), junto con la bandera relacionada DCACHE_GENOCIDE.
La función d_genocide() apareció en 2023 en el marco de mejoras de la subsistema dcache. Se encargaba de la destrucción forzada de la entrada de directorio indicada junto con todos los elementos hijos que podían bloquear el desmontaje correcto de algunos sistemas de archivos. El código funcionaba solo a nivel de fuentes y nunca se mostraba directamente a los usuarios.
El autor de los cambios fue el desarrollador del núcleo Linux Al Viro. Cuando hace unos años le preguntaron por la elección de un nombre tan contundente, explicó que la operación de destrucción completa de un árbol de directorios inevitablemente se asocia con conceptos «desagradables» y que era difícil encontrar un término neutral. No obstante, la función con ese nombre permaneció en la base de código durante aproximadamente dos años.
Ahora se prescindió de ella durante la reestructuración del tramo correspondiente del núcleo. La lógica se trasladó a la función actualizada kill_litter_super(), por lo que la implementación separada d_genocide() ya no es necesaria. El iniciador de los cambios volvió a ser el propio Al Viro, de modo que se trata de una modificación interna de la arquitectura, no de una presión externa.
En los últimos años el proyecto del núcleo Linux ya ha revisado varios términos, sustituyendo expresiones como «blacklist» y «slave» por alternativas más neutrales. La particularidad del caso de d_genocide() es que esa función se añadió después de que se hubiera señalado la intención de usar un lenguaje inclusivo.
No está claro si fue una especie de protesta contra los nuevos enfoques o simplemente el resultado del deseo de subrayar el carácter destructivo de la operación. Al final, los desarrolladores llevaron también este fragmento de código a una mayor conformidad con los principios declarados, renunciando tanto al nombre polémico como a la necesidad de una función separada.