Antes de mais nada, vale lembrar que projeto de código aberto refere-se a um programa que se distribui livremente – inclusive de maneira gratuita -, que pode ser usado e modificado pelos usuários sem nenhuma restrição. Dito isso, o primeiro passo para entender sobre código aberto é saber que eles geralmente operam de acordo com regras, costumes e processos que determinam quais colaboradores possuem autoridade para executar determinadas tarefas. 

Ao entender essas regras, é possível que as suas chances de contribuir positivamente para o sucesso de um projeto destes, sejam ainda maiores. 

Em projetos de software de código aberto, as regras e costumes são chamadas de “modelo de governança” e são elas que definem quem pode fazer o quê (e como deve ser feito).

Compreender o modelo de governança de um projeto pode ajudá-lo a fazer uma contribuição positiva e bem-sucedida para o mesmo. Aqui estão seis modelos de governança de código aberto: 

  • Do-ocracy 
  • Fundador-líder 
  • Conselho auto-nomeado ou conselho 
  • Eleitoral 
  • Apoiado por Empresas 
  • Apoiado pela Fundação 

É possível notar que alguns projetos apresentam diversos modelos de governança. Por exemplo, um projeto alojado em uma fundação pode ter um governo ou ser autogovernado como um “do-ocracy” (forma de trabalhar que considera que se você quer algo pronto, faça-o de forma excelente).

Do-ocracy

Os projetos de código aberto que seguem o modelo de governança do-ocracy tendem a ignorar as convenções de governança formais e elaboradas. Ao invés disso, eles insistem que aqueles que fazem o trabalho são aqueles que tomam as decisões. Em um do-ocracy, os integrantes que investem mais tempo, energia e atenção nos aspectos específicos do projeto são justamente os que mais têm autoridade e influência sobre as decisões nessas áreas do projeto. 

A revisão por pares é habitual neste modelo, porém, os colaboradores individuais tendem a reter o poder de decisão sobre os componentes do projeto nos quais trabalharam de perto. 

É por isso que alguns do-ocracies (quem coloca em prática este modelo de governança) irão alegar não ter governança alguma. Mas, para a maioria deles, este modo de governar está implícito nas interações diárias dos membros do projeto. Como consequência, a aproximação com eles pode acabar sendo difícil e intimidante para os recém-chegados, visto que eles talvez não saibam imediatamente como participar ou buscar aprovação para suas contribuições. 

Fundador-líder 

O modelo de governança fundador-líder é mais comum entre projetos novos ou aqueles com um número baixo de colaboradores. Nesses projetos, o indivíduo (ou grupo) que iniciou o planejamento também irá administrá-lo, assim como estabelecer sua visão e controlar as permissões para mesclar o código nele. 

Vale destacar que alguns projetos referem-se a seus líderes fundadores como “BDFL”, sigla em inglês que significa “Ditadores Benevolentes pela Vida”. Em projetos que seguem o modelo fundador-líder, as linhas de poder e autoridade geralmente são bem claras. Elas irradiam de líderes-fundadores, que são justamente aqueles que tomam a decisão final para questões do projeto.

À medida que um projeto atinge um determinado tamanho, as limitações deste modelo tornam-se aparentes. Os líderes fundadores podem acabar se tornando empecilhos para o trabalho de tomada de decisão do projeto. Em casos extremos, o modelo pode até dar origem a uma espécie de sistema de “casta”. Isso ocorre quando os não fundadores começam a sentir que são incapazes de efetuar aquelas mudanças que não estão de acordo com a visão de um fundador. 

Conselho auto-nomeado ou conselho 

Diferente dos anteriores, neste modelo, os membros de um projeto de código aberto podem indicar vários grupos de liderança para controlar inúmeros aspectos de um projeto. Esses grupos podem ser nomeados como “conselho comprometedor”, “comitê diretivo”, “comitê técnico operacional”, “conselho de arquitetura” ou “conselho de administração”. 

Os grupos citados acima mantêm suas próprias convenções de tomada de decisão e procedimentos de sucessão. É sempre bom lembrar que este modelo é útil nos casos em que um projeto não tem uma fundação patrocinadora e o estabelecimento de mecanismos eleitorais é excessivamente difícil.

Lembre-se que as desvantagens desse modelo podem se tornar aparentes, isso ocorre quando os casos em que os processos de seleção de membros geram culturas de liderança que se auto-reforçam. 

Portanto, esse modelo pode eventualmente impedir a participação da comunidade nas atividades de liderança, pois seus integrantes muitas vezes sentem que precisam esperar para serem escolhidos, antes mesmo de tomarem iniciativas no trabalho que interessa a eles. 

Eleitoral 

Conduzir a governança por meio de eleições é a opção de alguns projetos de código aberto. Eles podem realizar eleições formais, onde as pessoas votam em candidatos que irão preencher várias funções no projeto, ou até mesmo conduzir processos eleitorais semelhantes para legitimar ou atualizar as políticas e procedimentos do projeto. Conforme este modelo, as comunidades estabelecem e documentam os métodos eleitorais com os quais concordam, em seguida, são publicados como uma questão regular de tomada de decisão. 

Este modelo é mais comum em grandes projetos de código aberto, onde vários colaboradores qualificados e interessados se oferecem para desempenhar a mesma função. A governança eleitoral também tende a levar à documentação precisa das funções, procedimentos e diretrizes de participação eleitos no projeto. 

As eleições podem ter desvantagens quando se tornam controversas, distrativas e demoradas para os membros do projeto. Inclusive, as eleições não garantem necessariamente a troca de liderança, a menos que uma comunidade tenha limites de mandato codificados especificamente em sua documentação de governança.

Apoiado por Empresas 

As empresas que são individuais ou consórcios da indústria podem escolher distribuir software sob os termos de uma licença de código aberto, essa é uma forma de alcançar desenvolvedores e usuários em potencial (mesmo se eles não aceitarem contribuições para projetos desses públicos). 

Ao fazer isso, eles podem acelerar a adoção de seu trabalho, estimular a atividade de desenvolvimento em uma plataforma de software, oferecer suporte a um ecossistema de plug-ins ou então evitar a sobrecarga necessária para cultivar uma comunidade de desenvolvedores externa. 

Neste modelo, a organização governante não pode aceitar contribuições de ninguém de fora dela, nem mesmo exigir um contrato do contribuidor para aceitar um auxílio. É por isso que alguns comentaristas chamam este modelo de governança do “jardim murado”. 

Objeções surgem se um projeto alega apoiar uma comunidade aberta, porém, é totalmente controlado por uma empresa ou consórcio. Isso pode criar expectativas incompatíveis entre os adotantes. 

Apoiado pela Fundação 

No último modelo de governança, alguns projetos de código aberto não corporativos optam por serem gerenciados por uma associação comercial ou sem fins lucrativos. Isso garante que um único participante do projeto não exerça controle exclusivo dos principais recursos do projeto. 

Em alguns casos, a liderança da fundação e do projeto podem formar uma única estrutura de governança que irá gerenciar todos os aspectos do projeto de código aberto. Em outros casos, a fundação gerencia alguns assuntos, como marcas registradas e eventos. Já outras estruturas de governança, como aprovação de código ou gerenciamento do roteiro técnico, são gerenciadas pelos líderes do projeto.

Os requisitos legais e de financiamento geralmente limitam este modelo a projetos de código aberto maiores. Porém, alguns projetos menores preferem se juntar a fundações “guarda-chuva”, desta forma recebem alguns dos benefícios desse modelo de governança (em troca de uma taxa administrativa). 

É interessante destacar uma condição: esse modelo pode ser vantajoso para projetos que buscam estabelecer relações jurídicas com terceiros, como locais de conferências ou projetos que buscam garantir transições de liderança bem-sucedidas após a saída de indivíduos-chave. 

Começando

Ao analisar o modelo de governança de um projeto de código aberto, você acaba por demonstrar um compromisso em agir como um colaborador digno para esse projeto.

Tem interesse em saber mais sobre governança de projetos de código aberto? Leia nosso documento de instruções mais extenso.


Alexandro Castelli
Diretor de Produtos
Gostou? Compartilhe na sua rede social!