Termo “master” na tecnologia: por que parar de usar?

Neste artigo você vai ver:

Criar e consolidar práticas de diversidade e inclusão tem sido uma pauta cada vez mais comum no dia a dia das empresas, principalmente as de tecnologia. Para além da importância da representatividade, várias pesquisas – como um estudo de 2018 da McKinsey – mostram que adotar iniciativas inclusivas aumenta em 35% a produtividade, mostrando-se uma mudança também estratégica. E a remoção do termo “master” na tecnologia tem tudo a ver com isso.

Uma das mudanças recentes e que levantou discussões sobre o assunto foi a modificação em algumas nomenclaturas adotadas por grandes empresas, como Github e Gitlab. É o caso da troca da branch principal de “master” para “main”, o que reacendeu o debate sobre a origem de termos que usamos normalmente no nosso dia a dia.

Tem curiosidade de entender o porquê dessa mudança? Então continue lendo!

Por que Master e Slave?

Em tecnologia, seja em softwares ou hardwares, o uso de “Master” e de “Slave”, mestre e escravo em tradução para o português, sempre foi bem comum. Isso é tão enraizado que temos até um artigo na Wikipédia sobre a relação entre Master e Slave na tecnologia. 

Inclusive, segundo um artigo do professor na University of Michigan, Ron Eglash, de 2007 (em inglês), um dos primeiros usos da analogia Master e Slave em textos sobre tecnologia data de 1904!

Em linhas gerais, o que é designado master é o principal ou fonte primária, ou seja, quem controla. Enquanto que o que é chamado de slave é o secundário, ou seja, o que sofre os impactos das decisões e padrões impostos pelo principal.

Para nós, brasileiros, a importância de evitar o termo master não é tão clara, pois quando pensamos em “mestre” quase nunca associamos à escravidão. Mas a coisa é diferente para os nativos de língua inglesa.

Esse movimento de análise da origem dos termos já acontece há anos, e foi intensificado pelo movimento Black Lives Matters nos EUA.

Por isso, com o objetivo de tornar a área de tecnologia mais diversa e inclusiva, muitas tecnologias estão abolindo o uso dos termos master e slave. Mas será que isso funciona? É o que vamos ver a seguir.

De onde vem a polêmica com o termo master?

Há várias opiniões a favor e contra essa mudança para evitar usar master e slave

Por exemplo, o Git se originou do suporte ao desenvolvimento do Kernel do Linux (que ainda usa as palavras master e slave). Linus Torvalds, desenvolvedor chefe do Linux Kernel, criou o Git como uma alternativa ao software BitKeeper, que usava a mesma terminologia.

Porém, o termo slave nunca foi muito popular nos projetos Git, assim como em outros usos dentro de tecnologia variam em relação a usar ou não o termo.  

Por um lado, muitos debatem que, se não há a relação direta master/slave, então a mudança não seria necessária e, com isso, bastaria continuar não adotando “slave”. Essa mudança chega, às vezes, até a ser classificada como “performative activism“, ou “ativismo performativo” em português, um termo pejorativo que significa que a ação é mais para “aparecer”.

Já para outros, o uso de master e slave de forma tão enraizada na tecnologia (como mostramos anteriormente no texto) expõe justamente como o racismo estrutural pode ser encontrado também na Ciência da Computação.

Segundo Karla Monterroso, CEO da Code 2040, uma organização sem fins lucrativos dedicada à igualdade racial e inclusão na tecnologia, muitos participantes dos programas da ONG relatam que essa terminologia faz com que essas pessoas se sintam desconfortáveis

Alternativas adotadas por diferentes tecnologias

Por mais que esse movimento esteja acontecendo em outras instâncias de tecnologia, cada um tem adotado soluções diferentes. Por exemplo:

Para se ter ideia de como essa discussão não é nova, a linguagem de programação Django e o CMS open source Drupal já mudaram seus padrões em 2014. Enquanto Django adotou master and slave to leader and follower, o Drupal escolheu primary e replica.

 Desde 2018 o Python sugere que “slaves” seja mudado para “workers” ou “helpers” e “master process” para “parent process.”

Já o World Wide Web Consortium (W3C) atualizou seu guia de estilo em 2020 encorajando o uso de terminologias mais inclusivas. Sugerindo, por exemplo, que master passe a ser chamado de main e slave de replica.

Enquanto isso, no MySQL, master passou a ser “source” e slave virou “replica”. 

E não para em master/slave. Em inglês, temos vários termos de origem racista que estão sendo substituídos aos poucos como, por exemplo, blacklist/whitelist para blocklist ou simplesmente allow/deny.

As mudanças no Git e como isso impactou GitHub e Gitlab

No ecossistema Git, atualmente, o termo “master” foi substituído para “main”, ou “principal” em português. É um movimento em todo o ecossistema Git, inclusive você pode ler o statement no Software Freedom Conservancy de junho de 2020 sobre o assunto.

Quando o criador do Git, Petr Baudis, escolheu o termo master em 2005, ele estava seguindo o padrão que tinha no desenvolvimento Linux. Na época, Baudis era apenas um estudante de 20 anos da República Tcheca, ou seja, inglês não era a sua língua materna e isso pode ter contribuído para a escolha.

Essa mudança do termo master para main já está refletindo nas plataformas Git mais adotadas no mercado, como GitHub e GitLab.

Termo master no GitHub

No GitHub a mudança para novos repositórios começou em outubro de 2020. Confira aqui o que a plataforma já fez nesse sentido, inclusive sobre como renomear as branches antigas.

Segundo o GitHub, “main” tem sido um bom substituto através da plataforma, já que é curto e funciona bem na maioria das linguagens.

Inclusive, o artigo “Gerenciar o nome de branch-padrão para repositórios na sua organização” da documentação do GitHub pode ser muito útil.

Termo master no GitLab

Já no GitLab, os preparativos para a mudança no padrão de branch principal começaram em março de 2021. Efetivamente, depois de junho de 2021, com a release 14.0, o padrão passou a ser “main”.

Como fazemos no time Open Source da Zup

Aqui na Zup, nós também acreditamos totalmente na diversidade e na utilização de termos que sejam inclusivos, atuando diretamente na construção de um ambiente com mais equidade, e temos ciência de quão isso é importante, principalmente para a riqueza da comunidade científica e tecnológica brasileira, mas também mundial. E é em função disso que todos os nossos projetos open source já seguem esse padrão de nomenclatura tanto no código, quanto na documentação, confira:

  • O Charles CD, uma ferramenta open source que realiza deploys de forma ágil, contínua e segura, permite que as equipes façam validações simultâneas de diferentes hipóteses com grupos específicos de usuários.
  • Já o RitchieCLI é uma ferramenta open source que permite criar, armazenar e compartilhar automações de forma segura. Também otimiza comandos repetitivos para você ter mais autonomia programando.
  • O Beagle Framework, que é um framework open source cross-platform pautado em Server Driven UI, permite às equipes fazerem alterações em aplicações nativas mobile ou web a partir apenas da alteração do código direto no back-end.
  • Enquanto isso, o Horusec é uma estrutura de código aberto que potencializa a identificação de vulnerabilidades em seu projeto com apenas um comando.

Ritchie CLI para renomear branches

Se você quiser fazer essa operação de renomear as branches de projetos já existentes de forma mais ágil, um aliado nessa missão é o Ritchie CLI, projeto open source mantido pela Zup.

O Ritchie CLI é uma ferramenta que permite criar, armazenar e compartilhar automações de forma segura. Também otimiza comandos repetitivos para você ter mais autonomia programando.

Por exemplo, para usar o Ritchie CLI para renomear as branches dos seus projetos no GitHub já temos duas contribuições. 

Respeito à diversidade e inclusão na tecnologia: um compromisso

O debate em torno de evitar usar termos como master ou blacklist na tecnologia não é novidade e muito menos vai parar por aqui.

O importante é saber que as tecnologias e ferramentas que usamos no dia a dia estão atentas a isso e que mais mudanças podem vir por aí. 

Ações que busquem tornar a tecnologia mais inclusiva sempre são bem-vindas, e é importante buscar recepcionar bem todas as pessoas. Afinal, só conseguiremos criar soluções realmente inovadoras quando tivermos times mais diversos, sustentados por um ambiente que preze pela equidade na utilização dos termos. 

E você, o que acha dessas mudanças? Conta para a gente nos comentários!

Referências

Capa do artigo sobre o uso do termo master na tecnologia com um código meramente ilustrativo.
Juliana Sampaio
Conteúdo
Jornalista especialista em Marketing Digital com anos de experiência em empresas de tecnologia. Board Advisor da Girls in Tech Brasil.

Artigos relacionados

Capa do artigo em foto com duas pessoas escrevendo códigos em frente a dois notebooks.
Back-End
Postado em:

Este site utiliza cookies para proporcionar uma experiência de navegação melhor. Consulte nossa Política de Privacidade.