Software Livre - Bom, bonito e barato
Colaboração: Rubens Queiroz de Almeida
Data de Publicação: 15 de Janeiro de 2000
No início da era dos computadores, dos poderosos e inacessíveis
mainframes, como são mais conhecidos, apenas empresas com um caixa
reforçado podiam contar com esta importante ferramenta. Além do custo
exorbitante do hardware, o software também não ficava atrás. O alto
custo se devia ao fato de que tanto o hardware quanto o software eram
obrigatoriamente adquiridos junto ao mesmo fornecedor. A solução
fornecida era um pacote fechado e a única alternativa era aceitar
calado o que era imposto pelo fabricante.
Felizmente, com a redução do custo dos computadores e também pela
disseminação do uso do Unix no mundo acadêmico, o panorama começou a
mudar. A empresa AT&T, onde nasceu o Unix, por força da legislação
existente que a impedia de comercializar software, tornou o Unix e seu
código fonte disponível a universidades e instituições de pesquisa.
Bastava pagar o custo da fita e as despesas de transporte. Em pouco
tempo o Unix se tornou extremamente popular no meio acadêmico. Dentro
do espírito de colaboração vigente neste meio, vários programas
começaram a ser desenvolvidos e compartilhados sem custo algum. O
objetivo maior era ajudar e não obter ganho financeiro imediato. Deste
início modesto, na década de 70, até os dias de hoje, o software livre
percorreu um longo caminho. O mundo do software comercial se sente
ameaçado por esta proliferação de software de boa qualidade e realiza
inúmeros ataques tentando minar a credibilidade do software
livre.
Os argumentos utilizados com mais frequência contra o software livre
são aqueles que afirmam que sua qualidade deixa a desejar e que o
suporte é nulo ou inexistente. Não vou chegar ao exagero de afirmar
que todo o software livre é de excelente qualidade e que pode ser
usado em total confiança. Mas também não ouso afirmar que todo
software comercial é confiável e representa um excelente retorno no
investimento (às vezes exagerado) realizado. O importante é que o
acesso aos computadores e consequentemente à informação que eles
armazenam, seja com software proprietário ou livre, é vital. O
computador é um instrumento de acesso à informação, vital à nossa
educação e formação continuada. O acesso a este instrumento deve ser o
mais difundido possível a todos. Porque insistir com soluções
dispendiosas quando funcionalidade equivalente ou até mesmo superior
pode ser alcançada com sistemas totalmente configurados com software
livre? Nos próximos parágrafos faço um relato resumido de algumas
experiências bem sucedidas no uso de software livre.
Considero-me um privilegiado por ter sido um dos primeiros a ter
acesso à Internet no Brasil, já em 1990. Na época o programa que fazia
o maior sucesso chamava-se Archie. Este programa fornecia
informação sobre programas disponíveis para download existentes na
Internet. As dificuldades entretanto eram imensas. A nossa conexão com
a Internet à época era de 2400 kbps. O acesso interativo ao programa
Archie era praticamente impossível, tanto pela lentidão de nosso
acesso quanto pela sobrecarga do servidor Archie, que era extremamente
útil e popular. Isto entretanto não nos fazia desistir. O banco de
dados Archie podia também consultado via email. A pergunta era enviada
e no dia seguinte, com sorte, recebiamos uma lista com sites ftp que
continham algo mais ou menos na linha do que buscavamos. Embora isto
tudo possa parecer extremamente rudimentar na Internet de hoje,
povoada de websites, o nosso deslumbramento com o potencial desta
ferramenta fantástica era quase que ilimitado. Tínhamos um problema,
não tínhamos o dinheiro, tudo bem. O super Archie estava ali mesmo
para nos ajudar.
Um dos primeiros problemas que resolvemos desta forma foi quando
realizamos a migração de computadores Digital/VMS para uma arquitetura
mais nova. Um dos problemas é que as unidades de fita de rolo, não
mais seriam suportadas no novo equipamento. Uma das alternativas era
copiar todas as fitas, uma a uma, para disco e em seguida gravá-las na
nova unidade de armazenamento. Tal procedimento, é claro, era
inviável. Eram centenas de fitas e certamente, se houvesse uma
alternativa, seria a mais completa salvação. Bom, o único computador
onde tínhamos uma unidade de fita de rolo que poderia ler as fitas
gravadas no sistema VMS era um equipamento da Sun, rodando o venerável
SunOS. Restava então achar algo que entendesse o formato de backup do
sistema Digital/VMS e o gravasse em um sistema Unix, ou seja, fazer a
transferência do VMS para o Unix. Consultamos o Archie com o termo
"vmsbackup" e surpreendentemente, achamos um programa com este
nome que fazia exatamente o que desejávamos. Totalmente gratuito, 100%
funcional, sem bugs, não pagamos nada por ele e economizamos diversas,
possivelmente centenas de horas de trabalho. Vitória!
Outro problema relativamente sério que resolvemos com o auxílio de
software livre foi a questão do backup. De algumas poucas estações de
trabalho adquiridas em 1990, o nosso ambiente, com a redução do preço
dos computadores, cresceu enormemente. Com este crescimento veio a
necessidade de se fazer o backup de dados distribuídos por vários
equipamentos. O Unix provê mecanismos de backup via rede mas esta
alternativa simplesmente não era viável devido à lentidão da unidade
de fita (256kbps) e ao volume de dados. O tempo dispendido era
simplemente inaceitável. Além do mais existia a questão da catalogação
dos backups. As fitas DAT 8MM que utilizavamos então podiam armazenar
até 5GB. Com as fitas de rolo, cuja capacidade era menor, por volta de
150MB, a prática era se usar uma fita por sistema de arquivos. Bastava
colar uma etiqueta na fita dizendo a data do backup, nível e o nome do
sistema de arquivos: "/usr/Backup nível 0/10/11/1990". Uma fita DAT
podia conter dezenas de sistemas de arquivos. Sem um sistema de
catalogação eficaz, o backup até que podia ser feito porém o restore
consumiria um tempo inaceitável. Novamente, sem os recursos
financeiros para a aquisição de uma solução comercial, a alternativa
que nos restava era achar um software livre que atendesse a estas
necessidades. Após alguns estudos e pesquisa, descobrimos o software
Amanda, acrônimo de Advanced Maryland Network and Disk
Archiver. O Amanda utiliza vários conceitos inovadores. O backup de
diversas máquinas da rede é feito primeiramente no disco do servidor.
Desta forma diminui-se o tempo gasto, visto que vários backups podem
ser realizados em paralelo. Uma vez gravados os backups no disco,
faz-se então a transferência destes arquivos para a fita.
Adicionalmente, no início de cada fita é gravado um cabeçalho, que
permite, durante operações de restore, que se posicione a fita no
local desejado em poucos segundos. Tivemos algum trabalho para
adaptá-lo ao nosso ambiente, porém com a ajuda dos desenvolvedores e o
acesso ao código fonte, conseguimos colocá-lo em produção, onde já é
utilizado com sucesso há vários anos.
Um outro problema que resolvemos com auxílio de software livre foi a
indexação de todos os sites Web de nossa instituição. A indexação de
um único servidor Web é tarefa trivial, existe uma grande variedade de
programas livres disponíveis para isto. Como possuímos um grande
número de servidores Web, por volta de 300, num total de 200.000
páginas Web, tínhamos o problema de acesso a toda esta informação.
Precisavamos criar um serviço de busca e indexação semelhante ao
oferecido pelo Altavista ou Excite. Já possuíamos o excelente software
Altavista para indexação do acervo da biblioteca. Poderiamos
facilmente usar o Altavista para indexar todos os sites, porém nos
deparamos com um problema. A nossa versão do software roda
exclusivamente em plataforma Digital. O equipamento de que dispunhamos
não comportava discos adicionais, e não dispunha de potência
computacional suficiente para suportar a carga adicional de
processamento. Após alguma pesquisa na Internet, descobrimos o
software ht://dig. A configuração do software foi feita por
nosso guru em apenas uma manhã, e após alguns ajustes com os
webdesigners, em uma semana estava tudo funcionando perfeitamente.
Novamente, não precisamos gastar nada para colocar no ar um serviço
extremamente útil à nossa comunidade.
Um relato de todos os problemas que resolvemos com software livre
seria praticamente impossível. São diversos os casos bem sucedidos e
realmente é difícil nos lembrarmos de todos eles. Devido ao orçamento
limitado, adotamos, com sucesso, uma estratégia totalmente diversa das
maioria das empresas. Sempre que nos deparamos com um problema,
procuramos por uma solução livre. Em caso de insucesso (o que é cada
vez mais raro), buscamos então, com muita relutância, uma alternativa
comercial. Existe também outra alternativa, que é convencer seu chefe
de que o que você encontrou na Internet é exatamente o que ele ou ela
precisa ;-)
Na questão do suporte a história não poderia ser diferente. Em
diversas ocasiões, mesmo com contrato de suporte com fabricantes de
produtos comerciais, a solução foi encontrada através da Internet.
Problemas relativamente simples, para os quais o nosso canal oficial
afirmou não possuir uma solução, foram resolvidos com apenas algumas
mensagens enviadas a listas de discussão e newsgroups da Usenet. Após
um certo tempo passamos a também adotar como regra utilizar os
recursos da Internet primeiro e apenas em último caso recorrer ao
fabricante.
Como não poderia de ser, o acesso ao código fonte representa uma
vantagem e uma segurança para o usuário. Um dos sistemas Unix que
utilizávamos apresentava um bug incômodo. Se por alguma razão um
administrador estivesse logado em uma tela como o superusuário (root)
e houvesse uma queda de energia ou algo parecido na estação de
trabalho remota, a janela, onde o usuário root estava logado, não era
desconectada pelo sistema servidor. Ela ficava "vagando" pelo sistema
operacional. Um usuário normal que logasse poderia receber de presente
esta tela já com o root logado. Felizmente nenhum de nossos usuários
se aproveitou desta situação para realizar estragos no sistema e fomos
mesmo notificados do fato várias vezes.Tentamos então descobrir como
resolver o problema. Consultamos algumas listas e a resposta veio
quase que imediatamente. Não havia uma correção oficial da empresa e
para resolver o problema precisavamos alterar o código fonte. O
problema é que a licença de acesso ao código fonte custava algumas
centenas de milhares de dólares, ou seja, fora de questão. O único
caminho que nos restou foi esperar por uma nova versão e neste meio
tempo torcer para que não ocorresse nada mais sério. Felizmente
conseguimos sobreviver a isto. Não preciso nem dizer o que aconteceria
se um problema semelhante ocorresse em sistemas Linux. Em questão de
algumas horas o problema certamente seria resolvido.
Se há alguns anos atrás a localização do software livre era feita por
meio de mecanismos rudimentares e ineficientes, o mesmo já não ocorre
hoje. No mundo Linux temos centenas de portais, onde toda esta
informação encontra-se muito bem organizada. O site Freshmeat ,
por exemplo, é um ponto obrigatório para quem deseja implementar
soluções baseadas em software livre. Todos os dias são exibidas na
primeira página as novidades (e que novidades) do mundo do software
livre.
Instalar software livre também ficou infinitamente mais fácil. Se
antes o processo de instalação envolvia a leitura da documentação,
compilação, acerto no código fonte e muito mais, hoje em dia, em 99%
dos casos, tudo que é necessário é emitir um único comando. Dos
softwares citados anteriormente, apenas o programa vms2unix (a demanda
não deve ser muito alta mesmo) não se encontra disponível para o
ambiente Linux. Instalar o Amanda ou ht:/dig não requer quase que
trabalho algum. Estamos vivendo em um mundo em que temos uma grande
variedade de software livre à nossa disposição, de uma qualidade cada
vez maior, com os quais podemos experimentar à vontade e modificar da
maneira que desejarmos.
Tudo que foi dito acima está longe de ser um caso isolado. A Internet,
desde seus primórdios, funciona baseada quase que exclusivamente em
software livre. O protocolo de comunicações TCP/IP, pedra fundamental
da Internet, é livre. O software Bind, que nos ajuda a
localizar computadores na Internet, e o programa sendmail, de
longe o mais popular processador de mensagens de correio eletrônico,
também são livres. O servidor Apache, é o preferido por 55%
dos sites na Internet. Em suma, sem software livre, a Internet pára.
Se a Internet, que é um enorme sucesso, funciona com software livre,
porque a sua empresa não pode copiar o modelo?
É evidente que ainda possuímos diversos softwares comerciais em uso em
nosso ambiente, particularmente nos ambientes de computação pessoal. O
que é notável entretanto é que nos últimos tempos, um crescente número
de usuários voluntariamente, realiza a substituição de seu ambiente de
software proprietário por alternativas livres, com particular destaque
para o Linux. Em contraste com a situação de alguns anos atrás, onde
sistemas Unix e software livre eram utilizados por muito poucos, a
popularização e crescente aperfeiçoamento desta alternativa faz com
sistemas totalmente baseados em software livre sejam uma solução
viável para uma ampla faixa de usuários. A combinação Conectiva Linux,
com suporte total à acentuação e com um grande número de documentos e
tutoriais traduzidos para o português,com StarOffice, é uma
solução de alta qualidade para a computação pessoal. Basta ousar um
pouco. Após as dificuldades iniciais, os ganhos obtidos pela
utilização da grande variedade de software livre são substanciais.
Concluindo, o software livre certamente já provou seu valor e
qualidade. O software livre não exclui, nem deve excluir, as
alternativas comerciais ou vice-versa. O melhor dos mundos será aquele
onde existam alternativas adequadas a todos os tipos de necessidade e
recursos. Gerentes de informática que optem por uma equipe de
informática reduzida ou disponham de mais dinheiro do que competência
técnica podem optar, com um mínimo de riscos, por alternativas
comerciais estabelecidas e comprovadas. Os mais engenhosos e
empreendedores poderão optar com sucesso por alternativas livres. O
mais importante é que existam alternativas. Imagine um mundo onde todo
o software tem que ser adquirido de um único fabricante. A julgar pela
importância que os computadores possuem hoje em nossa sociedade, não é
exagero traçar um paralelo com a situação de alguém vivendo na lua
tendo que comprar o ar de um único vendedor. Sentiu um calafrio?
Pois então, você certamente já ouviu de várias pessoas que as melhores
coisas da vida são gratuitas. O pôr do sol, uma noite de lua cheia, e
porque não, software livre ;-)