Projeto pró-contribuição: uma proposta de estrutura para as comunidades brasileiras de software livre

Muito se tem falado pelos “corredores” das comunidades de software livre a respeito da falta de contribuição dos brasileiros, principalmente com codificação. Um acontecimento marcante para a comunidade do Estado do Rio de Janeiro foi em 2009, quando Jon “Maddog” Hall veio ao FSLDC e disse “vocês já tem fazem bastante divulgação – agora vocês precisam escrever código”.

De fato, se observarmos bem, as contribuições brasileiras para a maioria dos projetos livres são sempre em:

  1. Divulgação;
  2. Tradução do software e da documentação;
  3. Solução de dúvidas;
Apesar de serem importantes contribuições, elas não ajudam tanto para evolução do software. Além disso, acabamos não tirando proveito da melhor coisa que o software livre nos provê: controle sobre o que ele faz. Desta forma, acho que existem dois pontos importantes que podemos melhorar:
  1. Reporte de bugs;
  2. Codificação;

A barreira do idioma

Apesar de estar na moda criticar os brasileiros por não contribuírem, na minha opinião, a maior barreira que existe para os nossos conterrâneos contribuírem em projetos livre é o idioma. Por mais que a maioria dos desenvolvedores de software saibam ler inglês (afinal, a maioria das nossas fontes de consulta está neste idioma), escrever em inglês é muito mais difícil. Isto acaba afastando as pessoas não só da codificação, mas até mesmo usuários comuns de reportarem bugs!

Acho que as comunidades brasileiras tem um papel fundamental para melhorar esta situação, mas, infelizmente, a maioria delas atualmente funciona apenas como “proxies” e filtrando o que pessoalmente não consideram válido.

Por isso comecei a pensar em como poderíamos transpassar esta barreira e com a ajuda das comunidades brasileiras. Cheguei a uma estrutura que gostaria de compartilhar com vocês para que possa ser melhorado e aplicado num projeto real.

Importante: Não espere por uma ideia do outro mundo, pois as ideias que vou apresentar são bem simples :)

Facilitando o reporte de bugs

Antes de mais nada, precisamos entender o ciclo de vida de um bug reportado:

  1. Reporte: quando o usuário notifica ao projeto que percebeu um comportamento errôneo;
  2. Triagem: uma equipe exclusiva que verifica os bugs reportados para ver se eles são válidos, se estão duplicados e se estão com todas as informações necessárias;
  3. Correção: após a triagem, o desenvolvedor terá todas as informações para fazer a correção;

O papel que eu acho que a comunidade brasileira deveria fazer aqui é de participar da equipe de triagem. O usuário brasileiro poderia reportar o bug em português e a equipe de triagem iria fazer a tradução do bug para que qualquer desenvolvedor possa corrigí-lo.

O importante aqui é ter uma forma simples para o usuário sinalizar que ele está reportando em português. O ideal é que a própria ferramenta tenha esta opção ou que possa ser enviado automaticamente dados de idioma do sistema (ou navegador) do usuário. Caso isto não seja possível, deve ser documentado de forma clara como ele deve informar o idioma que está escrevendo.

Facilitando a codificação

Para facilitar a introdução de novos codificadores não fluentes em inglês é interessante que se tenha uma tradução da documentação para desenvolvedores tão boa quanto a tradução da documentação para usuários. Claro que isto não é uma barreira tão grande, já que nós desenvolvedores já estamos acostumados com documentação em inglês, mas qualquer ajuda é bem vinda.

Mais importante do que isto, a comunidade brasileira deve ter uma lista de desenvolvimento própria! Esta lista teriam discussões em português para que as dúvidas possam ser tiradas por todos. Como eu disse, escrever em inglês não é para todos (mesmo para quem lê neste idioma) e uma lista brasileira ajudaria muito a inserir novos desenvolvedores.

No entanto, a primeira providência que deve ser tomada é: as comunidades brasileiras precisam ter desenvolvedores! Caso contrário, quem vai traduzir a documentação técnica? Quem vai responder as dúvidas na lista de discussão? Além disso, existe o efeito cascata – quanto mais codificadores, mais gente vai querer codificar!

Próximos passos

Vou tentar implementar isto em algum projeto e, por consequência, fazer melhorias. Quem quiser contribuir nos comentários, ideias e críticas construtivas são bem vindas.

Eu sou desenvolvedor de software, mas atualmente não codifico para nenhum software livre. Então, assim pretendo começar a contribuir com código, além de criar uma estrutura que torne fácil para qualquer outra pessoa contribuir também, independente do nível de proficiência em inglês.

Aprendendo idiomas online

Depois de muito tempo sem escrever aqui no blog (justo agora que ele está todo bonito e com propagandas para eu poder ganhar um dindin) finalmente venho escrever mais um artigo com o intuito de ajudar outras pessoas com o conhecimento que tenho. Mas coloquei como meta escrever com uma periodicidade maior aqui. Tenho até um artigo pronto, que saiu na Revista Espírito Livre que ainda não postei! Mas chega de blá-blá-blá e vamos ao que interessa. ;)

Algo que gosto muito de fazer é aprender coisas novas, e idiomas é algo que nunca havia me chamado atenção. Mas comecei a aprender francês, para acompanhar minha esposa, e vi como é fácil estudar idiomas pela Internet! Falarei neste artigo de 2 que estou utilizando: Livemocha e BBC Languages.

Livemocha

O Livemocha é um site colaborativo, onde existem cursos básicos gratuitos onde seus exercícios (falados e escritos) são corrigidos por outras pessoas. Estas pessoas podem ser seus amigos cadastrados ou não no site ou até mesmo pessoas desconhecidas que conhecem bem o idioma que está sendo estudado (neste caso, o próprio site faz algumas recomendações). A medida que você vai avançando no curso ou fazendo exercícios extras, você vai acumulando pontos (Mochapoints). Você também ganha pontos ensinando outras pessoas os idiomas que sabe, realimentando o site. É bastante divertido!

Você ainda tem a opção de adquirir, por apenas 10 dólares, um material mais completo dos cursos e ter seus exercícios corrigidos por profissionais cadastrados, mas a grande sacada do site é a interação inter-cultural que acontece. Na minha opinião, o curso gratuito oferecido é bastante interessante para quem está começando a aprender um novo idioma. Também imagino que valha a pena comprar pelo acesso ao material extra, pois é barato e vai ajudar a ter um conhecimento mais completo, mas ainda não comprei nada ainda.

Se você se interessou pelo Livemocha, não se cadastre agora! Me peça um convite que te enviarei, pois assim eu ganharei pontos e um curso de viagens (cujo preço normal é 10 dólares também)!

BBC Languages

O site da rede de TV britânica BBC também tem uma parte dedicada ao aprendizado de idiomas. O material que eles têm é muito grande e totalmente gratuito. São vídeos, áudios, exercícios e textos que vão te ajudar a aprender ainda mais.

No entanto, a minha opinião é que este site é mais indicado se você já conhece um pouco do idioma, pois o conteúdo é um pouco mais avançado que o do Livemocha. Então o que estou fazendo é estudar Inglês por ele e o Francês vou ficar apenas no Livemocha por enquanto para depois partir para o BBC também.

Espero que minha dica ajude a formar mais poliglotas! Se você tem mais dicas de sites para estudo de idiomas online (mesmo que sejam pagos), me avise através dos comentários, pois isto me interessa muito!

Bon soir!