quarta-feira, 16 de julho de 2008

Aplicativos web: a próxima batalha do software livre?

Preocupado com a crescente popularidade dos aplicativos web, Marco Barulli, do projeto Clipperz redigiu uma das primeiras sugestões detalhadas sobre como o software livre deve responder a essa tendência. Ainda que Barulli e o Clipperz não sejam muito conhecidos, suas idéias estão sendo ouvidas por gente como Richard M. Stallman, da Free Software Foundation, e Fabrizio Capobianco, CEO da Funambol e defensor de longa data dos aplicativos web livres.

Os aplicativos web (conhecidos como software como serviço e computação em nuvem) são softwares que o usuário acessa pelo navegador web e que residem nos servidores de um provedor. Seja qual for seu termo favorito, os aplicativos web representam um desafio expressivo ao software livre por pelo menos dois motivos.

Primeiro, como os aplicativos web não são distribuídos da maneira tradicional, eles podem burlar a exigência de licenças livres como a GPL na qual o provedor deve abrir o código para a comunidade. Com isso, empresas como o Google podem se aproveitar do código aberto para desenvolverem seus aplicativos web, mantendo fechado o código das alterações que realizarem.

Segundo, como há troca de dados entre o usuário e o provedor, e em alguns casos o software do provedor é instalado na máquina do usuário, os aplicativos web envolvem questões de privacidade não cobertas pela maioria das licenças livres.

Essas questões não são novidade. Tim O'Reilly vem falando nelas há anos, mas sua declaração sensacionalista de que "as licenças de código aberto estão obsoletas" acaba desvirtuando o debate sobre suas implicações.

Além disso, como observa Barulli, a conveniência dos aplicativos web vem desmotivando maiores críticas. "Trabalhei na área de segurança por muito tempo, e posso dizer que a conveniência é uma grande força propulsora, maior que a liberdade e maior que a segurança", disse ele ao Linux.com.

Enquanto isso, a necessidade de resolver esses problemas está aumentando. Destacando que ninguém havia previsto que aplicativos de produtividade como processadores de texto ou planilhas seriam, um dia, executados em navegadores web, Capobianco observa que "o mercado caminha para que todos os aplicativos que possam ser rodados como serviços sejam rodados como serviços algum dia". Ele trata os problemas surgidos com os aplicativos web como um "câncer" para o software livre, acrescentando que "se ignorarmos o problema por achar que o software como serviço não tem muita importância, estaremos cometendo um erro. O mundo caminha nesse sentido. Daqui a dez anos, se 90% do software for executado como serviço, será o fim do código aberto".


Criando aplicativos web livres


Até que Barulli sugerisse uma linha de ação, o Clipperz era mais conhecido pelo problema que teve ao tentar hospedar o site da versão da comunidade do Clipperz no Google Code. O projeto queria licenciar o software pela AGPL, uma licença que cobre a brecha deixada pela GPL convencional ao definir a oferta de software como serviço como uma forma de distribuição que acarreta nas mesmas obrigações.

Porém, o Google se recusou a hospedar um projeto licenciado sob a AGPL, sob a alegação de que queria evitar a proliferação de licenças, e depois afirmando que não havia como comprovar a AGPL. No entanto, muita gente afirma que o verdadeiro motivo foi o nervosismo do Google em associar-se à AGPL, já que ele vem se beneficiando dessa brecha.

A edição da comunidade do Clipperz acabou encontrando um lar no SourceForge.net. Essa história toda acabou tendo um resultado importante: Barulli iniciou uma extensa troca de emails com Richard Stallman. "Foi revelador para mim", diz Barulli, e a conversa resultou em seu plano de ação.


Lidando com o problema


A princípio, Barulli deixa claro que não está tentando impedir o avanço dos aplicativos web. "Os aplicativos web são ótimos e estou apaixonado por eles", diz Barulli. "Mas acho que já é hora de exigirmos mais liberdade e privacidade".

O Clipperz foi um dos primeiros projetos a optar pela AGPL. "Nós estávamos esperando por ela", disse Barulli. A julgar pelo seu entusiasmo, o primeiro passo proposto por Barulli não é surpresa para ninguém: incentivar o uso da AGPL. "Acho que tenho o direito de saber que código estou rodando na minha máquina, e que código estou rodando na sua". Como parte da campanha, Barulli está reunindo sugestões para uma "suíte GPL" de aplicativos web para usuários de software livre, e solicitando a desenvolvedores que se unam ao Clipperz como evangelizadores da AGPL.

Para lidar com a questão da privacidade dos aplicativos web, Barulli defende o que chama de "aplicativos de conhecimento zero" — aplicativos que criptografam os dados e a identidade do usuário de maneira que estas informações não possam ser acessadas pelo provedor.

Essa sugestão foi feita pelo próprio Barulli. "Richard Stallman só está preocupado com a liberdade do código fonte", diz ele. "Eu também me preocupo com a liberdade dos meus dados". Quando a questão é software instalado em uma estação de trabalho ou em uma rede controlada por você, explica Barulli, isso não costuma ser um problema. No entanto, diz ele, "ao mover meu aplicativo para a web, e com ele meus dados, eu gostaria de manter o controle sobre os meus dados. Esses dados ainda são meus".

Sendo um expert em segurança, Barulli está tão preocupado com a privacidade dos dados que, ao referir-se às tradicionais quatro liberdades do software livre, ele sugere que "esta é outra liberdade da qual o software livre deveria cuidar".

A longo prazo, Barulli também sugere mudanças nos navegadores web livres como forma de aumentar a proteção às liberdades do usuário. Mais especificamente, Barulli gostaria que os navegadores não apenas autenticassem o código usando protocolos de conhecimento zero como também, numa sugestão de Stallman, que comparassem o código JavaScript ou Ajax a uma cópia armazenada, alertando o usuário caso ocorra alguma alteração. "Esta solução", diz Barulli, "protege o usuário de código mal-intencionado que poderia ser executado sem que o usuário tomasse conhecimento, roubando seus dados e destruindo toda a arquitetura de conhecimento zero". Barulli sugere que esse recurso seja disponibilizado como um complemento para os navegadores mais populares.

Ele pretende continuar desenvolvendo essas idéias, e conclama os usuários a darem suas próprias sugestões, blogar sobre suas idéias em seus sites e fóruns e fazer doações à campanha. Ele também pede sugestões para um nome para a campanha.


Reações


Até agora foram poucas as respostas às sugestões de Barulli, e a maioria veio daqueles que o apoiaram desde o início.

Ao ser contactado, Stallman comentou sobre os pontos básicos dos desafios impostos pelos aplicativos web, mas recusou-se a discutir soluções mais detalhadas: "Estou escrevendo meu próprio artigo sobre o assunto, então prefiro não escrever muito sobre isso antes de concluí-lo".

Mas Capobianco, que encorajou o Clipperz a mover seu código para a AGPL, tem sido mais ativo. Capobianco postou em seu blog sobre as sugestões de Barulli, em especial sobre os aplicativos web de conhecimento zero, e disse à Linux.com: "Concordo plenamente com Marco quanto à necessidade da AGPL". Ele aconselha aos desenvolvedores: "Se vocês acreditam no conceito de copyleft do código aberto, é melhor adotarem a AGPL por padrão, para proteger a comunidade e garantir que quaisquer modificações feitas no código voltarão para a comunidade".

As sugestões de Barulli poderiam ser implementadas facilmente se mais pessoas da comunidade de software livre estivessem dispostas a contribuir. Mas para Capobianco, o problema é que "as pessoas não estão pensando no que está acontecendo. E há empresas fazendo um bocado de dinheiro às custas do código aberto sem retribuir com o código, e elas são contrárias [a sugestões como a de Barulli]. A batalha será dura, mas estou otimista. O bom do código aberto é que coisas boas acontecem bem rápido".

Se os eventos vão acontecer rápido o suficiente, obviamente, é outra coisa. E se Barulli e Capobianco estiverem certos, a resposta pode ter efeitos significativos no futuro do software livre — e talvez determine se o software livre tem um futuro.

Bruce Byfield é um jornalista da área de computação que escreve regularmente para o Linux.com

Nenhum comentário: