Removendo o termo Master de seu projeto no GitHub
Devido à onda de protestos nos EUA e em todo mundo contra o racismo, muitas pessoas passaram a se perguntar onde e como ele se manifesta em suas vidas.
A resposta pra isso é simples: em todo lugar. E em nossos projetos digitais não seria diferente.
O Git, um dos sistemas de controle de versão mais populares do mundo, utiliza como padrão o termo master para identificar a versão principal do projeto. Este termo vem de uma metáfora extremamente opressiva: Master-Slave, que significa Mestre-Escravo.
Existem diversas razões para abolir o uso dessa metáfora de nossos projetos digitais e, em 2018, a Internet Engineering Task Force (IETF) lançou um documento que fala sobre os males de terminologias opressoras em projetos digitais, por que elas não devem ser utilizadas e sugere termos para substituir essas terminologias.
Além disso, muitas comunidades e empresas vêm abolindo o uso de termos racistas como Master, Slave, Blacklist e Whitelist de seus projetos e os substituindo por termos não opressores e de igual entendimento: Primary, Secondary, DenyList e AllowList. 👏 🎉
Um pequeno gesto que está em nossas mãos é remover o termo master de nossos projetos no GitHub, dessa forma, além de demonstrar apoio, você influencia outras pessoas a seguirem o mesmo caminho.
Como fazer isso?
Embora a master seja a branch principal de seu projeto, renomeá-la não é complicado. Mas lembre-se: sincronize essa ação com colegas de trabalho. Esta branch é utilizada por todos as pessoas participantes do projeto e alterar seu nome sem um aviso prévio pode (e vai) causar problemas.
Avisou pra todo mundo? Todo mundo de acordo? Então vamos:
Escolha um novo nome
Existem várias opções possíveis: default
, primary
, trunk
, etc. Eu gosto de main
pois, como citado por Scott Hanselman, utilizando este nome você ainda tem a vantagem de que este termo também começa com ma
, então a memória muscular de digitar ma
e apertar Tab
para auto-completar ainda funciona.
Crie uma nova branch
Faça isso a partir da master
e, depois, faça o push
para o repositório:
$ git branch --move master main
$ git push -u origin main
Modifique a branch padrão no GitHub
Fazendo isso, a tela inicial do repositório, todos os novos Pull Requests e qualquer outra ação que aponte para uma branch, serão apontados para a main
, a não ser que você especifique o contrário. Para fazer isso, vá até seu repositório no GitHub, em Settings → Branches. Na opção Default branch escolha main
e aperte Update.
Faça a modificação em serviços que dependem do nome da branch
Se você utiliza alguma regra ou action no GitHub, algum serviço de CI/CD, pipelines ou qualquer outro que dependa do nome da branch para funcionar, você deve modificar a branch para a qual o serviço aponta. Não é provável, mas fique de olho em qualquer problema que possa aparecer após a mudança.
Peça a todos para sincronizar
Todas as pessoas trabalhando no repositório terão que aplicar as modificações em sua cópia local. Para criar uma nova branch referenciando a nova main basta rodar $ git branch -u origin/main
.
Apague a branch master
Se estiver trabalhando com várias pessoas, não tenha pressa para fazer isso. Sincronize com todo mundo e quando estiver pronto para apagar a master
, utilize $ git branch -D master
se quiser apagá-la apenas localmente. Para apagar a branch remota, você pode fazer pela interface do GitHub ou utilizar $ git push origin --delete master
.
E é isso, a partir de agora seu repositório possui uma branch principal que não faz referência e nem normaliza a estrutura social de um período sombrio de nossa história.
Não pare por aí
Há muito mais a ser feito e isto não é algo que tenha fim. Estamos inseridos em uma sociedade opressora e, mesmo sem perceber, utilizamos termos e expressões que normalizam e reforçam essa condição.
É necessário prestar atenção constante nos termos utilizados em nossos projetos. No documento proposto pela IETF, há um sumário de recomendações que ajudam a não utilizar termos opressores, entre elas:
- Reflita antes de usar metáforas;
- Use gênero neutro;
- Leve isso em consideração em processos de revisão.
E é assim, através de pequenas ações, que podemos fazer nossa parte na construção de um mundo (real e digital) melhor e mais inclusivo para todas as pessoas.
Não são somente palavras
Ao refletir sobre os termos usados em nossos projetos, aprendemos sobre a origem dessas expressões e os impactos que elas causam nas pessoas e na sociedade. Apenas parar de usá-las não é suficiente: devemos agir de maneira a não propagar essas opressões.
Para nos ajudar a trilhar esse caminho, estamos usando o Pequeno Manual Antirracista, de Djamila Ribeiro, como tema de debate para o nosso próximo clube de leitura aqui na Guava. Leia você também!