Me enviaram este texto, que achei que trata diversas questoes interessantes relacionadas ao processo de desenvolvimento cientifico, a luz de observacoes acerca de programacao e arquitetura de computadores.
Fonte: http://www.paradigma.com.br/leiamais/leiamais0008/view
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.
Michael Stanton, professor do Instituto de Computação da Universidade
Federal Fluminense e Diretor de Inovação da Rede Nacional de Ensino e
Pesquisa (RNP)
Na TI essa mudança de paradigma talvez seja a mais "mutante". Quantas mudanças já não tivemos, por exemplo, de 1990 até hoje?
PS:Darwin inventou uma origem das espécies, sem fundamento concreto, porém conseguiu vários adeptos. Mas isso é assunto para outro forum ;)Darwin, que explicou a origem das espécies;
Contribua para a reputação dos usuários.
Contribua para a avaliação dos tópicos.
There are currently 1 users browsing this thread. (0 members and 1 guests)