Skip to content
Go

A Revolução na Governança Go: Votação Ponderada da Comunidade por Emojis para Propostas

Published: Duration: 7:53
0:00 0:00

Transcript

Apresentadora: E aí, pessoal, bem-vindos de volta ao Allur! Eu sou a Juliana Santos e hoje a gente vai falar sobre algo que, à primeira vista, pode parecer até um pouco engraçado, mas que é um assunto seríssimo para o futuro de uma das linguagens mais queridas do mundo: o Go. Sabe aquele papo de "governança"? Pois é, o ecossistema Go está crescendo tanto que o jeito antigo de decidir o que entra ou não na linguagem começou a dar sinais de cansaço. O backlog de propostas está subindo cerca de 23% ao ano! Ou seja, tem muita ideia boa ficando mofando na gaveta por falta de um processo ágil. E a solução que a equipe do Go propôs é, no mínimo, curiosa: votação ponderada da comunidade usando emojis. Sim, você não ouviu errado! Hoje a gente vai entender se isso é uma revolução democrática ou se vai virar uma bagunça de figurinhas. Vamos mergulhar nessa discussão do GitHub que está dando o que falar. Apresentadora: E para me ajudar a desbravar esse novo mundo dos emojis e da governança, eu trouxe um cara que respira Go no dia a dia. Ele é Engenheiro de Software Sênior, contribuidor de projetos open source e um Gopher de carteirinha. Seja muito bem-vindo ao Allur, Rafael Medeiros! Rafa, que prazer ter você aqui, cara. Convidado: Valeu, Juliana! O prazer é todo meu. É massa demais estar aqui no Allur. Esse assunto da governança do Go é algo que a gente que tá na comunidade sente na pele, né? Ver aquela proposta legal que você curtiu parada lá há dois anos dá uma agonia, então falar disso hoje é muito oportuno. Apresentadora: Pois é, Rafa! Eu vi esse dado de 23% de crescimento no backlog e fiquei assustada. Tipo assim, o Go virou uma vítima do próprio sucesso? Por que está tão difícil gerenciar essas propostas agora? Convidado: Cara, é exatamente isso. O Go amadureceu muito. No começo, era um grupo menor, decisões eram tomadas de forma mais centralizada e funcionava. Mas hoje, o Go tá em todo lugar, de infraestrutura de nuvem até microserviços gigantes. O volume de gente querendo sugerir melhoria é absurdo. E o processo atual do Google, da equipe core, é muito criterioso. Eles prezam demais pela simplicidade e retrocompatibilidade, o que é ótimo, mas o fluxo de triagem não acompanhou a velocidade da comunidade. Aí gera aquele "limbo", sabe? A proposta entra, ninguém nega, mas ninguém aprova, e ela fica lá pegando poeira digital. Apresentadora: Entendi. E aí entra essa proposta nova, que foi detalhada lá no GitHub. Eles estão falando de uma "reforma estrutural". Explica pra gente como funciona essa história de triagem transparente. Convidado: Então, a ideia é dividir o jogo em duas partes. Primeiro, a equipe core do Go faz um "filtro grosso", uma triagem inicial. Eles vão olhar e falar: "Isso aqui faz sentido com a visão da linguagem? É viável?". Isso evita que a comunidade perca tempo discutindo coisas que, tecnicamente, já nasceram mortas ou que duplicam algo que já existe. Se passar por esse filtro, aí a proposta ganha o selo de "pronta para avaliação da comunidade". É aí que a mágica — ou a polêmica, né? — começa. Apresentadora: Que é o sistema de emojis! Rafa, quando eu li "votação por emojis", eu imaginei um grupo de WhatsApp de família, sabe? (risos). Como que isso funciona de forma técnica e ponderada? Não é só sair clicando em qualquer um? Convidado: (Risos) Pois é, parece estranho, mas tem uma lógica por trás. Eles querem usar as reações do GitHub, mas de um jeito que dê peso ao sentimento do desenvolvedor. Por exemplo, o 👍 (joinha) é um apoio geral. Mas o ❤️ (coração) indica um entusiasmo forte, tipo "eu realmente preciso disso no meu dia a dia". E o 🚀 (foguetinho) é pra sinalizar urgência, que aquela funcionalidade ia acelerar muito o desenvolvimento. A equipe do Go vai usar esses dados pra priorizar o que eles vão analisar primeiro. Não é que o emoji decide se a feature entra ou não — quem decide ainda é o comitê técnico — mas o emoji decide a fila, entende? O que tiver mais "foguetinho" e "coração" sobe pro topo da pilha de análise. Apresentadora: Ah, entendi! Então é tipo um termômetro de prioridade, não um sistema de democracia direta onde a maioria simples ganha. Mas vem cá, você não acha que isso pode gerar um certo "concurso de popularidade"? Tipo, uma feature que é super importante pra quem faz sistemas de baixíssimo nível, mas que pouca gente entende, pode acabar perdendo pra uma feature mais "modinha"? Convidado: Esse é o grande desafio, Juliana. Você tocou na ferida. Existe sim o risco de features complexas e fundamentais serem "atropeladas" por coisas mais superficiais que o pessoal gosta de clicar. Mas é por isso que a triagem inicial da equipe core é tão importante. Eles garantem que tudo que está ali tem valor técnico. E outra, o pessoal que usa Go costuma ser bem pragmático. A gente não vê muito "hype por hype" na nossa bolha. Mas, com certeza, vai ser um experimento social interessante. A equipe do Go deixou claro que esse sistema é ponderado, então eles também vão olhar *quem* está votando, se são mantenedores de bibliotecas grandes, por exemplo. Apresentadora: Massa! E você já viu alguma proposta que se encaixaria bem nesse novo modelo? Alguma coisa que você deu aquele "foguetinho" mental? Convidado: Pô, com certeza! Tem várias discussões sobre melhorias no sistema de iteradores que saíram agora no Go 1.23. Tinha muita gente querendo mais funções auxiliares na biblioteca padrão. Se esse sistema de emojis já existisse há um ano, a gente teria visto de forma muito clara o tamanho do desejo da comunidade por isso, e talvez o processo tivesse sido menos arrastado. Outra coisa são melhorias em performance de rede. Às vezes o pessoal propõe uns ajustes finos no pacote `net/http` que são vitais pra quem roda em escala, mas que ficam lá esquecidos. Com o 🚀 da comunidade, a equipe core saberia: "Opa, as Big Techs estão precisando disso pra ontem!". Apresentadora: É legal ver como a equipe de uma linguagem tão "séria" como o Go está tentando ser mais humana na comunicação, né? Usar emoji parece algo pequeno, mas aproxima muito o desenvolvedor que está lá na ponta, escrevendo código, de quem está desenhando a linguagem. Convidado: Total! O Go sempre teve essa fama de ser meio "opinativo demais" ou até fechado às vezes. Essa mudança sinaliza uma abertura: "Ei, a gente quer ouvir vocês, mas a gente precisa de um jeito organizado pra fazer isso". Eu acho que democratiza sem perder o controle de qualidade. Se funcionar, cara, eu não me surpreenderia se outros projetos grandes, tipo o Rust ou até o ecossistema JavaScript, começassem a olhar pra esse modelo de triagem visual. Apresentadora: Verdade! E pro desenvolvedor que está ouvindo a gente agora e quer participar, qual o conselho? É só chegar lá no GitHub e começar a reagir? Convidado: Basicamente sim, mas com responsabilidade, né? (risos). O legal é ler a proposta, entender o impacto e aí sim usar o emoji que melhor representa. E fiquem de olho na discussão 80580 no repositório do Go. É lá que o pau está quebrando de forma civilizada sobre como essas regras vão ser implementadas. Participar disso é fazer parte da história da linguagem. Apresentadora: Incrível, Rafa! Eu adorei entender que por trás de um simples emoji tem toda uma estratégia de gestão de backlog e priorização técnica. Acho que o Go está dando um passo bem moderno pra resolver um problema que é comum em qualquer projeto que cresce demais: como manter a essência enquanto escala a colaboração. Convidado: Valeu, Juliana! Foi um prazer. Vamos ficar de olho nos próximos capítulos e, claro, com o dedo pronto no 👍! Apresentadora: Com certeza! E para você que acompanhou a gente até aqui, o que acha dessa ideia? Emoji no GitHub resolve ou complica? Se quiser saber mais, dá uma olhada no link da discussão oficial que a gente deixou aqui na descrição do episódio. Valeu por sintonizar o Allur, eu sou a Juliana Santos e a gente se encontra no próximo episódio. Tchau!

Tags

Go Golang governance software engineering open-source community