Skip to content

Como contribuir com software livre ? - Traduzindo!

Foi se o tempo que para utilizar razoavelmente o Linux era necessário dominar o inglês. Hoje acredito ser possível instalar uma distribuição (Ubuntu) e utilizar o Firefox, o Open Office e o Pidgin somente sabendo falar português do Brasil. Acredito que a grande maioria das pessoas que ligam um PC só utilize programas como esses ( Internet Explorer, Microsoft Office e MSN Messenger) que no concorrente Microsoft Windows já estão traduzidos.

È um trabalho muito importante, pois podemos instalar Linux em escolas, tele-centros onde as pessoas geralmente não sabem inglês e assim disseminar ainda mais o uso de Software livre. E o conhecimento necessário é apenas um idioma ( e mais alguma experiência), logo é algo bem mais fácil que programar e que pode ser feito por muito mais pessoas.

Para começar, acho legal mexer com um projeto grande, onde já existem tradutores que vão te corrigir, te dar dicas e te ajudar no começo. Os ambientes Gnome e KDE possuem projetos de internacionalização bastante competentes e pode-se utilizar um sistema totalmente traduzido com esses dois ambientes. As equipes de tradução são bem organizadas e costumam contar (para alguns idiomas) com algumas dezenas de tradutores. As páginas das equipes costumam ter bastante informação do tipo “Como entrar para a equipe” além de algumas dicas de como traduzir. Obviamente sua tradução é sujeita a uma revisão para verificar a qualidade técnica, e caso necessário, corrigidos os erros. Não é trivial traduzir um programa, precisa-se respeitar padrões e manter uma consistência.

Para projetos menores, você pode mandar um email para o mantenedor pedindo para traduzir.  As páginas de Softwares Livres normalmente possuem esse e-mail disposto. Ele te dará as instruções de como fazer o download dos arquivos com as frases.

Como contribuir com software livre ? - Programando!

Primeiro post sério do ano.

O software livre, como já discutimos, não é algo produzido somente por empresas. Pessoas “normais” podem entrar e contribuir também. Mas não adianta enviar algo que apenas funcione. Tem que ter alguma qualidade técnica. POGramação não é bem vinda, afinal o código precisará de manutenção daqui a algum tempo e fazer a manutenção de POG é algo realmente complexo :-).

Programar parece o mais intuitivo, e é sobre isso que este post falará.Haverão outros sobre traduzir,feedbacks,bugs reports e usando.

Projetos bem organizados geralmente tem uma página com as coisas que precisam ser feitas, uma vez vasculhei a página do jogo Super Tux e lá eles têm uma TODO list com o que precisa ser feito. Se você souber fazer baixe o repositório, entenda como funciona lendo a documentação do desenvolvedor e alguma página do tipo “como contribuir” e faça o que foi pedido. Pronto, assim você contribui com software livre. Mas você precisa saber programar bem, não costuma-se aceitar códigos com muitas gambearras e POGramações.

A maioria dos projetos são feitos em C/C++. Programar nessas duas linguagens não é nada trivial, mas também não é nenhum bicho de 7 cabeças, existem muitos tutoriais na internet. Há bastante coisa em Python também, mas acho que vale mais a pena aprender C/C++. Se você for desenvolver jogos, seria legal você aprender uma biblioteca como a SDL ou OpenGL, muitos jogos são feitos utilizando estas bibliotecas. Se você for desenvolver aplicativos seria legal você aprender a utilizar o Dialog (se for fazer aplicativos para o terminal) ou Gtk ou QT (se for fazer aplicativos para o X). A maioria destes programas possuem bons tutoriais na net. Use o google, certamente achará muita coisa legal.

Abraços

2008 - Feliz ano novo

Olá caros visitantes

Feliz 2008 para todos. Prometo que escrevo mais coisas esse ano. Pelo menos semanalmente :-D
Feliz 2008!

Atividades novas de férias

Olá a todos que me visitam

Esse blog andou meio abandonado por causa das provas de fim de ano. Mas graças a Deus mais um semestre se foi e com ele 22 créditos aprovados. Que alegria !

Nas férias resolvi entrar para a equipe de tradução do Gnome e confesso que fiquei muito contente. O pessoal é muito legal e me ajudou no que foi possível. Não é nada simples traduzir o Gnome e estou vendo isso. Para se fazer uma tradução bem feita demanda tempo e convenção.

Vamos indo. Prometo colocar coisas novas nas férias :-)
Abraços

Cathedral e o Bazaar - Alguns comentários meus

Esses últimos dias comecei a ler o ensaio de Eric Raymond chamado a Catedral e o Bazar. Para quem não sabe, Eric Raymond é uma das pessoas mais ativas em produção de software livre. Já contribuiu com o EMacs, NetHack , nCurses (biblioteca para o desenvolvimento de Interfaces em modo texto) e é mantenedor do Fetchmail (programa que baixa e envia emails usando protocolos como POP, IMAP, SMTP e etc).

Neste artigo, Eric Raymond fala muito sobre a produção de software livre, derruba alguns mitos sobre a criação do Kernel do Linux, e conta exemplos de coisas que aconteceram durante a produção. Colocarei nesse artigo algumas observações minhas sobre esse artigo.

 

Produção de Software

Produzir software está longe de ser uma tarefa trivial

Para atingir níveis altos de confiabilidade e satisfação dos usuários costumam ser coisas bem raras. Bugs costumam ser frequentes e praticamente nunca vi um software que não necessitasse de atualizações ou patchs de segurança. Além do mais, nesse mundo tão dinâmico, a cada dia exigências mudam. bibliotecas novas aparecem, protocolos diferentes aparecem. Aí vem a questão: Será que conseguimos produzir um software, com um nível alto de qualidade, que acompanhe esse ritmo ?

O TeX desenvolvido por Knuth, e a dupla gcc/Emacs inicialmente desenvolvidos por Stallman, são raras exceções de programas de alto nível desenvolvidas por uma pessoa só.O TeX é utilizado em larga escala no mundo acadêmico, o gcc é um compilador muito utilizado e o Emacs é um editor muito popular. Mas esses dois são pessoas de um nível extraordinário. Algo como um Pelé ou um Picasso em suas respectivas áreas.

Mas o mundo é feito, em sua grande maioria, de pessoas normais, que construíram muitos e muitos softwares utilizando o que eles tinham de mais precioso: Seus usuários. São eles que sugerem alterações, comunicam bugs e são eles que fazem seu trabalho valer a pena. Aí vale um ponto para o software livre: Vamos supor que você não goste de algo em um software produzido por uma grande empresa. O que você faria ? Poderia tentar fazer alguma reclamação. Se por meios eletrônicos: Não acho que sua reclamação iria direto para a equipe de programadores antes de passar por muitas e muitas triagens. Se por meios telefônicos: Você provavelmente ligaria para uma central de pessoas que não estão preocupadas em anotar sugestões mas sim em resolver problemas de natureza de suporte técnico. Se por meios pessoais: você chegaria a uma portaria de uma empresa e não te deixariam subir.

Mas e se fosse um software livre ? Os desenvolvedores costumam publicar seus emails. Você pode enviar um email com sugestões, críticas, reclamações ou entrar em uma lista de discussões do software que você será ouvido. Por telefone acho dificil você falar com qualquer um deles. Mas muitos são os eventos de software livre e essas pessoas realmente participam dessas coisas. Você pode em algum deles ir conversar com eles. Essas pessoas costumam ser bem simpáticas e realmente vão te ouvir, pois sabem que você é um bem muito precioso.

Ouvir os pedidos dos teus usuários é estar sempre ligado em novas idéias. em novas sugestões e principalmente em novos bugs que seu programa pode ter. Assim você pode corrigi-los ou até esperar algum outro desenvolvedor te enviar uma correção. Isso é uma das grandes vantagens do código aberto, outros desenvolvedores podem trablhar no desenvolvimento do software e te ajudar.Como desenvolvedores, podem sugerir alterações e correções no código o que pode solucionar muitos bugs.

Lei de Linus

Uma lei muito conhecida na engenharia de software é a lei de Brooks “Adicionando pessoas a um projeto de software atrasado só atrasa-o ainda mais”.

Como softwares têm uma construção muito complexa, a cada pessoa que se inclui em um projeto de software é necessário ensiná-la a trabalhar no projeto temporariamente diminuindo a produtividade de alguns programadores. Outro argumento é que a comunicação aumentaa quadraticamente. Ao dobrar o número de programadores você quadruplica o número de conversas acerca do software. Se múltiplas pessoas estão fazendo o mesmo projeto, então é necessário manter tudo sincronizado, pois pode-se gastar mais tempo descobrindo o que se precisa fazer.

Uma lei destas com certeza poderia decretar o fim das produções de software livre. Existem projetos com milhares de pessoas trabalhando, o que poderia ser feito ?

Um software geralmente tem um core e um halo. Chama-se de core as coisas essenciais para ele funcionar, e o halo é todo o resto. O core é o essencial para ele funcionar (geralmente pequeno),o Halo são coisas extras que o tornam mais fácil de se utilizar (geralmente enorme), adicionam funcionalidades extras e etc. Geralmente o core é desenvolvido por poucas pessoas (frequentemente um, ocasionalmente até três) e o halo por muitas pessoas (geralmente centenas).

O core segue um desenvolvimento mais cuidadoso pelos poucos desenvolvedores que trabalham nele. O funcionamento do software depende do core.

Como o halo de um software é muito variado e muito grande, dificilmente dois desenvolvedores farão trabalho repetido e precisarão se comunicar com poucas pessoas (que desenvolvem a mesma funcionalidade), e por não ser essencial para o funcionamento, os bugs serão frequentes. O que não é tanto problema: geralmente há da ordem de centenas de beta-testers que os apontarão. E com uma política de muitos releases, os desenvolvedores poderão arrumar o código apenas pouco tempo depois de o terem feito.

Bugs não são coisas tão problemáticas em um software livre. Com muitos beta-testers, há muitos relatórios de falhas e com muitos olhos depurando o código, é apenas questão de (pouco) tempo achar aonde (exatamente a linha, ou função) que está o bug no software. Deste modo “todos os erros são triviais” (lei de Linus).

Uma solução nada simples e que refuta o fato que as produções de software livre são “torres de babel”.

Links

Amarok

Um programa que é merecidamente muito elogiado no Windows é o ITunes. É Freeware, ou seja, pode baixar quem quiser e usar . Costuma vir junto com um IPod, e agrupa as músicas de um modo bem organizado. Pode se buscar uma música, um álbum, um artista. Há também como gerar uma playlist aleatória. Realmente ajuda as pessoas que possuem algumas centenas de MP3 em seu computador. Mas tem um inconveniente: Não tem binários para Linux e é proprietário (i.e. não podemos abrir seu código fonte).

Mais que uma alternativa ao iTunes, o Amarok faz tudo isso e com uma vantagem é open source. Chamá-lo unicamente de player é um xingamento e tanto, dado que agrupa músicas, possibilita você a usar banco de dados para as músicas, faz a pesquisa automática das letras das músicas e ainda busca o artista na Wikipedia, tudo isso só clicando em abas!

Há também como se cadastrar no last.fm e a cada música que você tocar, aparecerá mais sugestões de coisas parecidas.

Acho que nunca vi um programa tão bom para gerenciar músicas e tão completo.

Porém, se você usa Ubuntu (ou não possui o KDE em sua máquina), só conseguirá utilizá-lo se instalar algumas bibliotecas do KDE, o que nem sempre vale a pena.

Macros: Usar ou não usar ?

Agora vou falar de programação. Uma prática no mínimo polêmica é a utilzação de Macros. Mas o que afinal são macros?

(Continued)

Slackware Linux com Orgulho

Confesso que já usei muitas distribuições Linux. Desde o Fedora, passando pelo descendente de Gentoo, Sabayon até o Debian. Usei o Suse também, mas somente por algumas horas ( aquilo travava demais e tinha um gerenciador de pacotes medonho chamado Yast, que nunca entendi como aquilo funcionava). O Fedora tinha um certo problema: ele força você a não usar coisas proprietárias: bom, não sou fã de coisas proprietárias, mas quem tem que decidir o que eu uso sou eu e não minha distribuição (ela deve servir como ferramenta e não como um empecilho). Sabayon era até legal, mas muito pesado (vinha com Beryl por padrão). O Debian é uma distro que tem uma mania de mexer nos pacotes, o que a faz ter coisas não originais (ex: o Gnome do Debian é um Gnome do Gnome.org modificado) e isso também não é legal. Conheço administradores de Redes Debian que estão rancando cabelos por causa do IceWeasel (nada mais que um Firefox mexido) e que parece ter uma antipatia com o Flash.

(Continued)

Wikipedia

Post Inicial: Espero que gostem do meu blog.

Já houve um tempo que havia a profissão “vendedor de enciclopédia”. Eram pessoas razoavelmente bem vestidas, que batiam de porta em porta e ofereceriam “toda o conhecimento da humanidade” em vinte volumes e em um bom número de prestações. Enciclopédias eram caras. Geralmente demorava-se mais de ano para se pagar. È até fácil achar, hoje , em algumas casas, aquela coleção de Barsas, de tanto que as pessoas se preocupavam em ter “todo o conhecimento da humanidade” . A uns anos atrás, o jornal Folha de São Paulo, em cada domingo, pagando mais uma quantia razoável você tinha um volume de uma enciclopédia. Acho que foi a última vez que vi alguma tentativa de enciclopédias de papel até dar um pouco certo.

Depois a moda virou enciclopédias vindo em CD-ROM, junto com jornais nos domingos. Isso era legal, pois geralmente custava em torno de R$ 10 o fascículo e eram poucos (cerca de 5 ou 6). Isso salvava árvores e nas enciclopédias costumavam vir mais imagens e vídeos o que as deixava mais completa. Isso era legal.

Qual o problema dessas duas versões ?

(Continued)