Nossa! Outubro já acabou! Como o tempo voa! Esse Bamerindus... (Se você não for da minha geração, explico: tinha um barbudo que ficou conhecido em propagandas de banco, inicialmente dizendo "Ah! Esse Bamerindus" e uma musiquinha de outra propaganda da mesma época que dizia "O tempo passa, o tempo voa e a Poupança Bamerindus continua numa boa!" E pensar que já nem existe mais Bamerindus...)

Além de investir um tempão organizando uma "turnê" do nosso mestre Richard Stallman pelo Brasil agora em novembro (Foz do Iguaçu, no Latinoware, dia 14; Salvador, dia 16; Brasília, no SERPRO e talvez também no Music Hall, dia 19; Salvador, de novo, dia 20 e São Paulo, na USP, provavelmente na EACH, dia 21), tive duas viagens no mês passado.

Logo no início do mês, fui ao Rio de Janeiro participar do Fórum de Software Livre do Rio de Janeiro.

Na segunda metade do mês, fui ao Peru e ao Canadá. Nem devia mencionar quanto trabalho deu pra obter os vistos pro Canadá e pros EUA, onde eu ia fazer conexão. Por causa da greve dos correios, do alto movimento no consulado dos EUA (muuuu! :-) e de feriados lá e aqui, ainda que eu tenha iniciado o processo todo com folga de duas semanas, só recebi meu passaporte de volta 3 horas antes de minha partida. Ufa! Foi por pouco!

Fui ao Canadá para uma reunião da Red Hat, sobre a qual não faz sentido eu falar muito aqui. Já no Peru, participei de duas conferências organizadas na Universidad San Martín de Porres: a Convención Visión 2007 e a ./Freedom and Open Source Day.

As palestras a que assisti foram ótimas, fiquei bem satisfeito com o resultado nas minhas e tive conversas muito interessantes com Ken Coar, da OSI; Jim Gettys, da Fundação OLPC; José Gouveia do LPI; os organizadores que nos fizeram companhia todos os dias: Hernán Pachas e Carla Palomino; e várias outras pessoas que minha péssima memória não me permite citar.

Ainda que as conferências tenham sido bem proveitosas, o ponto alto da estada no Peru foi a visita a Arahuay, uma cidadezinha de 450 habitantes no meio da serra peruana onde o projeto piloto do OLPC foi conduzido naquele país.

De Lima até Arahuay, percorremos uma estradinha asfaltada com uma pista em cada sentido durante cerca de duas horas. Depois disso, foram mais duas horas serpenteando numa estrada de terra beirando montanhas, com largura média suficiente para passar pouco mais que um carro. Ocasionalmente, havia espaço para dois carros passarem um em cada sentido, ou para o carro passar ao lado de pedestres, que muitas vezes conduziam animais. As fotos que Jim e eu tiramos provavelmente dão uma boa idéia da paisagem e da viagem. Se você aceita as condições de uso do Google Maps, este mapa pode dar uma idéia da distância e do caminho percorrido.

Chegamos mais tarde que o esperado. Era uma semana de festividades e algumas crianças já tinham ido pra casa. De fato, em nossa chegada, deu pra ver, do pátio da escola, a cidade inteira, montanha acima, e uma das alunas indo pra casa carregando seu notebook branco e verde. A emoção começou ali. Felizmente, as professoras e muitas das crianças estavam nos esperando para conversar sobre o OLPC, ainda que já houvesse passado bastante da hora do almoço.

Fomos levados a uma sala de aula, onde as crianças que ainda estavam por ali nos aguardavam, cada uma com seu notebook. Eu já tinha visto as maquininhas funcionando, mas nunca as tinha visto nas mãos de crianças. Foi lindo ver a destreza com que as crianças usavam os vários recursos da máquina: o navegador da Internet, a câmera, os vários jogos e brinquedos musicais, e sua vontade de mostrar para nós como sabiam usá-las. Eu mesmo, não iniciado na interface Sugar, recebi orientação de várias delas sobre como elas faziam cada uma das coisas.

Quando coloquei em perspectiva o que estava acontecendo ali e entendi que aquelas pessoas, antes praticamente isoladas de nossa comunidade global, através daquela ferramenta de ensino, ganhavam a liberdade de aprender tanto quanto quisessem sobre nossa comunidade e decidir se queriam fazer parte dela ou não. Ganhavam a liberdade de buscar informação em qualquer lugar do mundo, ao invés de ficarem limitados ao conhecimento transmitido pelos professores e pelos livros adotados na escola e os disponíveis na pequena biblioteca. Ou pelo pouco de televisão disponível em algumas casas na metade da cidade que tinha energia elétrica.

Quando comecei a desenvolver Software Livre, no início dos anos 1990, eu já entendia que a intenção era libertar as pessoas. Mas o OLPC eleva isso para um nível completamente diferente, um nível que eu nunca havia sequer imaginado. Foi um momento inesquecível, muito emocionante.

E olha que as crianças ainda trabalhavam com um protótipo antigo do OLPC (B2, se não me engano), com menos memória, mais lento e com muito menos funcionalidades que a versão final (ou quase) que elas tiveram oportunidade de experimentar durante e depois de nossa visita. O software que elas usavam ainda não tinha a maior parte das ferramentas para compartilhamento de atividades e informação e trabalho em equipe, nem o ambiente de introdução à programação presente na última versão. Não é à toa que elas ficaram animadíssimas explorando a versão mais nova.

Na reunião com as professoras, foi gratificante ver o quanto o propósito educacional das máquinas era satisfeito. As crianças estavam mais independentes, tinham se interessado muito mais em aprender outras línguas, aprender sobre geografia, sobre onde no mundo elas estavam e como podiam buscar a informação que quisessem.

Foi um momento particularmente especial ler, lá em Arahuay, num daqueles laptops, a notícia então recém-publicada, que chegou a nós através do acesso à Internet instalado na cidade para o piloto OLPC, de que a comissão de orçamento do congresso peruano havia acabado de aprovar a verba para a efetivação do projeto OLPC em todo o país já a partir do ano que vem. Parabéns!

Enquanto isso, a gente fica aqui se enganando com testes de alternativas "made in Brazil" (ahã, sei; é daí que vem a expressão "valor agregado", né?), meros notebooks de capacidade de processamento limitada, sem qualquer planejamento ou intenção de resolver os vários problemas técnicos e educacionais que o OLPC tanto trabalhou para resolver:

  • como fazer a bateria do computador durar quase um dia inteiro (desligar tudo menos a tela e a rede quando tudo que se está fazendo é ler, por exemplo), pra criança não precisar estar presa a um ponto de energia o tempo todo (poucas escolas têm rede elétrica preparada para a carga de um computador por aluno em uso permanente; muitas nem têm pontos de energia elétrica em todas as salas!);

  • como fazer a bateria do computador durar tanto quanto a vida útil do computador (sabe como bateria de notebook estraga depressa e é cara pra substituir, né?), mesmo sendo carregada a intervalos irregulares com energia elétrica não estabilizada (baterias de íons de Lítio são tóxicas, explosivas e muito ineficientes se carregadas em tensões minimamente diferentes da especificação);

  • como tornar a tela legível mesmo à luz do sol (nova tecnologia reflexiva);

  • como tornar o acesso à internet da escola disponível para os alunos quando estiverem fazendo a tarefa de casa em casa ou na biblioteca (rede Mesh, ao invés de estruturada), sozinhos ou em equipe (ferramentas de compartilhamento e trabalho conjunto);

  • como permitir à criança levar o computador para casa sem que ela corra grande risco de violência ou roubo (aparência e tamanho de brinquedo, facilmente reconhecível; disponibilidade para todo o público alvo numa região; software e chaves eletrônicas anti-roubo, que dificultam, mas não proíbem, a instalação de boot loaders e kernels alternativos; capacidade suficiente para rodar o software educacional desenvolvido para ele, mas inútil para potenciais compradores que gostariam de rodar o sistema operacional monopolista dominante).

Este último ponto é particularmente importante. Embora a empresa do tio Bill esteja trabalhando duro pra tentar fazer o laptop rodar alguma versão deficiente do Windows XP, o prognóstico não é bom para ela, mesmo depois da adição da interface para expansão através de memória SD ao projeto do hardware. Há quem diga que o cartão de memória SD entrou para permitir rodar Windows, mas na verdade já fazia sentido incluir uma possibilidade de expansão futura, uma vez que o equipamento é feito para durar uns 5 anos e a memória pré-instalada é soldada na placa mãe. Durante sua vida útil, cartões SD provavelmente vão se baratear muito, e software provavelmente vai continuar crescendo.

Mas rodar Windows XP nessas máquinas vai exigir muitíssimo esforço de seus desenvolvedores. Ao contrário da versão embedded do Windows, o XP foi projetado para rodar em PCs convencionais. O OLPC não é um PC convencional, embora pareça muito com um e use um processador que poderia ser usado para construir um PC. Muita da infra-estrutura de inicialização, boot, BIOS, ACPI e controle básico de periféricos é diferente, em função de limitações de custo, capacidade de memória, custo, capacidade de processamento, custo e... já mencionei custo? Se a máquina é feita pra rodar primariamente GNU/Linux, e ele funciona perfeitamente bem sem o monte de lixo que os outros fabricantes têm que pôr em PCs convencionais para satisfazer o monopólio do qual ainda depende a maior parte de suas vendas, que sentido faria o OLPC gastar tempo e dinheiro projetando esse lixo pra sua máquina? Se alguém quer rodar um sistema que depende dessas coisas, que invista os recursos e faça funcionar. Vou esperar sentado! ... que não aconteça ;-)

E, veja, não estou falando nem da opção pelo Software Livre do projeto OLPC, estou falando de projeto de sistema como um todo. O OLPC é uma ferramenta educacional, projetada para esse fim a nível de hardware, software, interface e material didático, com todas as preocupações que mencionei acima e tantas outras que me escapam à memória ou que simplesmente desconheço. É claro que é possível rodar o software do OLPC para rodar em outros computadores, mas vai deixar a desejar em diversos aspectos. É claro que também é possível adaptar laptops convencionais para atender a alguns dos requisitos mínimos de um laptop educacional para crianças, mas aí são outros aspectos que deixam a desejar. Para alcançar algo próximo do ótimo em termos tanto de benefício quanto de custo, precisa trabalhar de maneira integrada nos vários níveis. Não dá pra simplesmente pegar uma coleção de softwares de prateleira, uma coleção de componentes de hardware de prateleira, misturar num caldeirão, levar ao forno e esperar dourar. De fato, a característica da fundação OLPC, de não visar o lucro, é um fator importantíssimo para garantir o custo mínimo e a quase ausência de dependências monopolísticas, das quais sofrem todos os outros projetos que disputam esse nicho. Ou deveria eu dizer, que buscam explorar esse filão dourado?

Infelizmente, o OLPC não é imune aos monopólios. Mesmo buscando diversidade (coopera com desenvolvedores GNU/Linux e com a Microsoft; recebe apoio da AMD e da Intel; etc), tem parecido difícil escapar de algumas armadilhas:

  • o controlador que permite à máquina quase inteira dormir enquanto somente a tela funciona, reduzindo drasticamente o consumo de energia, é programado com firmware proprietário, e seu fornecedor não quer liberar o código. Felizmente, disponibilizou as especificações, de modo que uma alternativa Livre está em desenvolvimento.

  • o controlador de rede sem fio, que funciona roteando pacotes e estendendo a rede Mesh mesmo quando o resto da máquina está desligado, é programado com firmware proprietário, o que já causou inúmeros problemas aos engenheiros do OLPC. De fato, a dificuldade de depurar e corrigir alguns dos problemas causados por erros nesse firmware, ou por interações com ele, já atrasou a entrada do laptop em produção.

Este é mais um sintoma do desastre tecnológico causado pela cultura do software proprietário. Sistemas computacionais são tão instáveis porque ninguém tem a menor possibilidade de investigar a fundo os problemas. Por causa das restrições de acesso a detalhes de projeto e código fonte, mesmo os engenheiros de um dos componentes só pode ver e corrigir uma pequena fração do todo, o que muitas vezes resulta em criação de quebra-galhos na parte em que alguém pode mexer, em vez de real correção dos problemas na parte onde ele realmente está. E, como os quebra-galhos são criados sem conhecimento completo, não são inteiramente compreendidos, então as pessoas têm medo de mexer ou tirar, e aí eles se acumulam. Receita para desperdício e desastre. Enfim...

Lamentavelmente, só havia um fabricante de hardware de rede Mesh, e este fabricante não queria liberar código nem especificações. Essa situação tende a mudar, com a entrada de novos competidores que implementem esse nascente padrão de rede sem fio, pelo menos um dos quais já tem sinalizado com a possibilidade de liberar sua implementação. Com isso, e com a entrada em produção e adoção maciça, a fundação OLPC ganha não só uma ou mais alternativas inteiramente Livres para uma próxima geração do laptop, mas também mais margem de negociação com o fornecedor atual para que deixe de atrapalhar o projeto.

  • decodificadores para alguns formatos de mídia cobertos por patentes de software válidas nos EUA impedem a fundação OLPC, baseada nos EUA, de distribuir computadores com Software Livre que implemente essas patentes, a não ser que obtenham licenças de patentes que, para manter o Software Livre e para cumprir a licença de direito autoral de alguns dos programas, devem estender as liberdades a quaisquer outros que recebam o software. Há várias frentes de negociações em andamento, mas existe o risco de que o OLPC inclua, pelo menos em alguns países, software proprietário para decodificação de certos formatos de áudio e vídeo.

Embora eu possa compreender essas decisões ou possibilidades, pois o objetivo almejado pelo projeto OLPC é uma libertação de prisões muitíssimo mais cruéis e daninhas que o aprisionamento digital por meio de Software não-Livre, pelo que considero seu objetivo um bem maior, cumpre a mim, enquanto membro da FSFLA e da rede de FSFs, denunciar, lamentar e me opor ao uso de Software não-Livre em qualquer situação.

Ainda que eu entenda que, se não houvesse o OLPC, ou se ele atrasasse aguardando ou desenvolvendo tecnologia inteiramente Livre, outras alternativas propostas por competidores com muito menos escrúpulos poderiam prevalecer e estender seu modelo de aprisionamento a ainda mais pessoas, também entendo que o Software não-Livre é fundamentalmente incompatível com o objetivo de educação. Aprender usando uma ferramenta que lhe proíbe de aprender sobre seu próprio funcionamento, e ensinar crianças a aceitarem esse tipo de limitação, pode ter efeitos sociais terríveis a longo prazo. Basta olhar para a imensa população atual de usuários de MS-Windows e de telefones celulares bloqueados, incapazes de distinguir o software do hardware, e de sequer imaginar que poderiam, se assim desejassem, controlar seus computadores, ao invés de serem controlados (às vezes sem saber) por eles.

Incluir Software não-Livre no OLPC, seja em níveis imperceptíveis para usuários comuns mas que causam tamanho inconveniente aos seus desenvolvedores, seja em níveis evidentes para usuários mas de pouco impacto tecnológico do ponto de vista de desenvolvedores, faz preservar o desastre tecnológico e as mazelas sociais causadas pela cultura do software proprietário.

Devemos pressionar não só a fundação OLPC, mas os governantes e educadores de nossos países, para que não aceitem os softwares adicionais que traem os usuários e lhes subtraem liberdades. Particularmente no caso dos codecs, uma imensa oportunidade pode estar sendo desperdiçada. Por um lado, pode parecer sensato disponibilizar software que propicie às crianças acesso a formatos de áudio e vídeo de uso restrito por patentes de software em alguns países. Por outro, parece-me mais sensato que os interessados em tornar seus áudios e vídeos disponíveis o façam em formatos Abertos Livres, utilizáveis não só pelos milhões de crianças ao redor do mundo que utilizarão os OLPCs, mas também a todos os demais usuários de computadores.

E, em resposta aos que insistam em utilizar outros formatos, que tal criar uma rede de caches e conversores de formatos nas servidoras instaladas nas escolas cobertas pelo OLPC, em países onde as patentes não se apliquem, e nas máquinas de quem mais queira oferecer banda de rede e ciclos de CPU para disponibilizar áudio e vídeo para as crianças do mundo? Enquanto a infraestrutura pra isso não fica pronta, já existem hoje na Internet conversores on-line disponíveis entre inúmeros formatos.

Mantendo a bandeira da liberdade levantada, rejeitando e resistindo à tentação de ceder às pressões do software proprietário, o projeto OLPC pode causar alguma inconveniência temporária até que todos se adaptem (esse parece ser seu espírito, vide a interface Sugar), mas com isso trazer um bem ainda maior ao mundo. Será que a BBC e a TV Cultura de São Paulo teriam se vendido pra Microsoft se a maioria das crianças, um de seus maiores públicos alvos, tivessem computadores que reproduzissem somente Padrões Abertos Livres de áudio e vídeo?

E não nos deixeis cair em tentação,
mas **livrai**-nos do mal.
Amém!

E que me perdoem aqueles a quem eu tenha ofendido com esta referência a uma oração cristã ;-)

Até blogo...