El mundo de la programación está lleno de términos extraños. Tienes backend, etiquetas, frameworks y muchos más. Sin embargo, aunque algunas palabras y frases pueden sonar extrañas hasta que te acostumbras a ellas, generalmente no son ofensivas.
Existen algunas excepciones raras, sin embargo, como el uso frecuente de master y slave. Casi no hace falta decir que esos son dos términos potencialmente problemáticos, debido a sus connotaciones históricas. Sin embargo, aún son ampliamente utilizados en círculos de desarrolladores y varios lenguajes de programación. De hecho, su uso está tan integrado que la mayoría de las personas nunca se han detenido a pensar en los términos.
Hoy, vamos a hablar más sobre estos dos términos problemáticos de codificación. Discutiremos la controversia sobre su uso, introduciremos el debate sobre la posibilidad de reemplazarlos y explicaremos qué están haciendo algunos equipos de código abierto para abordar el problema. ¡Hablemos de terminología!
La Existencia de Términos Problemáticos en la Codificación de Código Abierto
Como mencionamos anteriormente, hay mucha controversia con respecto al uso de los términos master y slave dentro de la comunidad de código abierto. Usualmente, estos términos se refieren a un modelo de comunicaciones donde un elemento tiene control total sobre un segundo.
Por ejemplo, puedes tener bases de datos maestras y esclavas, siendo la maestra la principal.
Si no eres parte de la comunidad tecnológica, esto podría parecer un poco extraño. Todos conocemos el significado de ambas palabras, así como su contexto histórico. Sin embargo, estos términos han estado presentes durante mucho tiempo, y la mayoría de las personas que los usan nunca los cuestionan ni les dan mucha importancia.
Al mismo tiempo, desde hace un tiempo algunas personas han señalado que su uso podría ser problemático. Podemos encontrar referencias desde 2004 hasta la controversia alrededor de este problema. Durante ese año, la Iniciativa del Monitor Global de Lenguaje seleccionó el acoplamiento maestro/esclavo como el ejemplo más flagrante de terminología políticamente incorrecta. Desde entonces, ha habido mucha discusión dentro de los proyectos de código abierto sobre la posibilidad de reemplazar ambas palabras. Sin embargo, se han hecho muchos argumentos interesantes al respecto
Para ser honesto, todo este asunto podría sonar exagerado si no has pasado la última década, lo cual vale la pena considerar.
Por qué hay controversia sobre los términos Master y Slave
Cuando los términos master y slave se utilizan en la comunidad de código abierto, no se refieren a personas. Si ese fuera el caso, podríamos concluir esta discusión rápidamente, ya que casi todos estarían de acuerdo en que necesitaríamos encontrar una terminología menos ofensiva.
En cambio, esos términos se utilizan para referirse a elementos como bases de datos, unidades de disco y más. Esto nos lleva a las razones por las cuales algunas personas están en contra de reemplazar los términos maestro y esclavo, lo que podemos resumir en un par de puntos:
- Ambos términos han estado en uso desde hace tiempo, por lo que no tiene sentido reemplazarlos.
- En el mundo tecnológico, las palabras no se utilizan en un contexto ofensivo.
Para algunas personas, master y slave son solo palabras, y la idea de que deberíamos desalentar su uso dentro de la codificación parece una pérdida de tiempo. Desde un punto de vista práctico, es difícil argumentar en contra de esos puntos. Sin embargo, si vamos a ser prácticos, entonces también vale la pena señalar que reemplazar esos términos no afectaría a los proyectos en términos de funcionalidad.
Además, el argumento de que deberíamos seguir usando las mismas palabras porque siempre lo hemos hecho no es particularmente persuasivo. Como sociedad, se ha vuelto normal para nosotros desalentar el uso de terminología ofensiva, incluso si ese cambio lleva tiempo. Sería un asunto simple elegir palabras de reemplazo que estén mucho menos cargadas y comenzar a usarlas en su lugar.
Eso nos lleva al núcleo del debate, que es si una palabra por sí misma puede ser ofensiva independientemente del contexto. Algunas personas argumentarían que cambiar los términos master y slave establece un mal precedente, ya que siempre habrá palabras que otros encuentren ofensivas. Dejando de lado los debates sobre la pendiente resbaladiza, sin embargo, es difícil argumentar contra el hecho de que estos dos términos, en particular, tienen connotaciones claramente negativas.
En definitiva, es importante considerar que, aunque estas palabras no te afecten personalmente, pueden tener mucho impacto en otras personas y la forma en que piensan. La comunidad de código abierto se construye en torno a la colaboración, así que si podemos mejorar el ambiente y hacerlo más amigable para todos reemplazando un par de palabras, entonces podría tener sentido hacerlo.
Cómo los proyectos de código abierto están desalentando el uso de términos de codificación problemáticos
El debate en torno a los términos maestro y esclavo ha estado presente durante tanto tiempo que varias compañías ya han tomado medidas para abordarlo. IBM y Microsoft, por ejemplo, utilizan las palabras primario y réplica cuando se refieren a bases de datos dentro de su documentación.
En cuanto a los proyectos de código abierto, Python, Drupal y Django ya han eliminado completamente los términos de su documentación. Python siguió el mismo camino que Microsoft e IBM, usando primario y réplica. Django, por otro lado, optó por implementar los términos líder y seguidor.
Esos son solo los ejemplos más destacados que pudimos encontrar. También hay muchos proyectos más pequeños que han tomado medidas para abordar la controversia. Además, el hecho de que varios actores importantes en el mundo tecnológico estén de acuerdo en que el uso de estos términos es algo que debe tomarse en serio envía una señal clara de que otros probablemente harán lo mismo.
Al final, si se deben reemplazar los términos master y slave es una decisión personal para cada desarrollador. Si eres parte de un proyecto de código abierto, puede ser más difícil alcanzar un consenso. Sin embargo, podría ser lo mejor que avancemos hacia la sustitución de estos términos dentro de los círculos de desarrolladores. Después de todo, el espíritu de código abierto es uno de accesibilidad para todos, lo cual es difícil de lograr cuando los términos de uso común pueden alejar a una parte de la comunidad potencial.
¿Crees que se deberían cambiar los términos problemáticos de programación?
Los términos master y slave son comunes en el ámbito de la computación. Para muchas personas, las palabras no tienen connotaciones negativas, ya que tienen significados muy específicos dentro del mundo de la TI. Sin embargo, es imposible negar su peso histórico. Con eso en mente, siempre habrá personas que encuentren problemático el uso casual de ambos términos dentro de la programación.
Aunque cambiar los términos que usamos en la programación puede parecer inconveniente, es tanto posible como relativamente simple. El hecho de que varios proyectos conocidos como Python y Drupal están tomando medidas para eliminar el uso de master y slave ya es un gran paso. Deshacerse de esos términos no solo es una buena estrategia de relaciones públicas, sino que también hace que la comunidad sea más amigable para aquellos que podrían encontrarlos personalmente ofensivos.
¿Crees que tiene sentido reemplazar términos problemáticos de codificación en el lenguaje del desarrollo de software? Comparte tus opiniones con nosotros en Facebook o Twitter.