CAPÍTULO III

A emergência do desenvolvimento compartilhado.

"Existe um grande potencial de aprendizagem no uso do software livre que não existe no software proprietário. Se o código fonte é proprietário, é oculto da população em geral. Este fato tira desta população uma grande oportunidade de aprendizado . Quando o código fonte é aberto e existe uma comunidade que aceita contribuições de melhorias ao ambiente ou de novos aplicativos, então tudo isto também é aberto ao mundo, ou, pelo menos, ao mundo com acesso. Não apenas o código fonte serve como exemplo de idéias e implementações de programação, mas a comunidade de desenvolvimento serve como uma comunidade de prática social com o acesso de todos. Isto representa uma base global gratuita de suporte e educação." (Walter Bender, diretor do MIT Media Lab; David Cavallo, pesquisador do MIT Media Lab)

A Revista Wired de fevereiro de 2005 trouxe em sua capa a foto de um jovem de 19 anos chamado Blake Ross. Sua foto acompanhava a matéria The Firefox Revolt. Firefox é um navegador (browser) de Internet feito a partir do Mozilla, também navegador, cuja característica mais importante é ser aberto e não-proprietário. Blake Ross e Ben Goodger, 24 anos, são importantes desenvolvedores desse software programado por centenas de colaboradores. A Wired, principal revista norte-americana da cultura digital, relata que em apenas dois meses de lançamento, o navegador Firefox teve 11 milhões de downloads. Entitulada Storming Redmon, a mesma Wired preparou um quadro para demonstrar o enorme avanço do que qualificou coalition of open source projects (coalização dos projetos de código aberto).

A comparação demonstra a existência de segmentos em que o desenvolvimento não-proprietário já é dominante. Os percentuais relacionam o produto à totalidade do mercado daquele segmento. Os primeiros produtos em cada segmento são propriedade da Microsoft, os segundos são os principais produtos não-proprietários: Browsers (IE 92%, Firefox 4%); Desktop (Windows 95%, Linux 3%); Application Servers (Windows 62%, Linux 19%); Databases (SQL Server 64%, MySQL? 49%); Web servers (IIS 21%, Apache 68%); Mail Servers (Exchange 10%, Sendmail 41%); Email client (Outlook Express 19%, N/A); Web enciclopédias (Encarta Premium 68,000 entradas; Wikipedia 431,195 entradas).1

Um dos principais sites que registram os projetos de software de código aberto e não-proprietário é o source forge.2 O levantamento realizado nos primeiros dezenove dias de março possibilitou constatar 99 mil e 107 projetos colaborativos, envolvendo 1.056.568 de desenvolvedores registrados. Em janeiro de 2004, o mesmo site registrava 75 mil projetos e um pouco mais de 780 mil pessoas envolvidas (TAURION, 2004: 77). O crescimento é contínuo e acelerado. Em abril de 2001 existia um pouco menos de 18 mil projetos e 145 mil programadores. Em outubro de 2002, passaram para 49 mil projetos e aproximadamente 500 mil programadores (GUROVITZ, 2002:19-20). Os principais projetos são:

  • Database
    • Database Engines/Servers (703 projetos),
    • Front-Ends (1977 projetos);
  • Desktop Environment
    • Gnome (567 projetos),
    • K Desktop Environment (KDE) (452 projetos),
    • Screen Savers (52 projetos),
    • Window Managers (235 projetos);
  • Formats and Protocols
    • Data Formats (242 projetos),
    • Protocols (47 projetos);
  • Games/Entertainment -
    • Board Games (786 projetos),
    • Card Games (20 projetos),
    • First Person Shooters (722 projetos),
    • Multi-User Dungeons (MUD) (1009 projetos),
    • Puzzle Games (465 projetos),
    • Real Time Strategy (661 projetos),
    • Role-Playing (1893 projetos),
    • Side-Scrolling/Arcade Games (678 projetos),
    • Simulation (1075 projetos),
    • Turn Based Strategy (894 projetos);
  • Internet
    • File Transfer Protocol (FTP) (446 projetos),
    • Finger (22 projetos),
    • Log Analysis (392 projetos),
    • Name Service (DNS) (222 projetos),
    • WAP (145 projetos),
    • WWW/HTTP (14925 projetos);
  • System
    • Archiving (1179 projetos),
    • Benchmark (176 projetos),
    • Boot (244 projetos),
    • Clustering (378 projetos),
    • Distributed Computing (729 projetos),
    • Emulators (450 projetos),
    • File Management (61 projetos),
    • Filesystems (556 projetos),
    • Microsoft (1418 projetos),
    • Installation/Setup (659 projetos),
    • Logging (635 projetos),
    • Networking (3317 projetos),
    • Operating System Kernels (1188 projetos),
    • Power (UPS) (35 projetos),
    • Search (22 projetos),
    • software Distribution (571 projetos),
    • Systems Administration (2500 projetos),
    • System Shells (321 projetos);
  • Text Editors -
    • Documentation (234 projetos),
    • Emacs (108 projetos),
    • Integrated Development Environments (IDE) (507 projetos),
    • Text Processing (600 projetos),
    • Word Processors (199 projetos);
  • Operating System
    • Emulation and API Compatibility (218 projetos),
    • Grouping and Descriptive Categories (87446 projetos),
    • Handheld/Embedded Operating Systems (1122 projetos),
    • Modern (Vendor-Supported) Desktop Operating Systems (40038 projetos),
    • Other Operating Systems (4760 projetos).

No capítulo anterior foi possível identificar a importância do hardware padronizado e da arquitetura não-proprietária para a consolidação e expansão dos microcomputadores. Ao mesmo tempo, a arquitetura aberta viabilizou o hardware não-proprietário, contraditoriamente permitiu o avanço do modelo de software proprietário em que o código fonte é fechado aos usuários. Assim, o software que, em geral, era um acessório do hardware proprietário, portanto distribuido gratuitamente, continuou não sendo vendido, o que passou a ser comercializado foi uma licença de uso do seu código executável. Este modelo baseado na licença proprietária tornou-se hegemônico. A licença traz claramente as condições de uso e as restrições de cópia, o software será sempre propriedade da empresa que o desenvolveu. A empresa desenvolvedora de seus códigos terá não apenas a autoria, mas a propriedade e as possibilidades de exploração econômica do software pelo período de validade que a legislação nacional fixou.

Em 1984, Richard Stallman, pesquisador do MIT (Massachusets Institute of Technology), lança um manifesto escrito em 1983 em que propunha retomar a prática de compartilhamento na criação e desenvolvimento de software. Segundo Stallman, quando começou a trabalhar no laboratório de inteligência artificial do MIT, em 1971, o compartilhamento dos códigos dos softwares era uma prática tão comum quanto a que leva as pessoas a tracarem receitas culinárias. Esta prática havia sido alterada nos anos 80 e estava sendo substituída pela prática do ocultamento do código contido nos softwares. (STALLMAN, 2002: 15-30) Stallman pode ser caracterizado como um típico hacker, ou seja, uma pessoa com profundos conhecimentos de programação que é um apaixonado por desenvolver e entender códigos de programação.

Stallman descreve o que chamou de "colapso da comunidade", atacando o modelo proprietário que lhe foi imposto e que passa a dominar também o seu instituto de pesquisa:

“A situação mudou drasticamente no começo da década de 80, quando a compania Digital encerrou a fabricação de computadores da série PDP-10. Sua arquitetura, elegante e poderosa para os anos 60, não escalava naturalmente para os espaços de endereçamento que se tornavam factíveis nos anos 80. Isto significava que todos os programas que comunham o sistema ITS (Incompatible Time Sharing System) ficaram obsoletos. A comunidade hacker do Laboratório de Inteligência Artifical [IA do MIT] já havia, há pouco, colapsado. Em 1981 a Symbolics, compania lá encubada, já havia contratado praticamente todos os hackers do laboratório, e a comunidade, rarefeita, ficou incapacitada a se manter (O livro Hackers, de Steve Levy, descreve esses eventos, bem como uma imagem dessa comunidade em seus melhores dias). Quando o laboratório de IA comprou um PDP-10 em 1982, seus administradores decidiram usar, ao invés do ITS, o sistema equivalente da Digital, que não era livre. Os computadores modernos daquela época, como o VAX ou os baseados no processador 68020, vinham com seus próprios sistemas operacionais, mas nenhum deles era livre: tinha-se que assinar um NDA, um acordo de confidencialidade, até par obter uma cópia em versão executável. Isto significava que o primeiro passo para se usar o computador era o de prometer não ajudar seu vizinho. Comunidades cooperativas estavam proibidas. A regra estabelecida pelos donos de sistemas proprietários era: “Se você compartilhar com seu vizinho, será um pirata. Se você quiser alguma mudança no software, implore-nos para que a implementemos."3 (Stallman, 2002: 15-16)

Para Stallman, estava ocorrendo um desvirtuamento grave e suas consequências eram socialmente negativas. Impedir o compartilhamento feria os próprios ideais e a prática comunitária norte-americana. Stallman considerava que as companhias de software proprietário estavam procurando transformar a propriedade sobre o software em um direito natural, mas ele pensava que a própria tradição constitucional de seu país negava isso, uma vez que o copyright era um monopólio artificial imposto ao direito natural de cópia.

É possível constatar a dimensão centralmente ética e social do pensamento do hacker Richard Stallman também em outro elemento crucial da crítica que ele faz ao modelo proprietário, pois ele se coloca contrário a proibição que as empresas exercem sobre o uso e as alterações de um software. Stallman considerava descabido o poder destas empresas em tornar ilegal o que seria uma necessária e corriqueira mudança nos códigos de um software para atender os interesses de quem usa aquela solução. Para ele, os usuários deveriam ter a completa liberdade de utilizar um programa de computador e de mudá-lo se assim for necessário, bem como, compartilhar as mudanças, pois "helping other people is the basis of society." (STALLMAN, 2002: 16)

No livro Free as in Freedom, Sam Willians intitulou o capítulo que fala sobre o nascimento da mobilização realizada por Stallman de "A Stark Moral Choice". Esta ação irá culminar na constituição do movimento do software livre e na formação da Free software Foundation. A escolha por um outro modelo de desenvolvimento tecnológico, dificilmente pode ser observada longe do terreno de uma moral que tem a solidariedade como uma finalidade do convívio social. Stallman gerou uma mensagem, enviada em setembro de 1983, para uma lista de discussão, precisamente um newsgroup da Usenet (net.unix-wizards), com o assunto "New Unix implementation". A mensagem é esclarecedora do espírito em que se baseia o início do movimento pelo software livre:

From-CSvax:pur-ee:inuxc!ixn5c!ihnp4!houxm!mhuxi!eagle!mit-vax!mit-eddie!RMS@MIT-OZ
From: RMS%MIT-OZ@mit-eddie
Newsgroups: net.unix-wizards,net.usoft
Subject: new UNIX implementation
Date: Tue, 27-Sep-83 12:35:59 EST
Organization: MIT AI Lab, Cambridge, MA

Unix livre!

Iniciando nesta ação de graças eu vou escrever um sistema completo
compatível com o Unix chamado GNU (Gnu Não é Unix), e fornecê-lo
gratuitamente para todos que possam utilizá-lo.

Contribuições de tempo,
dinheiro, programas e equipamento são bastante necessárias.

Para começar, GNU será um kernel e todos os utilitários necessários para
se escrever e executar programas em C: editor de textos, shell, compilador,
linkeditor, montador e algumas outras coisas. Depois disso nós
adicionaremos um formatador de textos, YACC, um jogo do Império (Empire),
uma planilha eletrônica, e centenas de outras coisas. Nós esperamos,
eventualmente, fornecer tudo de útil que normalmente vem com um
sistema Unix, além de quaisquer outras coisas úteis, incluindo documentação
on-line e impressa.

GNU será capaz de rodar programas do Unix, mas não será idêntico ao
Unix. Nós faremos todos os aperfeiçoamentos que forem convenientes,
baseados em nossa experência com outros sistemas operacionais. Em
particular, nós planejamos ter nomes de arquivos longos, números de
versão de arquivos, um sistema de arquivos à prova de falhas, talvez
auto-preenchimento de nomes de arquivos, suporte a vídeo independente
de terminal, e eventualmente um sistema de janelas baseado no Lisp, de
modo que vários programas Lisp e programas Unix comuns possam compartilhar
uma tela. Tanto C quanto Lisp serão disponibilizados como linguagens de
programação de sistemas. Nós teremos software de rede baseado no protocolo
chaosnet do MIT, bastante superior ao UUCP. Nós também teremos algo
compatível com o UUCP.

Quem eu sou?

Eu sou Richard Stallman, inventor do original e muito imitado editor
EMACS, atualmente no Laboratório de Inteligência Artificial do MIT.
Eu trabalhei extensivamente em compiladores, editores, depuradores,
interpretadores de comandos, no Incompatible Timesharing System e no
Sistema Operacional da Máquina Lisp. Eu fui o pioneiro do suporte
de vídeo independente de terminal no ITS. Além disso, eu implementei
um sistema de arquivos à prova de falhas e dois sistemas de janelas
para máquinas Lisp.

Por que eu tenho que escrever o GNU?

Eu considero que a regra de ouro requer que se eu gosto de um programa
eu tenho que compartilhá-lo com outras pessoas como eu. Eu não posso,
com a consciência limpa, assinar um contrato de não-divulgação de
informações ou um contrato de licença de software.

De modo que eu possa continuar a usar computadores sem violar os meus
princípios, eu decidi juntar uma quantidade suficiente de software
livre, de modo que eu possa continuar sem utilizar nenhum software que
não seja livre.

Como você pode contribuir?

Eu estou pedindo aos fabricantes de computadores por doações de máquinas
e dinheiro. Eu estou pedindo às pessoas por doações de programas e
trabalho.

Um fabricante de computadores já se ofereceu para fornecer uma máquina.
Mas nós poderíamos usar mais. Uma consequência que você pode esperar
se você doar uma máquina é que o GNU poderá rodar nela desde cedo.
Seria melhor se a máquina fosse capaz de operar em uma área residencial,
sem necessidade de energia ou resfriamento sofisticados.

Programadores individuais podem contribuir escrevendo uma duplicata
compatível de algum utilitário do Unix e doando para mim. Para a
maioria dos projetos, tempo parcial distribuído seria bastante
difícil de coordenar; as partes escritas independentemente não iriam
funcionar juntas. Mas para a tarefa em particular de substituir o Unix,
esta tarefa não é necessária. A maior parte das especificações de
interfaces já estão fornecidas pela compatibilidade com o Unix. Se
cada contribuição funcionar com o resto do Unix, ela provavelmente
funcionará com o resto do GNU.

Se eu receber doações de dinheiro, eu serei capaz de contratar algumas
pessoas em tempo integral ou parcial. O salário não será alto, mas
eu estou procurando por pessoas para as quais saber que estão ajudando a
humanidade seja tão importante quanto dinheiro. Eu imagino este como
um modo de habilitar pessoas dedicadas a focar todas as suas energias
no trabalho sobre o GNU sem que elas necessitem de uma outra maneira
de ganhar a vida.

Para mais informações, por favor me contacte.
Arpanet mail:
  RMS@MIT-MC.ARPA
Usenet:
  ...!mit-eddie!RMS@OZ
  ...!mit-vax!RMS@OZ
US Snail:
  Richard Stallman
  166 Prospect St
  Cambridge, MA 02139"4 

Stallman pretendia criar um movimento, o GNU, para produzir um sistema operacional livre que realizasse as mesmas funções que o sistema Unix, daí a construção do acrônimo recursivo "GNU is not Unix". O Unix começou a ser desenvolvido na década de 60 pelo Bell Laboratories que era o grupo de pesquisa e desenvolvimento da AT&T. Sua portabilidade atraiu inúmeros usuários, pois este sistema operacional poderia operar computadores de qualquer tamanho, também possuía uma lógica que o tornava independente de dispositivos. Este sistema operacional era propriedade da AT&T, mas a legislação antitruste norte-americana impedia que a empresa -- monopólio das telecomunicações -- comercializasse softwares. Isto levou a AT&T a tornar disponível seu código-fonte para as universidades. Algumas gratuitamente outras mediante um pagamento simbólico. O Unix foi sendo compartilhado e alterado de acordo com cada interesse de professores, pesquisadores e estudantes. "Entre 1973 e 1975, várias versões aprimoradas foram desenvolvidas -- a mais popular delas foi criada pela Universidade da Califórnia , em Berkeley, e ficou conhecida como BSD." (FLYNN & McHOES?, 2002: 312).

A mensagem de Stallman já trazia a idéia-chave do software livre de que o conhecimento tecnológico deve ser compartilhado e para tal era fundamental que as pessoas não fossem impedidas de ter acesso a todas as informações contidas no software ("Eu não posso, com a consciência limpa, assinar um contrato de não-divulgação de informações"), principalmente, no código-fonte. Também era uma mensagem que buscava um impacto coletivo, público e social a partir de uma forte postura individualista. Um individualismo que se manifesta não no isolamento nem na possessividade, mas na solidariedade e na cooperação. Em janeiro de 1984, Stallman passa a dedicar-se completamente ao desenvolvimento do sistema GNU.

As colaborações foram crescendo durante a segunda metade dos anos 1980 e a comunidade de desenvolvedores GNU conseguiu produzir vários softwares que comporiam um sistema operacional livre e alternativo. A cooperação em rede tinha como princípio a idéia de utilizar o copyright para proteger o trabalho coletivo. Por isso foi criado o conceito de copyleft e a licença GPL, General Public License.

O copyleft pode ser entendido como um "hackeamento" da idéia de copyright ou inversão da lógica do que a licença deveria proteger. O copyright surgiu na Inglaterra e foi assumido pela Constituição norte-americana de 1787. Trata-se de um direito reservado à indústria editorial de confecção e comercialização de cópias de uma obra. Apesar de ter sido criado antes dos direitos de autor, o copyright é mais limitado, pois diz respeito aos direitos de exploração econômica da criação. O movimento GNU irá utilizar o sistema de proteção formal do copyright para proteger o conteúdo e o processo colaborativo.

No site do movimento GNU ou da Free software Foundation está a definição de software livre que "se refere à liberdade dos usuários executarem, copiarem, distribuírem, estudarem, modificarem e aperfeiçoarem o software. Mais precisamente, ele se refere a quatro tipos de liberdade, para os usuários do software:

A liberdade de executar o programa, para qualquer propósito (liberdade no. 0) A liberdade de estudar como o programa funciona, e adaptá-lo para as suas necessidades (liberdade no. 1). Acesso ao código-fonte é um pré-requisito para esta liberdade. A liberdade de redistribuir cópias de modo que você possa ajudar ao seu próximo (liberdade no. 2). A liberdade de aperfeiçoar o programa, e liberar os seus aperfeiçoamentos, de modo que toda a comunidade se beneficie (liberdade no. 3). Acesso ao código-fonte é um pré-requisito para esta liberdade."5

A licença GPL contém estas quatro liberdades, permitindo aos usuários do software redistribuir cópias modificadas de forma gratuita ou comercial. Ou seja, a licença GNU/GPL não impede a distribuição de programas com a cobrança de um valor. Apenas não permite que nenhum modelo de comercialização retire estas liberdades. Elas não podem estar subodinadas a autorizações , permissões ou pagamentos.

No texto O que é software Livre, publicado no site da comunidade GNU, existe uma questão crucial para que uma licença possa ser considerada GPL: "Para que essas liberdades sejam reais, elas tem que ser irrevogáveis desde que você não faça nada errado; caso o desenvolvedor do software tenha o poder de revogar a licença, mesmo que você não tenha dado motivo, o software não é livre." É necessário que o autor de uma determinada versão do software deixe expresso que não poderá em nenhuma hipótese cancelar ou anular aquelas quatro liberdades vinculadas ao programa computacional específico. Esta medida visa claramente impedir que o modelo livre não seja utilizado apenas para criar uma massa crítica de usuários de um produto que a qualquer momento, a depender da decisão de seu autor, tenha as quatro liberdades revogadas, tornando-se software proprietário.

O copyleft, trocadilho que pode ser traduzido por "deixamos copiar", é um conceito que nasce da necessidade de proteger a colaboração e o método cooperativo de produção de software. Ele não é o mesmo conceito de domínio público. Um software com a licença GPL não está em domínio público. Ele está protegido pelo copyright, pois colocado em domínio público, isto permitiria que pessoas não-cooperativas transformem o programa em software proprietário. Corporações ou pessoas físicas poderiam introduzir algumas modificações no software desenvolvido colaborativamente para distribui-lo como um produto proprietário, eliminando as liberdades que os autores anteriores buscavam assegurar no domínio público.

Portanto, a licença típica do software livre, a GNU/GPL é uma licença baseada "na regra de que, quando redistribuindo um programa, você não pode adicionar restrições para negar para outras pessoas as liberdades principais. Esta regra não entra em conflito com as liberdades; na verdade, ela as protege."6 Isto é a aplicação do conceito de copyleft. Seu objetivo é implementar uma restrição, a que impeça que um programa realizado a partir do trabalho colaborativo seja apropriado privadamente e dele seja retirada as possibilidades de colaboração. O copyright alterado pelo conceito de copyleft permite liberar o que as licenças proprietárias proibem e proibir o que elas liberam:

"Para tornar um programa copyleft, primeiro nós registramos o copyright; então nós adicionamos termos de distribuição, que são um instrumento legal que garante a qualquer pessoa os direitos de usar, modificar, e redistribuir o programa ou qualquer programa derivado dele se e somente se os termos de distribuição não forem modificados. Desta forma, o programa e as liberdades se tornam legalmente inseparáveis. Desenvolvedores de software proprietário usam o copyright para retirar a liberdade dos usuários; nós utilizamos o copyright para garantir a liberdade deles. É por isso que revertemos o nome, mudando de "copyright" para "copyleft"."7

Existe uma série de licenças consideradas pela Free software Foundation incompatíveis com a licença GNU/GPL. Por outro lado, isso não quer dizer que não assegurem as liberdades principais, ou seja, a GPL não é a única licença de software livre. Nem todas as licenças livres usam o conceito de copyleft. Elas demonstram tentativas de encontrar um modelo de licenciamento não-proprietário que assegure os melhores benefícios aos desenvolvedores na visão de cada agrupamento ou comunidade de programadores. As principais licenças são:

  • XFree86 1.1 License;
  • Affero General Public License;
  • Arphic Public License;
  • The Condor Public License;
  • Original BSD License;
  • OpenSSL? License;
  • Academic Free License, version 1.1;
  • Open software License, version 1.0;
  • Apache License;
  • Zope Public License;
  • License of xinetd;
  • License of Python 1.6b1 and later versions, through 2.0 and 2.1;
  • Old OpenLDAP? License, version 2.3;
  • IBM Public License, version 1.0;
  • Common Public License, version 1.0;
  • Eclipse Public License, version 1.0;
  • Phorum License, version 2.0;
  • LaTex? Project Public License;
  • Mozilla Public License;
  • Common Development and Distribution License (CDDL);
  • Netizen Open Source License (NOSL), version 1.0;
  • Interbase Public Licence, version 1.0;
  • Sun Public License;
  • Nokia Open Source License;
  • Netscape Public License (NPL);
  • Jabber Open Source License, version 1.0;
  • Sun Industry Standards Source License, 1.0;
  • Q Public License (QPL), version 1.0;
  • PHP Licence, version 3.0;
  • Zend License, version 2.0;
  • Vita Nuova Liberal Source License;
  • Lucent Public License version 1.02 (Plan 9 license);
  • Apple Public Source License (Apsl), version 2.8

A licença aberta e não restritiva, como as do tipo BSD, permite que qualquer pessoa ou empresa possa utilizar e alterar os códigos livremente, sem o impedimento de apropriar-se do trabalho coletivo em produtos fechados. Ela implica somente na exigência de avisar ao autor do código que ele está sendo utilizado. Já a licença GPL contém o chamado "efeito viral" ou realiza a contaminação virótica, pois alterações efetuadas a partir de um código GPL não poderão ser licenciados de modo proprietário, ou seja, não poderão deixar de portar as quatro liberdades características do "copyleft". No modelo GPL, não seria possível a Microsoft, por exemplo, utilizar-se do stack de software do TCP/IP nas suas várias versões do Windows, mas como seu licenciamento é BSD, a empresa tem este direito legalmente garantido. (TAURION, 2004: 141-147)

A questão do trabalho colaborativo está no centro do modelo de desenvolvimento de software livre que pode ser definido como aberto e não-proprietário. Aberto por ter em seu fundamento a transparência do código fonte do software. Não-proprietário devido ao reconhecimento de autoria e não da propriedade das idéias, ou seja, nesta concepção o software é criado por pessoas que se apoiaram no conhecimento compartilhado pela humanidade.

Em agosto de 1991, um estudante finlandês chamado Linus Benedict Torvalds, na época com 21 anos, envia uma mensagem para um newsgroup que discutia o Minix, uma variação do Unix, desenvolvida por Andrew Tanenbaum. A mensagem dizia:

DE: torvalds@klaava.Helsinki.Fi (Linus Benedict Torvalds)
PARA: Newsgroup: comp.os.minix
Assunto: O que você mais gostaria de ver no minix?
Sumário: pequena pesquisa para meu novo sistema operacional
ID da mensagem: <1991Ago25.205708.9541@klaava.Helsinki.Fi>

Olá, todo o pessoal que usa minix - estou fazendo um sistema operacional (livre, apenas
como hobby, não será grande e profissional como o gnu) para clones de AT 386 (486).
Ele está sendo fermentado desde abril e está quase pronto. Gostaria de receber feedback
sobre o que as pessoas gostam/não gostam no minix, uma vez que o meu OS se parece
um pouco com ele (mesmo layout físico de sistema de arquivos (devido a razões práticas)
entre outras coisas.

No momento portei bash (1.08) e gcc (1.40) e as coisas parecem funcionar. Isso pressupõe
que conseguirei alguma coisa prática dentro de poucos meses e gostaria de saber que
características as pessoas mais gostariam de ter.Quaisquer sugestões são bem vindas,
mas não prometo implementá-las :-)

            Linus (torvalds@kruuna.helsinki.fi)

PS. Sim - ele está livre de qualquer código minix, e tem um fs de multithread. Ele não é portável
(usa chaveamento de tarefas, etc. 386) e provavelmente nunca será compatível com nada além
de discos rígidos AT, pois isso é tudo que eu tenho :-(.
(TORVALDS, 2001: )

Várias pessoas dispuseram-se a ajudá-lo. Começava a construção colaborativa de um dos mais importantes softwares do planeta, o Linux, chamado pela comunidade em torno da Free software Foundation, de GNU/Linux. Torvalds teve seu primeiro contato com dois elementos fundamentais para o desenvolvimento de sua solução, o sistema operacional Unix e Richard Stallman, meses antes. Linus foi convidado por Lars Wirzenius para assistir a uma palestra de Stallman na Universidade Politécnica de Helsinque. Em seu livro-depoimento Só Por Prazer: Linux, os bastidores da sua criação, Torvalds descreve sua impressão: "Basicamente, ele [Stallman] foi o pioneiro da idéia da disponibilidade do código fonte livre como uma coisa intencional, não apenas por acidente, como aconteceu com o desenvolvimento aberto do Unix original. Devo admitir que eu não tinha muita consciência das questões sócio-políticas que eram -- e são -- tão caras a RMS [Richard Stallman]. Na verdade não sabia muito sobre a Fundação do software Livre que ele criara e tudo o que ela representava. A julgar pelo fato de que não me lembro de muita coisa sobre o que se falou em 1991, ela não deve ter causado um impacto muito grande na minha vida naquela época. Eu estava interessado em tecnologia e não em política -- tivera política suficiente em casa. Entretanto, Lars era um ideólogo e eu o acompanhei e ouvi. Em Richard eu vi, pela primeira vez na minha vida, o estereótipo do hacker de cabelos e barbas longos. Não temos muita gente desse tipo em Helsinque. Posso não ter chegado a ver a luz, mas acredito que alguma coisa de seu discurso deve ter penetrado em mim. Afinal de contas, mais tarde acabei usando a licença GPL para o Linux." (TORVALDS, 2001: 83-84)

Para escrever o Linux, Torvalds utilizou vários softwares e ferramentas que estavam disponíveis na Internet de modo livre. Por exemplo, um destes programas foi o GCC, um compilador desenvolvido pela comunidade GNU que tinha a licença GPL. A Free software Foundation por essa razão considera Linux, o núcleo ou kernel de um sistema operacional que integra vários outros elementos, alguns que vinham sendo elaborados desde 1984. Por isso, chamam o Linux de GNU/Linux.

O crescimento do GNU/Linux e seu aperfeiçoamento foi veloz e amplo, podendo ser definido como planetário. Todos os continentes possuem desenvolvedores do Linux. Trabalham em rede para depurar e corrigir os erros e falhas, bem como, para incluir inovações e melhorias. Este processo de compartilhamento do conhecimento tecnológico foi estudado por um hacker norte-americano chamado Eric Raymond. Para Raymond, dois estilos ou modelos fundamentalmente diferentes de desenvolvimento de software contrapõem-se. O modelo da "catedral" que é predominante no universo comercial e o modelo "bazar" que é o modelo típico do mundo Linux.

Disponível na Internet, Raymond escreveu The Cathedral and the Bazaar. Logo no seu início é colocada uma questão que expõe a enorme força da colaboração: "Linux é subversivo. Quem pensaria mesmo há cinco anos atrás que um sistema operacional de classe mundial poderia surgir como que por mágica pelo tempo livre de milhares de colaboradores espalhados por todo o planeta, conectado somente pelos tênues cordões da Internet?"9 (RAYMOND, 2001: 21)

Raymond caracterizou o estilo de desenvolvimento de Linus Torvalds como aquele que libera cedo a versão inicial do software, delega o máximo de tarefas e está completamente aberto à participação das pessoas. O estilo hierarquizado e silencioso das Catedrais em nada se assemelha ao estilo em que a comunidade Linux trabalha. Trata-se de um estilo que se assemelha a um grande e barulhento bazar, com diferentes agendas, aproximações, preocupações e interesses, mas que de onde parece emergir um sistema complexo, coerente e estável.

Existia uma forte tradição entre os usuários do Unix em compartilhar o código fonte de suas versões. Segundo Raymond, o mundo Unix sempre reutilizou códigos e não seria por outra razão que o projeto GNU teria escolhido o Unix como base de um sistema operacional livre, embora tivesse duras críticas ao sistema. Para Raymond, o mundo Linux levou esta tradição próxima a seu limite tecnológico, colocando na rede mundial de computadores muitos terabytes de códigos abertos, livres, sem impedimento legal de uso. Mais do que isso, pela enorme participação e pela quantidade de códigos, Raymond considera que se atinge a qualidade.

“Aqui, penso eu, está a diferença essencial por trás dos estilos catedral e bazar de se programar computadores. No estilo cadedral, falhas de desenvolvimento e implementação de programas são fenômenos profundos, insidiosos e ardilosos. Meses de paciente escrutínio, por um pequeno e dedicado grupo, eram necessários para se acumular confiança de que as falhas foram todas encontradas e corrigidas. Daí o longo período entre lançamentos de versões, e o desapontamento quando as longamente esperadas versões não saíam perfeitas. Doutra feita, no estilo bazar presume-se que as falhas de programação são, em geral, fenômenos superficiais – ou, pelo menos, que se tornam superficiais quando expostos a milhares de co-desenvolvedores malhando sobre cada novo lançamento. Em consequência, novas versões são lançadas com maior frequência para se obter mais correções, e se tem, como efeito colateral positivo, menos a perder quando uma ocasional má feita é lançada."10(RAYMOND, 2001: 31)

Este enorme trabalho coletivo e distribuído é o que pode explicar, de acordo com Eric Raymond, a pequena quantidade de erros, a estabilidade e a robustez do sistema operacional Linux. A política do "libere cedo, libere frequentemente" trata da disposição ou exposição do código fonte de um software na rede. Esta política, típica do Linux, assegura a eficiência do trabalho dos depuradores do software. Depurador é aquela pessoa que poderá testar o software e encontrar seus erros. Teoricamente vários depuradores poderiam estar duplicando trabalho, ou seja, realizando o mesmo trabalho. Isto acaba sendo minimizado se os erros encontrados forem liberados rapidamente, mantendo a lógica do "libere cedo, libere frequentemente". Raymond conduz seu argumento para a idéia de que o custo total de se manter um software de grande uso pode ser maior do que o custo de seu desenvolvimento. O modo de desenvolvimento compartilhado e distribuído do sofware livre pode ser mais econômico (em duplo sentido: agregar mais valor por ser realizado por uma extensa comunidade e mais barato de manter, por se aproveitar desta grande quantidade de "debugadores") e mais eficiente.

O Prof, Roberto Hexsel, acrescenta que o modelo de software proprietário é orientado em benefício do fabricante, enquanto o modelo do software livre orienta-se em benefício dos usuários, pois todo usuário pode se tornar desenvolvedor, uma vez que tem acesso a licença permissiva de uso e ao código fonte. Hexsel alerta-nos também que praticamente todo o desenvolvimento do software proprietário é do tipo catedral, mas nem todo o desenvolvimento de softwares abertos e livres são do tipo bazar. Seguindo o pensamento de Raymond, Hexsel vê que uma grande parte dos softwares desenvolvidos pela Free software Foundation seguem o modelo catedral, ou seja, demoram para soltar as primeiras versões e são programados centralizadamente por três ou quatro pessoas. O modelo bazar depende de liberação dos códigos, mesmo que ainda esteja bem rudimentar e necessita da incorporação de muitas pessoas para ser mais bem sucedido, ou seja, de melhor qualidade.

"O ciclo de vida típico de um projeto de software livre de sucesso passa pelas seguintes fases. O processo de desenvolvimento se inicia quando o autor escreve uma versão inicial do programa Pv0 e publica o código fonte desta versão incompleta. Se o programa é interessante ou útil, outros programadores o instalam e experimentam. Erros são descobertos e corrigidos, e melhorias são propostas e introduzidas no programa. Estas correções e melhorias são submetidas ao autor, que as incorpora e publica a nova versão de seu programa, Pv1. A versão melhorada atrai mais usuários, que descobrem outros erros e introduzem novas melhorias, o que leva a uma nova versão. Para programas considerados úteis, e que portanto atraem muitos novos usuários, este ciclo se repete a cada poucos meses. Após algumas interações, o programa P atinge estabilidade e passa a contar com um grupo razoavelmente grande de usuários. Nestas condições, a comunidade de suporte ao programa atinge massa crítica, e isso garante a continuidade de seu desenvolvimento e suporte." (HEXCEL, 2002: 10)

Castells escreveu que "é uma lição comprovada na história da tecnologia que os usuários são os principais produtores de tecnologia, adaptando-a a seus usos e acabando por transformá-la". (CASTELLS, 2003: 28) Mesmo que não consigamos todas as evidências empíricas para esta afirmação, é evidente que se os usuários não são sempre os "principais" podemos encontrar inúmeros casos em que isso é comprovado. O fenômeno de expansão da Internet exemplifica duas coisas: a reconfiguração de seus usos e a alteração dos seus objetivos iniciais; e o desenvolvimento compartilhado e distribuído de seus principais elementos, a começar pelo protocolo TCP/IP, a alma da rede.

"A abertura da arquitetura da Internet foi a fonte de sua principal força: seu desenvolvimento autônomo, à medida que usuários tornaram-se produtores da tecnologia e artifices de toda a rede. (...) Essa múltipla contribuição resultou numa saraivada de aplicações nunca planejadas, do e-mail aos bulletin boards e às salas de chat, o MODEM e, finalmente, o hipertexto. Ninguém disse a Tim Berners-Lee que projetasse a www, e na verdade ele teve que esconder a sua verdadeira atenção por algum tempo porque estava usando o tempo de seu centro de pesquisa para objetivos alheios ao ao trabalho que lhe fora atribuído. Mas teve condições de fazer isto porque pôde contar com o apoio generalizado da comunidade da Internet, à medida que divulgava seu trabalho na rede, e foi ajudado e estimulado por muitos hackers do mundo inteiro." (CASTELLS, 2003: 28)

O espírito do desenvolvimento colaborativo e baseado em um fluxo livre sobre o conhecimento permitiu a produção das principais ferramentas e protocolos da Internet, bem como, acelerou a estruturação e disseminação da rede levando também ao ciberespaço a prática do compartilhamento do código fonte dos softwares e a liberdade para a sua alteração e para a distribuição das novas linhas de código. O movimento do software livre inciado por Richard Stallman, em 1984, alastrou-se pelos vários países e tornou-se uma força concreta, tecnológica, cultural e política.

Topic revision: r2 - 13 Dec 2005 - 19:09:48 - AntonioTerceiro
 
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Wiki-SL? Send feedback