Governança em software livre
Luiz em 30/09/2010No QCon, evento que ocorreu nos dias 11 e 12 desse mês, dei uma palestra no formato lightning talk sobre governança em software livre. Para quem se interessar, coloquei os slides no Scribd.
O formato lightning talk é bem interessante: a palestra é bem curta (5 minutos, no caso do QCon) e os slides passam automaticamente num tempo fixo. No caso do QCon, por exemplo, tínhamos que preparar 15 slides, e cada um desses slides deveria ficar exatamente 20 segundos, nem mais, nem menos, totalizando os 5 minutos da palestra. Isso dá um dinamismo maior para a palestra e força o palestrante a preparar slides com menos dados e, consequentemente, mais fáceis de entender. Por outro lado, 5 minutos é bem pouco para tratar de um tema a fundo, então a ideia da minha palestra era só dar uma breve introdução ao assunto e despertar a curiosidade das pessoas.
Agora, falando sobre a palestra: o que é governança? Basicamente, são o conjunto de medidas que um grupo de pessoas toma para se coordenar e, assim, tentar alcançar um objetivo comum. No caso do software livre, são as discussões, votações e tantos outros mecanismos que existem por aí que as comunidades criaram para tomar decisões a respeito do software que estão construindo, como decidir quem é responsável por determinada funcionalidade, como deve ser a interface do programa etc.
À primeira vista, quando se pensa em como essas decisões são tomadas nas comunidades de software livre, vem à cabeça a ideia de que todos colaboram na tomada de decisões, que é tudo 100% democrático. Tanto é que Eric Raymond escreveu um artigo bastante famoso no qual cria uma analogia para esse processo democrático do software livre: “The Cathedral and the Bazaar” (versão traduzida para o português). A ideia, basicamente, é que o desenvolvimento de software livre é como um bazar, ou feira, enquanto que o desenvolvimento de software tradicional é como a construção de uma catedral. No bazar, não há coordenação e as pessoas colaboram caoticamente e conseguem atingir seus objetivos. Na catedral, há um pequeno grupo de engenheiros que toma as decisões e coordena os que realmente constroem a catedral.
Entretanto, não é bem assim que as coisas funcionam no mundo do software livre. Diversos projetos, como o Debian, por exemplo, criaram naturalmente mecanismos formais de controle e de tomada de decisões. A própria comunidade criou para ela uma burocracia e uma hierarquia. A necessidade surge a partir do momento em que começam a haver conflitos e discussões intermináveis: é necessário alguém para por fim à discussão, para tomar a decisão final; uma autoridade. No caso do Debian, essa autoridade é o líder de projeto, mas há casos também em que um documento, com regras bem claras, é a autoridade. De qualquer forma, o que temos, em geral, nas comunidades de software livre é uma mistura de catedral e bazar. Mas a autoridade não é absoluta. A comunidade de software livre não gosta de autoritarismos. Quase sempre há mecanismos à disposição da comunidade para questionar e até mesmo derrubar a autoridade local.
Uma questão que surge aqui é: como alguém vira autoridade numa comunidade de software livre? Muito se fala em meritocracia para explicar isso: quem tem mais mérito vira líder naturalmente. Mas aí entra outra questão: o que é mérito para essas comunidades? Habildade de programação? Não no caso da comunidade Debian: nessa comunidade, uma análise das eleições dos primeiros anos dessa década mostra que os candidatos com mais contatos e que demonstravam maior habilidade de comunicação e representação política tiveram maior destaque.
Concluindo, a ideia aqui era mostrar rapidamente que nem tudo que se pensa a respeito das comunidades de software livre é verdade, e que ainda há muito para se estudar, ainda mais com a influência das redes sociais no desenvolvimento de software, como é o caso do GitHub.