NixOS fica sem equipe dedicada à governança do Nixpkgs

NixOS fica sem equipe dedicada à governança do Nixpkgs

O Nixpkgs acaba de perder uma de suas principais estruturas de governança. Criado há cerca de dez meses com a proposta de organizar decisões e resolver conflitos relacionados ao enorme repositório de pacotes do NixOS, o Core Team foi oficialmente dissolvido pelos próprios integrantes. A decisão foi atribuída a uma combinação de burnout, dificuldade para atrair novos membros e problemas persistentes na relação com a estrutura de governança do projeto.

A notícia pode parecer mais grave do que realmente é para quem usa NixOS, mas existe uma distinção importante: o Nixpkgs não acabou, e seu desenvolvimento continua normalmente. O que desapareceu foi uma camada responsável por determinadas decisões e escaladas dentro do projeto.

Uma função que ficou maior do que parecia

Quando o Core Team foi criado, a ideia era estabelecer uma função relativamente leve, que pudesse coexistir com o trabalho técnico dos participantes. Entretanto, segundo o anúncio de dissolução, a responsabilidade acabou exigindo muito mais tempo e energia do que o esperado.

Com o passar dos meses, alguns integrantes deixaram a equipe e as tentativas de recompor o grupo não deram resultado suficiente. Uma chamada recente por novos participantes recebeu apenas uma candidatura, enquanto contatos individuais produziram respostas variadas.

Para os membros restantes, ficou difícil imaginar uma composição suficientemente grande para distribuir a carga de trabalho de maneira saudável. A decisão de sair, portanto, não veio apenas de uma dificuldade pontual. O grupo afirma que chegou à conclusão de que continuar daquela maneira era insustentável para a saúde dos envolvidos.

O problema de governança

O burnout, entretanto, é apenas uma parte da história. Um trecho significativo do anúncio trata da relação entre o Core Team e o NixOS Steering Committee, órgão responsável pela governança em nível mais amplo.

Na avaliação dos integrantes que deixaram o Core Team, o Steering Committee não estaria conseguindo lidar adequadamente com a delegação de responsabilidades prevista pela constituição do projeto.

Segundo eles, isso produziu uma situação desconfortável: em determinadas ocasiões, havia interferência em assuntos que deveriam estar delegados ao Core Team, enquanto, em outras, faltava uma atuação suficientemente coordenada para resolver questões que permaneciam no nível mais alto da governança.

O resultado foi uma combinação particularmente ruim para uma equipe voluntária: dúvidas sobre autonomia, comunicação pouco clara e incerteza sobre quais decisões realmente pertenciam ao grupo.

Os ex-integrantes afirmam ainda que tentaram discutir esses problemas repetidamente e que não consideram a situação consequência de um único conflito ou de uma pessoa específica. Na visão apresentada no anúncio, trata-se de uma dificuldade estrutural.

Consenso contra maioria

Existe também uma diferença de filosofia entre os dois grupos. O Core Team afirma ter adotado uma abordagem baseada em consenso para lidar com decisões controversas. Segundo os integrantes, esse método funcionava particularmente bem para questões sensíveis porque permitia discutir os diferentes lados de um problema antes de chegar a uma conclusão.

O Steering Committee, por outro lado, utiliza predominantemente decisões por maioria. Nenhum dos modelos é necessariamente inadequado. O problema aparece quando pessoas com responsabilidades diferentes precisam trabalhar juntas e não existe clareza suficiente sobre como uma decisão deve sair de uma estrutura para outra.

Em projetos comunitários, isso pode ser especialmente complicado. Uma decisão tecnicamente simples pode envolver questões de confiança, histórico de conflitos e diferentes interpretações das regras de governança. E quanto mais essas disputas recaem sobre poucas pessoas, maior fica o risco de esgotamento.

A acusação de microgerenciamento foi contestada

A avaliação do Core Team, naturalmente, não é consensual dentro da liderança do NixOS.

John Ericson, integrante do Steering Committee, contestou publicamente a caracterização de que o órgão estaria praticando microgerenciamento. Segundo ele, o Core Team teria aparecido muito pouco na agenda do Steering Committee e a postura adotada teria sido justamente a de delegar responsabilidades, e não interferir continuamente no trabalho do grupo.

Ericson chegou a classificar a acusação de microgerenciamento como objetivamente falsa.

A divergência é relevante porque mostra que o problema não é simplesmente identificar um culpado. Duas partes envolvidas na mesma estrutura de governança podem ter interpretações completamente diferentes sobre o grau de autonomia existente e sobre o que significa exercer uma função de supervisão.

E o Nixpkgs?

Para quem utiliza NixOS ou depende dos pacotes do Nixpkgs, a parte mais importante é justamente o que não aconteceu.

O Nixpkgs continua sendo desenvolvido por sua comunidade de colaboradores. A dissolução do Core Team não significa que o repositório deixou de receber atualizações ou que o ecossistema NixOS entrou em colapso. O que mudou é quem assume determinadas responsabilidades de governança.

Segundo o anúncio, as áreas que estavam sob responsabilidade direta do Core Team ficaram, neste momento, sem um proprietário específico. O Steering Committee permanece como instância final para essas questões.

Os dois integrantes restantes também pretendem reduzir seu envolvimento com o Nixpkgs e não planejam disputar a próxima eleição para o Steering Committee. Isso deixa uma pergunta em aberto: qual será a próxima tentativa?

O Nixpkgs é um projeto gigantesco, com milhares de colaboradores e uma quantidade enorme de decisões técnicas e comunitárias. Criar uma equipe responsável por uma parte desse processo parece razoável. O desafio é impedir que essa equipe se torne o ponto de concentração de problemas que ninguém mais sabe como resolver.

A próxima eleição do Steering Committee pode ser importante nesse sentido. Se o projeto conseguir reorganizar suas responsabilidades, esclarecer os limites entre as diferentes instâncias e distribuir melhor o trabalho, uma estrutura semelhante ao Core Team poderá eventualmente voltar.

Fique por dentro das principais novidades da semana sobre tecnologia e Linux: receba nossa newsletter!