Manifesto para uma mudança de postura
August 15, 2011 - No comments yetRecentemente postei na lista de discussão da SL-RJ uma mensagem que gostaria de compartilhar para um número maior de pessoas. A razão para eu escrever este texto foi por um integrante da comunidade escreveu uma frase que já ouvi muitas vezes de diversos ativistas do software livre. A frase (com leves modificações) é:
Vou usar um software proprietário X, porque o software livre Y ainda não está tão bom.
Ler isto novamente me fez pensar e acho que esta postura que estamos acostumados a tomar deveria mudar. Qual postura? Pegar o atalho e deixar de contribuir para o software livre para utilizar um software proprietário.
Antes de você que já falou isto pare de ler, deixo claro que não estou te crucificando e vou deixar isto mais claro ainda durante o texto. Pessoas influentes já disseram isto, então quem sou eu para crucificar alguém?
Antes de continuar, recomendo a leitura do artigo “Software Livre não nasce em árvores: do Colonialismo ao extrativismo digital” do Jomar Silva, porque tem tudo a ver com este conteúdo.
Extrativismo digital
Quem leu o artigo viu que a postura que citei foi chamada pelo Jomar de “extrativista”. O próprio Linus Torvalds, uma das pessoas mais influentes e que mais admiro no mundo, já fez isto. Ele não gostava de nenhuma ferramenta livre de controle de versão e passou a utilizar uma ferramenta proprietária para o Linux: o BitKeeper. No final ele teve problemas de licenciamento com a ferramenta e desenvolveu o Git, o qual fez melhor que o BitKeeper. Mas repare, nesta história toda, que a atitude extrativista não deu certo!
Tá bom, não existe outro Linus Torvalds e o cara é fora de série mesmo… Normalmente as pessoas que pegam este atalho ou não são programadores ou não programam na linguagem em que aquele software foi escrito. Sendo assim, eles não poderiam desenvolver uma solução para atendê-los. Mas será que existe outro caminho?
Relembrando o nosso amor pelo software livre
Eu gosto de software livre por vários motivos:
- Não fico preso a fornecedores e suas estratégias de mercado;
- A evolução normalmente é muito mais rápida;
- Eu posso reutilizar em meus projetos e debugar quando tenho algum problema;
- Eu posso consertar e melhorar!
Vale a pena abandonar isto tudo tão rápido?
Qual minha solução “genial”? (É o que muita gente deve ter pensado, né? Joguei pedra, agora ferrou – vou ter que dar uma solução!
)
Eu acho que nós, desenvolvedores, poderíamos de fato exercer o 4° ponto que citei. Quando não tivermos conhecimento requerido, podemos apelar para outra solução. Esta solução seria, ao invés de pagar o proprietário, pagar a um desenvolvedor para fazer o que você precisa no software livre!
Você acha isto impossível? Olha que eu conheço um cara que está trabalhando na Globo.com reimplementando partes do software livre Squid! Este cara não teria competência para implementar o que está faltando no seu software? Acho que sim.
Além disso, temos as seguintes vantagens:
- Você estará apoiando a economia local e não mandando dinheiro para americanos sacanas que querem te enjaular;
- O software ficará mais próximo do que você considera ideal (o próprio Randal Schwartz disse que nem o iPhone nem o MacOS são perfeitos);
- Você estará fortalecendo o software livre e mostrando que é um modelo viável e sustentável;
- Melhorando o software, é capaz dele se ter mais usuários e receber melhorias mais rápido;
- Esta melhoria estará disponível para TODO O MUNDO! Em outras palavras: você estará fazendo um mundo melhor (sem lágrimas, por favor);
Não existe bala de prata
OK, pessoal. Eu sei que nem sempre esta solução será possível, pois pode ser que você tenha restrições de tempo de atendimento a um cliente ou o que precisa ser implementado é muito grande, ou muito complexo, ou demandaria muito mais dinheiro dentre vários outros impeditivos.
Mas gostaria de fazer um apelo a vocês: vamos considerar como primeira opção pagar alguém para desenvolver um software livre! Caso esta opção não seja possível, aí sim, vamos pensar em partir para uma solução proprietária e que vai te enjaular!
Manifesto para uma mudança de postura
August 15, 2011 - No comments yetRecentemente postei na lista de discussão da SL-RJ uma mensagem que gostaria de compartilhar para um número maior de pessoas. A razão para eu escrever este texto foi por um integrante da comunidade escreveu uma frase que já ouvi muitas vezes de diversos ativistas do software livre. A frase (com leves modificações) é:
Vou usar um software proprietário X, porque o software livre Y ainda não está tão bom.
Ler isto novamente me fez pensar e acho que esta postura que estamos acostumados a tomar deveria mudar. Qual postura? Pegar o atalho e deixar de contribuir para o software livre para utilizar um software proprietário.
Antes de você que já falou isto pare de ler, deixo claro que não estou te crucificando e vou deixar isto mais claro ainda durante o texto. Pessoas influentes já disseram isto, então quem sou eu para crucificar alguém?
Antes de continuar, recomendo a leitura do artigo “Software Livre não nasce em árvores: do Colonialismo ao extrativismo digital” do Jomar Silva, porque tem tudo a ver com este conteúdo.
Extrativismo digital
Quem leu o artigo viu que a postura que citei foi chamada pelo Jomar de “extrativista”. O próprio Linus Torvalds, uma das pessoas mais influentes e que mais admiro no mundo, já fez isto. Ele não gostava de nenhuma ferramenta livre de controle de versão e passou a utilizar uma ferramenta proprietária para o Linux: o BitKeeper. No final ele teve problemas de licenciamento com a ferramenta e desenvolveu o Git, o qual fez melhor que o BitKeeper. Mas repare, nesta história toda, que a atitude extrativista não deu certo!
Tá bom, não existe outro Linus Torvalds e o cara é fora de série mesmo… Normalmente as pessoas que pegam este atalho ou não são programadores ou não programam na linguagem em que aquele software foi escrito. Sendo assim, eles não poderiam desenvolver uma solução para atendê-los. Mas será que existe outro caminho?
Relembrando o nosso amor pelo software livre
Eu gosto de software livre por vários motivos:
- Não fico preso a fornecedores e suas estratégias de mercado;
- A evolução normalmente é muito mais rápida;
- Eu posso reutilizar em meus projetos e debugar quando tenho algum problema;
- Eu posso consertar e melhorar!
Vale a pena abandonar isto tudo tão rápido?
Qual minha solução “genial”? (É o que muita gente deve ter pensado, né? Joguei pedra, agora ferrou – vou ter que dar uma solução!
)
Eu acho que nós, desenvolvedores, poderíamos de fato exercer o 4° ponto que citei. Quando não tivermos conhecimento requerido, podemos apelar para outra solução. Esta solução seria, ao invés de pagar o proprietário, pagar a um desenvolvedor para fazer o que você precisa no software livre!
Você acha isto impossível? Olha que eu conheço um cara que está trabalhando na Globo.com reimplementando partes do software livre Squid! Este cara não teria competência para implementar o que está faltando no seu software? Acho que sim.
Além disso, temos as seguintes vantagens:
- Você estará apoiando a economia local e não mandando dinheiro para americanos sacanas que querem te enjaular;
- O software ficará mais próximo do que você considera ideal (o próprio Randal Schwartz disse que nem o iPhone nem o MacOS são perfeitos);
- Você estará fortalecendo o software livre e mostrando que é um modelo viável e sustentável;
- Melhorando o software, é capaz dele se ter mais usuários e receber melhorias mais rápido;
- Esta melhoria estará disponível para TODO O MUNDO! Em outras palavras: você estará fazendo um mundo melhor (sem lágrimas, por favor);
Não existe bala de prata
OK, pessoal. Eu sei que nem sempre esta solução será possível, pois pode ser que você tenha restrições de tempo de atendimento a um cliente ou o que precisa ser implementado é muito grande, ou muito complexo, ou demandaria muito mais dinheiro dentre vários outros impeditivos.
Mas gostaria de fazer um apelo a vocês: vamos considerar como primeira opção pagar alguém para desenvolver um software livre! Caso esta opção não seja possível, aí sim, vamos pensar em partir para uma solução proprietária e que vai te enjaular!
Hack’n Rio: inscrições a preços promocionais
August 15, 2011 - No comments yetComo muitos de vocês devem saber, estou organizando o Hack’n Rio, evento nascido da ideia do Júlio Neves: fazer um grande evento com enfoque técnico. Junto comigo está um grupo de peso acostumado a organizar eventos e apoio jurídico da ONG ALTA.

O grande diferencial do Hack’n Rio é o enfoque técnico e nosso objetivo é que os participantes aprendam bastante durante o evento. Então, nada mais natural do que esperar muitos estudantes interessados no evento, certo? Muitos que estão acostumados com os valores cobrados em outros eventos, devem pensar que um evento deste porte e com duração de 2 dias deve custar caro demais para estudantes, certo? ERRADO!
Durante todo o mês de agosto, os ingressos do Hack’n Rio estarão ao preço promocional de R$ 25,00! Portanto, você tem ainda 2 semanas para fazer sua inscrição e aproveitar a promoção!
Hack’n Rio: inscrições a preços promocionais
August 15, 2011 - No comments yetComo muitos de vocês devem saber, estou organizando o Hack’n Rio, evento nascido da ideia do Júlio Neves: fazer um grande evento com enfoque técnico. Junto comigo está um grupo de peso acostumado a organizar eventos e apoio jurídico da ONG ALTA.

O grande diferencial do Hack’n Rio é o enfoque técnico e nosso objetivo é que os participantes aprendam bastante durante o evento. Então, nada mais natural do que esperar muitos estudantes interessados no evento, certo? Muitos que estão acostumados com os valores cobrados em outros eventos, devem pensar que um evento deste porte e com duração de 2 dias deve custar caro demais para estudantes, certo? ERRADO!
Durante todo o mês de agosto, os ingressos do Hack’n Rio estarão ao preço promocional de R$ 25,00! Portanto, você tem ainda 2 semanas para fazer sua inscrição e aproveitar a promoção!
Projeto pró-contribuição: uma proposta de estrutura para as comunidades brasileiras de software livre
July 11, 2011 - No comments yetMuito 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:
- Divulgação;
- Tradução do software e da documentação;
- Solução de dúvidas;
- Reporte de bugs;
- 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:
- Reporte: quando o usuário notifica ao projeto que percebeu um comportamento errôneo;
- 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;
- 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.









