Linus Torvalds, principal engenheiro responsável pelo kernel do Linux, aprovou na última sexta-feira (10) uma nova terminologia para o código do sistema operacional e sua documentação. A partir de agora os desenvolvedores devem utilizar novos termos para a combinação master/slave (mestre/escravo) e blacklist/whitelist (lista negra/lista branca).

O kernel de um sistema operacional é o seu componente central, responsável por fazer a ponte entre os aplicativos que rodam no PC e o processamento de dados que se dá nos componentes de hardware – em linhas gerais, é o responsável por gerenciar a interação entre software e hardware.



Os termos master/slave geralmente são utilizados no hardware, arquitetura e códigos para se referir a um dispositivo, base de dados ou processo que controla outro. Já blacklist/whitelist serve para criar listas de exceção, de bloqueio ou permissão, respectivamente.

Foram propostas uma série de alternativas aos termos. O time do Linux não recomendou um termo específico, mas pediu para que os desenvolvedores escolhessem de acordo com o que fosse apropriado. A nova terminologia será utilizada para novos código-fontes escritos para o kernel do Linux e para a documentação associada.

Para master/slave foram:

  • primary/secondary
  • main/replica or subordinate
  • initiator/target
  • requester/responder
  • controller/device
  • host/worker or proxy
  • leader/follower
  • director/performer

Já para blacklist/whitelist são menos opções:

  • denylist/allowlist
  • blocklist/passlist

Os termos antigos só serão permitidos para manter códigos mais antigos e sua documentação ou “quando atualizar um código existente (até 2020) para um hardware uma especificação de protocolo que exija esses termos.”

A proposta para essa alteração foi realizada em 4 de julho por Dan Williams, um dos mantenedores do kernel do Linux. Linus Torvalds aprovou a proposta na última sexta-feira em um pull request, onde um desenvolvedor gera uma notificação que sinaliza a conclusão do desenvolvimento, para o repositório do Linux 5.8.

A alteração vem na esteira de iniciativas similares tomadas por uma série de plataformas após a morte de George Floyd e os protestos antirracistas nos Estados Unidos e ao redor do mundo. A discussão sobre esses termos são mais antigas: há mais de uma década desenvolvedores levantam problemas relacionados com o uso de uma linguagem retrógrada.

Os pioneiros foram Drupal e Django, que mudaram as expressões em 2014. O Python, por sua vez, retornou ao debate em 2018 e decidiu mudar o termo “slave” para “worker” (operário) ou “helper” (ajudante) e “master process” para “parent process” (processo primário).

Recentemente, o GitHub iniciou a mudança para termos neutros e trouxe consigo outras companhias, como aponta o ZDNet: Twitter, Microsoft, LinkedIn, Ansible, Splunk, Android, OpenSSL, MySQL, PHPUnit, Curl, OpenZFS, Rust, JP Morgan, entre outros. O site também indicou um estudo que argumenta que termos carregados de conotações raciais podem normalizar a presença de esteriótipos raciais.