Follow falcon_dark on Twitter
Google

sexta-feira, agosto 05, 2005

Efeito colateral e o mundo dos Scripts

Podem me acusar de ser cínico, ou sádico. Mas parecemos estar presenciando o primeiro efeito colateral da mania da Microsoft de anunciar com anos de antecedência as novas peculiaridades de seus produtos. Explico: no mundo do software livre existe uma cultura muito forte de apenas retirar o estatus de BETA de um programa após ele ter sido exaustivamente textado e debugado. Meu software de gravação de CDs é um beta, por exemplo. Só após muitos lançamentos públicos um software livre atinge a versão 1.0 e torna-se um programa considerado estável. O Debian é um exemplo muito bonito disso, pois o sistema fica vários meses em BETA antes de ser considerado estável. Não é raro encontrarmos um Debian unstable rodando em um servidor pois mesmo essas versões já diveram várias sub-versões para serem testados.

Poderíamos dizer até que é essa cultura a grande responsável pela fama que os softwares livres tem de serem mais estáveis e menos sucetíveis e erros e falhas que grande parte dos softwares de desenvolvimento fechado. Parece ser essa a opinião da Microsoft, pois ela está fazendo questão de liberar betas de seus futuros programas com uma antecedência muito maior agora do que antes. Estamos a um ano de distância do próximo Windows e ele já teve (2 se não me engano) betas públicos.

É bem verdade que a maioria dos recursos prometidos para o próximo Windows ainda não deram as caras nas versões de teste do Longhorn que saíram até agora. E pessoalmente duvido que elas estarão presentes no Windows Vista (nome oficial que o sistema terá lá em 2006). Mas para uma coisa essas versões beta já serviram: a criação de vírus conceituais!

Um vírus conceitual não é um vírus propriamente dito, ele é um programa malicioso mas que não tem por objetivo prejudicar os usuários de um sistema ou tecnologia. Geralmente um vírus conceitual apenas deseja provar que é ou será possível criar novos vírus para um sistema ou dispositivo. E foi isso que aconteceu com o Windows Vista, que ainda está longe de ser lançado mas que já ganhou seu primeiro vírus conceitual.

Se as coisas continuarem assim no dia em que o Windows Vista chegar oficialmente ao mercado após passar horas na fila para adquirir uma cópia o usuário poderá, em casa, feliz e contente inserir o CD ou DVD no computador para quando o sistema terminar de ser instalado encontrar a internet recheada de dezenas de vírus prontos para atacar seu sistema novinho em folha. [Que construção gramatical absurda, uma frase do tamanho de um parágrafo]

A busca de um programa extenso de testes beta talvez não leve à um maior refinamento do software, mas parece que irá levar ao desenvolvimento de diversos softwares maliciosos para atacar a nova plataforma. E isso pode acontecer também com o IE7 que até seu lançamento pode ter algumas vulnerabilidades exploradas por crackers.

Segundo o que foi publicado por alguns sites de notícias (veja aqui) as vulnerabilidades exploradas até agora no Vista (Longhorn) podem ser potencializadas por um novo componente do Windows, chamado MSH. O MSH (Monad Shell) é um novo interpretador de comandos que irá substituir o command.com(.exe) e o cmd.exe na família Windows. A razão para supor que esse novo shell deixará o sistema menos seguro é que ele será um shell muito parecido (e eu quero dizer muito parecido mesmo) com o BASH (Bourne Again Shell) tão conhecido no mundo UNIX.

O curioso é que um shell poderoso e flexível, como o BASH, é considerado como um dos pontos fortes da arquitetura do UNIX e seus descendentes como o Linux e o BSD. Esse mesmo poder e flexibilidade agora levados ao mundo Windows estão sendo vistos, ao menos nesse primeiro momento, como um perigo para a segurança e integridade do sistema. A microsoft sentiu a necessidade de incluir um shell mais poderoso no Windows para permitir que scripts (arquivos texto com sequências de comandos) mais complexos possam ser criados para automatizar a execução de tarefas, principalmente de administração. É a velha tática de copiar os pontos fortes do adversário.

Isso trás duas conclusões interessantes! A primeira é que o GNU/Linux atravessa um momento onde busca reproduzir características típicas do Windows, como configurações avançadas dentro da GUI e programas com interface mais elaborada de um modo geral, para permitir a penetração do sistema no ambiente doméstico, formado majoritariamente de usuários leigos. Enquanto isso o Windows procura reproduzir características típicas do UNIX como o shell complexo, um sistema modular construído sobre pequenos programas que podem ser encadeados e com estabilidade para administrar servidores em rede.

A segunda conclusão interessante é que a Microsoft não está só buscando reproduzir as funcionalidades do shell do UNIX, mas está fazendo seu MSH à imagem e semelhança do BASH. Não confie em mim sobre isso, visite a página sobre o assunto na MSDN e veja como a estrutura sintática e funcional do MSH está muito mais parecida com o BASH do que com C/C++ e outras linguagens. Os comandos são muito semelhantes aos do BASH e as variáveis e outras pequenas coisas são no MSH idênticas ao BASH.

Isso leva-me a pensar sobre algo. Não que eu queira acusar alguém ou empresa de atos ilícitos ou anti-éticos. Existem licenças de software livre que obrigam a qualquer software que use código livre regido por elas a permanecer livre e aberto, como a GPL. E existem outras licenças que não obrigam o código a permanecer livre mesmo que se use código livre para criá-lo, como a BSD. O que impediria uma empresa, como a Microsoft por exemplo, que pegar um shell UNIX regido por uma licença que não obriga a manutenção da liberdade, e levá-lo para o Windows como software proprietário aproveitando-se do trabalho (gratuíto) de pessoas que voluntariamente desenvolveram algo. É óbvio que esse não é o caso, já que a Microsoft jamais cometeria ato de tão baixa ética [minha veia humorística apareceu agora, não?] e, principalmente, porque o BASH está sob a GPL.

Mas só um momento! Se o software da Microsoft é proprietário e por conseqüência de código fechado, como saberíamos se esta pegasse o código do BASH e transformasse-o em seu MSH? A única possibilidade é a suspeita, e esta pode advir da semelhança entre a operação do MSH e do BASH. Sem querer levantar teorias da conspiração, estou brincando aqui, ok? Mas isso poderia servir para uma reflexão para os críticos da GPL e da FSF.

E tudo isto leva-me à questão final deste longo artigo: quem irá processar a Microsoft para que a justiça analise o código do MSH em buscar de plágio do código do BASH como a SCO fez com a IBM no caso do kernel Linux pouco tempo atrás? Te peguei, estou brincando de novo!

Follow falcon_dark on Twitter
Google
Comments: Postar um comentário



<< Home

This page is powered by Blogger. Isn't yours?