Michael Stanton

WirelessBrasil

Ano 2004       Página Inicial (Índice)    


30/06/2004
Mudanças de paradigma

A pesquisa científica tem por objetivo promover mudanças na maneira pela qual entendemos o mundo. Na maioria da vezes, estas mudanças são incrementais, envolvendo apenas uma pequena inovação, deixando virtualmente intocada a grande estrutura do conhecimento da área em questão. Entretanto, na história do progresso científico, às vezes foram realizadas mudanças que não foram apenas incrementais, mas representaram uma ruptura com o passado, abrindo um novo capítulo na nossa compreensão da natureza, com sua assimilação exigindo, inclusive, a reconstrução das teorias anteriores e a re-interpretação de observações experimentais antes realizadas. Exemplos de proponentes destas rupturas incluem Copérnico, que explicou os movimentos dos planetas supondo que estes moviam em torno do sol ao invés da Terra; Darwin, que explicou a origem das espécies; e Einstein, que nos apresentou a relatividade de observação de fenômenos físicos.

No seu livro A Estrutura de Revoluções Científicas, de 1962, Thomas Kuhn se referia às rupturas nesta evolução científica como "mudanças de paradigma", um termo que hoje é usado mais genericamente para descrever uma modificação profunda em nossos pontos de referência. O termo vem sendo aplicado também na área das tecnologias de informação e comunicação (as TICs). Aqui vamos discutir sua aplicação à construção de computadores e de software.

Em 1981 a forma de construir computadores foi modificada para sempre pela decisão tomada pela IBM de abrir para todos a arquitetura do seu novo microcomputador, o PC. Esta decisão foi inédita: antes disto, a construção de todos os computadores havia sido mantida como sigilo proprietário do fabricante, e havia um número elevado de modelos diferentes. Depois, a arquitetura do PC foi adotado por outros fabricantes, que passaram a fabricar os clones, concorrendo contra a própria IBM. Não somente esta arquitetura eliminou outras da categoria de microcomputadores, como passou a substituir as categorias anteriores de minicomputadores e "mainframes", durante os vinte anos subseqüentes. Em suma, a arquitetura PC se tornou um padrão para a indústria de computadores.

Esta iniciativa da IBM foi uma mudança de paradigma, que afetou quase toda a indústria de computação, mas não teve os resultados que a IBM esperava, pois a adoção de hardware padronizado facultou a exploração mais ampla de software, e todos sabemos hoje que a beneficiária desta exploração não foi a IBM, mas a Microsoft, cujo contrato com a IBM a deixou livre para comercializar seu software para os fabricantes de clones de PCs. A IBM deixou também de dominar o mercado de hardware, tendo sido suplantado pela Dell, que se mostrou mais ágil em atender a um mercado onde o objetivo era montar um computador bom e barato, respeitando os padrões técnicos. Podemos qualificar a conseqüência principal desta mudança de paradigma como tornar hardware de computadores no que é chamado em inglês de "commodity": um insumo básico que pode ser usado como blocos de montar para diferentes objetivos. O que caracteriza o "commodity" é que existe em grande quantidade e que tem diversos fornecedores, que seguem fielmente os mesmos padrões. Quem já comprou um PC montado na loja da esquina sabe do que estou falando.

Num artigo publicado recentemente, Tim O´Reilly (da editora O´Reilly) apresentou sua visão que estamos potencialmente vivendo uma segunda mudança de paradigma, esta vez afetando o software dos nossos computadores (v. tim.oreilly.com/opensource/paradigmshift_0504.html). Especificamente, O´Reilly interpreta a evolução dos movimentos de software livre e software aberto tendo chegado a um momento crítico, com resultados imprevisíveis. Na coluna de 6 de maio de 2001, apresentamos estas duas comunidades, onde o software livre era governado pela estrita disciplina da Licença Pública Geral de GNU (GPL), criada por Richard Stallman, que obrigava colocar no domínio público qualquer acréscimo ao software existente, enquanto o software aberto admitia a comercialização dos produtos mesmo gerados a partir de programas compartilhados. De qualquer maneira, o custo de software aberto tende a ser substancialmente inferior ao software proprietário, como os produtos da Microsoft, para citar o exemplo mais conhecido de uma empresa que combate estes dois movimentos.

Este combate existe em vários níveis. Aqui no Brasil já vimos o uso de recursos do FUST ter sido adiado durante mais de 3 anos, em parte causado pela defesa pelo deputado federal Sérgio Miranda (PC do B, MG) do uso de software aberto, e não apenas produtos da Microsoft, nos computadores a serem instalados nas escolas (v. coluna de 20 de janeiro de 2003). A defesa de software aberto tem sido mais forte dentro do atual governo, onde um dos seus proponentes, Sr Sérgio Amadeu, ocupa cargo de direção do Instituto de Tecnologia de Informação (ITI), e está sendo promovido dentro da administração federal o uso do software aberto.

Entretanto, embora tenha sido importante a preferência por software aberto ao nível do computador do usuário, por si só, isto não mais determina as características do software realmente usado na prestação do serviço aos usuários destes computadores. A razão é simples: hoje em dia a grande maioria de computadores é usado em rede, normalmente a Internet, e os serviços de rede são prestados em boa parte pelos servidores dos sítios que visitamos para atender nossas necessidades. O exemplo mais óbvio hoje é o Google (www.google.com), cujo serviço é prestado por um conjunto de 100.000 servidores, com o sistema operacional, Linux. Desta perspectiva, somos todos usuários de software aberto.

O artigo de O´Reilly é longo, e somente será dado aqui um sumário do seu argumento. Na visão dele, o software aberto exprime três tendências de longo prazo: a conversão de software em "commodity"; a colaboração em rede; e software como serviço. Olhemos a cada uma a seguir.

Software como commodity: hoje em dia software para uso na Internet deve seguir os padrões (os protocolos) definidos para a Internet, significando que podemos substituir o Internet Explorer da Microsoft pelo Mozilla, ou o Outlook Express pelo Eudora, sem afetar seriamente a funcionalidade. O grande esforço dos movimentos de software livre e software aberto tem sido de clonar o núcleo do software (Windows e Office) da Microsoft, e parece que está bem encaminhado este empreendimento. Em breve, poderemos tanto usar o software da Microsoft, como estes clones, sem prejuízos. Mas qual será a conseqüência desta mudança: quem vai lucrar com ela? (É claro que a Microsoft vai perder!) Na visão de O´Reilly, os beneficiários serão as empresas que usam software para criar serviços. Cita como exemplos a Google e a Amazon (www.amazon.com), onde serviços proprietários têm sido criados baseado em uso de software aberto. Estas empresas adaptam este software, mas, como não o repassa, não são limitados pelas limitações de compartilhamento obrigatório dele. Um outro beneficiário seria a empresa, que, da mesma forma que a Dell no caso de hardware, consiga incluir em sua edição do sistema operacional Linux uma combinação de programas adicionais, de tal modo que o comprador consiga configurar adequadamente o software às suas necessidades. Evidentemente, esta atividade nunca será tão lucrativa quanto tem sido para a Microsoft, mas faz parte do progresso tornar o processo de fabricação de software mais eficiente e os preços mais baixos.

Colaboração em rede: o sucesso de muitos itens de software está intimamente relacionado à colaboração realizada dentro de uma comunidade de parceiros no seu desenvolvimento. O´Reilly lembra que nos primórdios o software era livremente trocado entre programadores, pois o caro nessa época era o hardware proprietário. O primeiro sistema operacional disponível em muitas arquiteturas diferentes de hardware era Unix, e na cultura da época a distribuição de software em "fonte" era normal e esperado. O antecessor da Internet foi a UUCPnet, uma enorme rede de sistemas Unix, interligados por linhas telefônicas, que suportava correio eletrônico e a USENET, um sistema distribuído de listas de discussão. O principal conteúdo de muitas destas listas era a distribuição irrestrito de software, e foi nessa época que foram inculcadas as virtudes de colaboração à distância. Somente depois do hardware virar um commodity observamos que uma parte da comunidade começou a proteger seus produtos.

Em tempos mais recentes, o mesmo espírito de colaboração, que havia sido exibido gratuitamente na antiga comunidade Unix, tem contribuído para criar serviços melhores em outros contextos. Como exemplos, podemos apontar a computação em grade realizado voluntariamente pelos colaboradores de projetos como SETI@home (v. coluna de 19 de fevereiro de 2001), as avaliações de produtos realizadas pelos usuários de Amazon, e o próprio funcionamento de Google. Em todos casos, o serviço é aprimorado pela contribuição expressa, indireta ou involuntária dos usuários: os participantes de SETI@home cedem voluntariamente o uso do tempo disponível dos seus computadores; os usuários do Amazon podem avaliar os produtos, e a média ponderada destas avaliações é usada pela Amazon para gerar a classificação destes produtos mostrada para outros usuários; o algoritmo de classificação de "relevância" usado por Google para ordenar as páginas relevantes leva em consideração o número de referências ("links") feitas a estas a partir de outras páginas na sua base de dados. Neste último caso, esta contribuição é externa ao controle de Google, e poderia ser aproveitada por competidores de Google. O´Reilly sugere que a criação recente por Google de orkut e GMail são iniciativas destinadas a obter a contribuição de usuários, agora voluntários, em ambientes mais controlados.

Software como serviço: neste contexto, não estamos interessados em ver sítios como SETI@home, Amazon e Google como produtos, mas como processos, que prestam serviços a seus usuários. Um recente artefato de software, chamada de "web services", permite que estes serviços sejam requisitados por software no computador do usuário remoto, permitindo que um enorme base de informação, como de Amazon ou Google, seja considerada apenas como um componente de um sistema ainda maior, montado e acionado a partir do computador do usuário final, quer seja este um computador portátil, um telefone móvel ou até um dispositivo como o iPod da Apple.

O´Reilly considera que seja necessário hoje ver a Internet com um grande computador virtual, e, conseqüentemente, criar um sistema operacional para ele. Para fazer isto afirma que os exemplos históricos do software aberto e da própria Internet demonstram que é possível criar um novo sistema deste tipo, com uma arquitetura que permita a participação de qualquer um interessado em aumentar o valor do sistema. A contribuição do software aberto seria maximizar o compartilhamento livre de idéias expressas em software, mas adverte que seus proponentes precisam ser mais flexíveis do que tradicionalmente, admitindo outras formas de colaboração que não apenas o licenciamento de software compartilhado. Em seu lugar, prefere que consideremos a iniciativa de software aberto como uma área de estudo científico e econômico, com precedentes históricos, e fazendo parte de uma história social e econômica. Seria necessário entender corretamente o impacto dos três fatores que já destacamos: os padrões cuja adoção criam novos "commodities"; as conseqüências da arquitetura dos sistemas e de uso em rede; e as práticas de desenvolvimento adotadas quando software é considerado como serviço. Seria importante não limitar o estudo apenas a projetos de software aberto, e estudar também a ocorrência destes fatores em software proprietário. Finalmente seria necessário identificar outras áreas de atividade em colaboração, que exibem os mesmos princípios que historicamente levaram ao compartilhamento de software.

Como já foi visto, as mudanças de paradigma ocorrem sem dar aviso prévio e suas conseqüências são extensas para a área de saber ou atividade relevante. Na área científica, uma mudança vai ganhando adesões ao longo do tempo, na medida do convencimento dos pares da correção do grupo renovador. A área tecnológica é um pouco diferente, porque é moldada pela criatividade humana. Numa mudança de paradigma nesta área, cabe a cada um se posicionar de forma a aproveitar melhor as oportunidades que virão no bojo da reformulação da área. Mas a posição de cada um não precisa ser passiva. Como diz O´Reilly, é difícil prever onde esta mudança vai terminar, mas ele complementa citando outra pessoa da área tecnológica: "A melhor maneira de prever o futuro é inventá-lo". O futuro será determinado por nós todos.