Uso de Software Livre
Várias empresas e veículos de imprensa têm voltado sua atenção ao software livre. A principal causadora desta atenção é a economia que se obtém ao utilizar sistemas operacionais como o Linux substituindo sistemas operacionais comerciais (como outros Unix, Windows, etc.).
Embora essa razão seja interessante, é preciso distingüir o que torna um sistema livre do que o torna gratuito.
Muitas pessoas, mesmo as que usam sistemas livres a mais tempo, costumam confundi-los com sistemas gratuitos. Entenda-se por sistema o sistema operacional e o conjunto de aplicativos que podem ser utilizados em conjunto com ele.
Livre versus Gratuito
Em se tratando de software, qual é o conceito de liberdade? Gratuidade? Livre acesso? Livre utilização?
De acordo com os maiores contribuidores do software livre a questão fica melhor explicada quando comparada a algo mais tangível.
Vejamos, então, o caso de uma receita de bolo. Quando um cozinheiro faz um bolo, ele relaciona os ingredientes e passos necessários de modo que outros cozinheiros possam fazer seus próprios bolos.
Tratando-se de software, tais descrições e passos são compostos pelas bibliotecas e códigos da aplicação. O código pode ser tão simples quanto um programa que imprima a mensagem "Olá mundo!", como consta abaixo, ou tão complexo quanto o código de um sistema operacional, como o Linux.
#include <stdio.h>
main()
{
printf("Olá mundo!\n");
return (0);
}
Partindo destes dados, qualquer "cozinheiro" que construisse e executasse este código poderia reproduzir os mesmos resultados a seguir:
[godoy@wintermute ~/artigos]$ cc ola.c -o ola [godoy@wintermute ~/artigos]$ ./ola Olá mundo! [godoy@wintermute ~/artigos]$
O código mostrado acima serve também para mostrar a diferença entre gratuito e livre.
Se o programa resultante fosse distribuído para todos, de graça, tudo o que poderiam fazer seria imprimir na tela a mensagem "Olá mundo!". Entretanto, com o código do programa (também chamado de "código-fonte" ou "código fonte"), é possível modificá-lo para mostrar qualquer mensagem. Poderíamos, por exemplo, torná-lo mais sofisticado aceitando parâmetros como o nome de uma pessoa, uma especificação de idioma, etc. As possibilidades estão limitadas apenas pela criatividade de quem recebe o código.
Implicações éticas
Junto com o código-fonte é necessário especificarmos o que é permitido e proibido; quais as liberdades que o recipiente terá em relação ao programa.
Podemos, por exemplo, colocar o software em domínio público. Ou, podemos licenciá-lo sob as licenças BSD ou GPL (e variantes). As diferenças estão no tipo de modificações e distribuição, bem como sob quais licenças o programa poderá ser redistribuído ou relicenciado após as mudanças.
Como o sistema operacional Linux é o que mais tem atraído a mídia e a GPL tem causado diversas dúvidas em listas de discussão, os exemplos estarão mais focados para este sistema operacional e licença; entretanto, há cláusulas e condições similares para outras licenças livres.
Caso haja qualquer divergência entre esse manual e o que consta em alguma das licenças, as mesmas são a fonte confiável e que deve ser seguida. Este texto pode tornar-se obsoleto ou não cobrir alguma característica em particular que você necessita para seu software.
Ao receber um programa sob uma licença livre você, em geral, recebe o direito de obter o código-fonte que deu origem aos binários que lhe foram entregues. Observe que o direito é dado a quem possui o binário, e não a qualquer um. Também há o detalhe da gratuidade: as licenças geralmente tornam um software livre, mas como mostrado anteriormente em Livre versus Gratuito, isso não significa que o software seja ou tenha que ser gratuito.
Outro detalhe é que ao obter um programa livre, sob a GPL, você poderá revendê-lo ou até mesmo distribuí-lo gratuitamente. Não importa se você teve que pagar uma quantia para obtê-lo: a licença lhe permite fazer o que quiser com ele.
Qualquer coisa? Sim, mas é necessário que você mantenha os créditos dos autores originais. Por exemplo, se o meu programa que diz "Olá mundo!" estivesse licenciado sob a GPL e você o usasse para dizer "Olá amigos!", nada o impediria, mas no código-fonte deveria haver uma indicação de que seu código (o novo código é seu ;-)) foi baseado no meu. Apenas isso.
Outro detalhe: seu código deve também ser licenciado sob a GPL. Ela é uma "licença virótica" por essa exigência. Se você desejar que seu programa possa ser licenciado de maneira diferente, não poderá usar a GPL.
A escolha de uma licença envolve diversas análises dentre as quais destacam-se:
- Proteção de direitos autorais (créditos)
- Proteção de quem recebe o programa quanto à possibilidade (ou restrição) da redistribuição
- Proteção quanto à modificação do código do programa (tanto autorizando-a quanto restringindo-a)
- Proteções legais quanto a danos e perdas causados pelo uso do programa
- Restrições quanto a quem pode ou não utilizar o programa
Se é tão complicado, por quê usar software livre?
O uso de software livre traz inúmeras vantagens tanto ao desenvolvedor quanto ao cliente ou usuário.
O desenvolvedor é protegido legalmente por licenças conhecidas e amplamente difundidas. Também tem assegurados os créditos em quaisquer derivações que venham a surgir a partir de seu programa, independente de quantas modificações surjam e se o programa original ainda é distribuído ou não. Há, também, o detalhe de se utilizar algo legalmente válido sem a necessidade de contratação de um advogado ou consultor (embora isso seja altamente recomendável para programas mais complexos, é dispensável para programas simples, como o meu "Olá mundo!").
O cliente tem a garantia de receber o código-fonte do programa, podendo dar manutenção ele mesmo no código ou, então, contratar uma empresa especializada para mantê-lo. Claro, se o serviço disponibilizado pelo autor for condizente com as expectativas do cliente, não haverá motivos para a quebra da relação comercial já existente entre ambos.
Da mesma maneira, a utilização de software livre estimula a criatividade e a produção nacional — e regional ---, fazendo com que os programadores locais possuam recursos para demonstrar sua capacidade técnica aos clientes.
Garantindo a produção regional ou nacional, evitamos que divisas sejam enviadas na forma de royalties (direitos autorais) para o exterior, fazendo com que o dinheiro gasto no país seja utilizado no país e que reflita em melhoras para o país.
Outro ponto a favor do software livre é que ele pode ser feito em plataformas proprietárias. Vários Unix comerciais possuem ferramentas livres para desempenhar tarefas básicas (como a geração de programas) substituindo as ferramentas comerciais padrão, que são caras. O mesmo acontece com o Windows.
A mudança de filosofia não implica, necessariamente, uma mudança de plataforma ou de sistema operacional. As mudanças podem ser feitas gradativamente caso sejam necessárias.
A utilização do software livre traz aos seus desenvolvedores e usuários tanta liberdade e benefícios que a ansiedade por mudanças maiores é algo natural.
Experimente. Repita. Crie.
Sobre este documento
Autor: Jorge Godoy
Data: 16 de dezembro de 2002
Última atualização: 14 de janeiro de 2003