Escolar Documentos
Profissional Documentos
Cultura Documentos
Apresentamos aqui o conceito de Software Livre, o projeto GNU e a filosofia por trás deste tipo de
programas. A influência da Internet, e o uso de software livre em ambientes comerciais é discutida a seguir.
São apresentados alguns dos programas livres mais utilizados (e onde são utilizados) bem como o caso de
uma empresa muito bem sucedida que "vive" de software livre.
Introdução
Assim como a Internet o termo "Software Livre" era praticamente inédito fora do círculo da
computação. Palavras e siglas estranhas, nas frases de pessoas também um pouco estranhas, não
contribuíram para a popularização do termo nem do conceito.
Com a explosão da Internet foi dado um súbito destaque a uma nova categoria de programas que
praticamente 'carregava’ a Internet movimentando diversos serviços e em alguns casos indo até ao
sistema operacional das máquinas que compõem a rede.
Ser livre é a questão. Quanta liberdade se perde ao aceitarmos licenças de uso comerciais? Quanta
cooperação, avanço tecnológico e conhecimento são perdidos por conceitos como "propriedade
industrial"?
Do que se tratam os programas livres? Em primeiro lugar são programas comuns, construídos como
quaisquer outros, geralmente uma linguagem de alto-nível e depois compilados, etc. A diferença
está nos direitos que o autor dá para outras pessoas fazerem uso deste programa: a licença de uso.
• 3. Freeware - são os programas gratuitos, exatamente como os Shareware, mas não exigem
registro e não têm taxa de uso. Não é permitida sua alteração.
• 5. Domínio público - programas que o autor abre mão dos direitos, perdendo inclusive o
direito de cópia - o copyright - e outros dependendo da legislação. Em todos os casos o
código fonte acompanha o programa. O programa pode ser embutido em outro programa e
vendido etc.
Em 1983 Richard Stallman (mais sobre isso abaixo) criou o conceito de "Software Livre" como:
• 4. Software Livre - programas que mantém o copyright, e ainda assim permitem a livre
distribuição (cópia), acesso ao código-fonte e direito de alterar o programa.
É muito comum haver confusões (pela pouca divulgação do conceito) entre programas livres, de
domínio público e mais ainda com freeware e shareware, incluindo-se nestas confusões os
preconceitos associados às outras categorias, que podem ou não ser pertinentes aos programas
livres.
É necessário ter uma visão clara: programas livres são diferentes de shareware, freeware e domínio
público. Uma comparação em alguns pontos principais é (C.R. = Copyright, C.F. = Código fonte
disponível, Dis. = programa pode ser distribuído livremente, Alt. = programa pode ser alterado):
Comercial sim o o o
Em 1983 Richard Stallman, um brilhante programador do MIT, ficou muito aborrecido quando viu
o resultado de um trabalho acadêmico em que participara ser vendido pelo MIT a uma empresa e
ser "trancado" para sempre por trás de contratos de licença impenetráveis.
Com isto Stallman pediu demissão e formalizou o conceito de software livre em um manifesto [1]
no qual apresentava e discutia a definição e a versão inicial da licença de uso de um programa livre:
a licença GNU ou GPL. Além da definição de programa livre o manifesto lançou o 'Projeto GNU’
[3] (mais sobre isso abaixo).
Para defender a noção de software livre Stallman fundou a Free Software Foundation ou FSF [2]
que defende o conceito de software livre, coordena o projeto GNU e colabora na defesa da
liberdade de programação.
O Projeto GNU
O termo G.N.U. significa 'G.N.U. is not Unix’ e o objetivo do projeto é criar um sistema
operacional e aplicativos livres para as pessoas usarem. O "tipo" de sistema escolhido foi o UNIX, e
hoje o projeto já atingiu seu objetivo primário, embora não do jeito que a FSF imaginava.
De 1985 para cá o projeto criou compiladores, bibliotecas, editores de texto e centenas de outros
programas para atingir seu objetivo. Muitos programas foram agregados e outros seguiram a
filosofia de software livre embora não fossem necessários para o objetivo primário do projeto (o
GNU Chess é um ótimo exemplo).
Atualmente o projeto está as voltas com o núcleo de sistema operacional desenvolvido por pessoal
da FSF - o HURD. Este promete uma série de avanços e tecnologias de sistemas operacionais em
sua implementação e depois de muita demora, idas e voltas, está disponível em sua segunda versão
beta [4].
Retornando aos programas livres, vejamos o que nos dá sua filosofia: a licença GNU (GPL [5]). Ela
é bastante extensa e aqui nos bastam os pontos principais que ela garante aos usuários de um
programa e seus derivados:
A noção de programas derivados, com aqueles que são feitos a partir de outros, é fundamental para
garantir a continuidade da GPL nos programas livres e impedir que eles deixem de ser livres algum
dia (a recursividade aparece aqui de novo..).
• GCC, G++, GPC, GNU LISP, G77, GNU Smaltalk, GNU ADA... – compiladores de C, C+
+, Pascal, LISP, FORTRAN, Smaltalk, ADA etc.
• GNU – Debugger .
• Teak – um dos novos desenvolvimentos do GNU: interface gráfica para usuários iniciantes
ou leigos.
Linux x GNU
Não era esperado um sistema GNU completo tão rápido, nem pela FSF, mas o núcleo era tudo que
faltava, e este vácuo foi muito bem preenchido pelo Linux.
Uma coisa perturbou a FSF e o pessoal do Projeto GNU: todos se referem ao Linux como sistema
operacional, enquanto só o núcleo tem este nome os outros programas são todos GNU! O nome que
eles propõem é sistema GNU/Linux.
Alguns programas livres famosos, que não foram desenvolvidos no Projeto GNU, mas acabaram
adotando sua filosofia:
Apache
Servidor Web (HTTP) mais utilizado na Internet (45% dos servidores na Internet o utilizam
segundo a Netcraft [7]) e ele ainda não está disponível para Windows NT (em Alfa atualmente).
Modular, flexível rápido e fácil de ser alterado são alguns dos motivos que levam webmasters a
utilizá-lo. O Apache é usado por: FBI, Família Real, IMDb, Wired, UOL, Digital, Novell, IBM,
Oracle, Microsoft etc.
PERL
Linguagem-amálgama [8] inventada por Larry Wall para facilitar a administração de sistemas (seu
trabalho) tornou-se uma das mais populares, especialmente na WWW, mas é de uso geral e inclui
recursos como orientação a objetos, acesso a bancos de dados, pacotes, multitarefa, acesso a rotinas
de baixo nível do sistema operacional, recursos sofisticados (talvez os mais sofisticados) de
processamento de texto, pode ler e instalar módulos a partir da Internet etc. Roda em 15 plataformas
(em minha última contagem) incluindo: Unix , Plan 9, VMS, QNX, OS/2, Amiga, Windows 95, NT
e Apple System. Recentemente a Microsoft contratou uma empresa para portá-lo para Windows 95
e NT (ActiveState, (até recentemente era Activeware)) [10].
Linux
Núcleo de sistema operacional (vide discussão acima), roda em diversas plataformas (Intel,
PowerPC, Motorola 68k, Sparc, MIPS e Alpha) provavelmente tem bem mais que 1 Milhão de
usuários, premiado duas vezes como melhor S.O. de 1996 (Best to 1996 - Linux 2.0 pela PC Week e
RedHat Linux 4.0 pela InfoWorld). Usam-no hoje: NASA, Cisco, Agencia Estado, etc. E um
exemplo de uma empresa cujo carro chefe é o Linux: Caldera foi fundada por Raymond J. Noorda
(fundador e ex-CEO da Novell).
Além de reunir os desenvolvedores a Internet fornece os meios para reunir os usuários e para que os
primeiros dêem suporte aos últimos. O suporte entre usuários também é bastante intenso e tudo isso
de processa dentro de grupos de discussão, normalmente na Usenet ou em servidores de listas de
discussão (grupos de discussão por correio eletrônico).
Os programas livres têm características próprias, e se quisermos fazer uma avaliação inteligente
deles devemos conhecer estas características.
Os recursos dos programas livres normalmente são menos numerosos e tendem a ser mais genéricos
que nos equivalentes comerciais, nem sempre é óbvio ou fácil usá-los, mas quando se entende pode-
se fazer muita coisa. Alguns recursos implementados por programas livres são muito difíceis em
termos de algoritmos eficientes e como não chamam atenção no marketing comercial só podem ser
encontrados em programas livres.
Os programas livres podem ser considerados menos fáceis de usar já que nem sempre a facilidade
de operação é uma prioridade em seu desenvolvimento. Porém, a medida que os programas livres
existentes satisfazem a maioria dos desenvolvedores este podem se voltar a interfaces mais fáceis
(vide o Teak).
O desempenho destes programas é na maioria das vezes superior aos demais, pois as pessoas que os
escrevem ou são ou tem ajuda dos melhores cientistas de computação e têm sempre os melhores
algoritmos para dadas tarefas. Em alguns momentos pode-se encontrar programas mais lentos,
porém nota-se que a razão disto costuma ser que os programas livres são mais genéricos e robustos
(vide abaixo).
Confiabilidade
Um receio - logo não é uma crítica e muito menos inteligente - sobre a confiabilidade dos
programas livres. Como pessoas soltas pelo mundo, comunicando-se somente pela Internet sem
nenhuma empresa por traz podem produzir software de qualidade e robustez? Este receio é
importado dos Shareware e para derrubar esta falsa noção o melhor é verificar o trabalho feito por
Barton P. Miller em 1995 [12] na Universidade de Wiscousin, que, pela segunda vez, mede a
confiabiliade de utilitários Unix em diversos sistemas comerciais e em um livre e dos utilitários
GNU em sistemas comerciais. Foram ao todo oito Unixes: 7 comerciais e 1 livre, 80 utilitários
(entre linha de comando, X Windows e rede). A filosofia de teste é muito simples: entradas
aleatórias para todos, considera-se um programa "errado" quando trava (dá "core dump"), termina
sem executar o que deveria ter feito ou entra em loop.
A Cygnus é uma companhia inglesa fundada em 1989 e que "vive" de software livre oferecendo
programação personalizada, suporte e portes de programas para sistema embutidos e outros.
Oferece também boas ferramentas de desenvolvimento.
De 1992 para cá experimentou um crescimento de 65% ao ano, que para padrões de qualquer lugar
no planeta são excelentes. Atua hoje em quatro países: EUA, Japão, Inglaterra e Alemanha, com
mais de 100 empregados na matriz.
Este é somente um exemplo de como se ganha dinheiro com software livre, note que este também
pode ser vendido (embora não possamos impedir ninguém de copiá-lo), e realmente o é por diversas
empresas.
Conclusão
A idéia original do projeto GNU está sendo extrapolada e ampliada, e foi criado um novo modelo de
desenvolvimento dentro do software livre: "Bazar" em oposição ao tradicional de "Catedral" (vide o
excelente artigo [11]).
Os benefícios de se usar programas livres são vários e entre eles temos: qualidade, bom suporte
(apesar de não haver uma empresa responsável obtém-se respostas em pouco tempo (horas às vezes)
na usenet) ou suporte contratado, participação nos destinos do programa muito mais direta (podendo
chegar a implementação).
Para quem estuda Computação conhecer software livre é obrigatório, para os demais, bem, o
software livre estará no caminho deles algum dia.