Entenda o que é software livre, o que é código aberto e software gratuito, entenda as diferenças!

Entenda o que é software livre, o que é código aberto e software gratuito, entenda as diferenças!

Sistemas operacionais baseados em Linux existem aos montes, com alguns deles sendo bastante populares, como o Ubuntu ou o Fedora, por exemplo. Há muitas pessoas que utilizam esses sistemas em seus computadores pessoais, mas é mais fácil encontrá-los em aplicações corporativas (servidores, terminais de lojas, etc) ou em centros de estudos. Uma das razões para isso é que, além de qualidade, sistemas Linux geralmente oferecem baixo custo de implementação por, na maioria das vezes, serem gratuitos.

Há uma variedade enorme de softwares que se encontram na mesma situação, isto é, estão disponíveis gratuitamente. É aí que entra em cena uma contradição da qual muitos não se dão conta: “vamos instalar tais programas em nossos computadores porque são livres, não iremos gastar praticamente nada com eles”.

Se o motivo da utilização considera apenas o aspecto dos gastos, não seria mais adequado dizer “vamos instalar tais programas porque eles são gratuitos”? Sim, pois software livre (free software) e software gratuito não são a mesma coisa. Vamos mostrar as diferenças a seguir. De quebra, você vai entender também o que é código aberto (open source).

O que é software livre?

Software livre (free software) é um conceito de extrema importância no mundo da computação. Para estar nesta condição, o software precisa ter características atreladas a aspectos de liberdade. Pode-se dizer, portanto, que o software livre é um movimento social, que defende uma causa.

A ideia começou a tomar forma em 1983, pelas mãos de Richard Stallman, que na época criou o GNU e, cerca de dois anos depois, fundou a Free Software Foundation (FSF). O GNU é um projeto para o desenvolvimento de um sistema operacional livre, isto é, já apoiado nos objetivos da liberdade. A Free Software Foundation, por sua vez, é uma entidade sem fins lucrativos criada justamente para servir de base para o movimento do software livre.

Mas, nessa história toda, onde exatamente entra a tal da liberdade? Quando falamos deste aspecto, tratamos da liberdade que o usuário tem para não só utilizar, mas também copiar, distribuir, modificar e estudar o software. É isso o que o movimento do software livre defende.
Para isso, a Free Software Foundation tomou quatro “fundamentos” como base:
  • liberdade de executar o programa, para qualquer propósito (liberdade 0);
  • liberdade de estudar como o programa funciona e adaptá-lo às suas necessidades (liberdade 1), sendo o acesso ao *código-fonte um pré-requisito para esta aspecto;
  • liberdade de distribuir cópias de forma que você possa ajudar ao seu próximo (liberdade 2);
  • liberdade de melhorar o programa e liberar os seus aperfeiçoamentos, de modo que toda a comunidade se beneficie (liberdade 3). Novamente, aqui o acesso ao código-fonte é um pré-requisito.

No caso da primeira liberdade, um indivíduo ou uma organização pode utilizar o software em qualquer atividade, em qualquer quantidade de computadores. A segunda liberdade, por sua vez, dá acesso ao código-fonte do programa para que a pessoa possa estudá-lo ou alterá-lo conforme a sua necessidade.

A terceira liberdade diz respeito à permissão dada ao usuário de distribuir quantas cópias quiser do programa, mesmo porque esta é uma forma de torná-lo acessível a um número maior de pessoas. O mesmo vale para o código-fonte do software.

Por fim, a quarta liberdade consiste na permissão que o usuário tem para alterar um software ou mesmo colaborar com o seu desenvolvimento, permitindo que outras pessoas ou organizações tirem proveito de algo que ele aperfeiçoou.
* O que é Código-fonte? Em poucas palavras, são as instruções que formam um programa. O código-fonte é baseado em uma linguagem de programação. Depois de concluído, esse código deve ser transformado em linguagem de máquina para que o computador efetivamente faça das instruções um software. Tendo acesso ao código-fonte, uma pessoa com conhecimentos para isso pode estudá-lo ou mesmo alterá-lo conforme sua necessidade ou interesse.

O que é software gratuito?

Quando nos referimos a um software meramente gratuito (freeware), estamos falando de um programa que você pode utilizar sem pagar. Perceba, com isso, que um software pode ser gratuito e livre, por outro lado, pode ser também gratuito e fechado.

Um software nesta condição é restrito, isto é, somente o autor ou a entidade que o desenvolve tem acesso ao código-fonte, portanto você não pode alterá-lo ou simplesmente estudá-lo, somente usá-lo da forma como foi disponibilizado. Muitas vezes, há limitações também em sua distribuição.

Neste ponto, você já consegue perceber que software livre e software gratuito não são a mesma coisa.

Todo software livre é gratuito?

Você já sabe que o software livre consiste na ideia de que você possa utilizar, distribuir, estudar o código-fonte ou até modificá-lo, sem necessidade de pedir autorização ao seu desenvolvedor. Softwares nestas condições geralmente não requerem pagamento, mas isso não é regra: um programa pode ser livre, mas não necessariamente gratuito.

Uma pessoa pode pagar para receber um software livre ou cobrar para distribuir um programa nesta condição, por exemplo, desde que esta ação não entre em conflito com as liberdades apontadas pela Free Software Foundation. Como exemplo, um programador pode desenvolver um aplicativo, disponibilizá-lo como software livre e vendê-lo em seu site, desde que não impeça o comprador de acessar o código-fonte, fazer alterações, redistribuir e assim por diante.

Perceba que esta é mais uma diferença entre software livre e um software meramente gratuito.

GNU Public License (GPL)

Quando um software é criado, o desenvolvedor o associa a um documento que determina quais ações o utilizador pode ou não executar. Esta é a licença de software. Por exemplo, você pode adquirir uma solução de ERP que só é possível de ser implementada em um número limitado de máquinas. Esta e outras condições devem ficar explícitas na licença.

A GNU Public License (GPL) nada mais é do que uma licença criada pela Free Software Foundation baseada nas liberdades que a entidade defende. Ou seja, quando um programa possui licença GPL, significa que é, de fato, um software livre.

A GPL surgiu em 1989, mas foi revisada em 1991 para atender a determinadas necessidades, resultando na GPLv2 (GPL versão 2). Em 2007, surgiu a GPLv3 (GPL versão 3). É possível consultar a GPL no seguinte link (em inglês): www.gnu.org/licenses/gpl.html.

É importante frisar que um programa não necessita obrigatoriamente de uma licença GPL para ser um software livre. É possível o uso de outras licenças, desde que compatível com as liberdades em questão. É possível conhecer as opções na página a seguir (em inglês): www.gnu.org/licenses/license-list.html.

O que é copyleft?

Não é raro encontrarmos a expressão copyleft em evidência quando tratamos de software livre. Isso tem um motivo: ambos os conceitos estão intimamente relacionados.

Talvez você tenha percebido que a expressão copyleft (copy + left) é um trocadilho com o termo copyright (copy + right), que se refere aos direitos de uso ou cópia de uma propriedade intelectual. No caso, a palavra “left” faz alusão a um contexto mais generoso: enquanto o copyright dá mais foco nas restrições, o copyleft se baseia nas permissões. Mas, no que exatamente o software livre está relacionado ao copyleft?

No caso do software livre, o desenvolvedor poderia deixar seu programa em domínio público, isto é, sujeito a toda e qualquer forma de utilização, alteração e distribuição. Porém, essa situação pode fazer com que indivíduos ou entidades modifiquem este software e o disponibilizem mediante uma série de restrições, ignorando as liberdades que o tornariam livre.

É para evitar esse tipo de situação que o copyleft entra em cena: com ele, as liberdades de modificação e distribuição são garantidas, tanto em um projeto original quanto em um derivado. Isso significa que uma pessoa ou uma organização não poderá obter um software livre, modificá-lo e distribuí-lo de maneira restrita, devendo compartilhar o programa – seja ele alterado ou não – pelas mesmas condições em que o obteve (compartilhamento pela mesma licença).
Isso é válido para as licenças compatíveis com esas condições, como é o caso da GPL. Vale frisar, no entanto, que há licenças para software livre que não contemplam as características do copyleft.

E o que é Open Source?

É comum ver Software Livre e Código Aberto (Open Source) sendo tratados como se fossem a mesma coisa. De igual maneira, não é difícil encontrar a expressão “código aberto” como mero sinônimo de “código-fonte aberto”. Não há, necessariamente, erros aqui, mas há diferenças.

O Open Source é um movimento que surgiu em 1998 por iniciativa principal de Bruce Perens, mas com o apoio de várias outras pessoas que não estavam totalmente de acordo com os ideais filosóficos ou com outros aspectos do Software Livre, resultando na criação da Open Source Initiative (OSI).

A Open Source Initiative não ignora as liberdades da Free Software Foundation, por outro lado, tenta ser mais flexível. Para isso, a organização definiu dez quesitos para que um software possa ser considerado Open Source:

  • Distribuição livre;
  • Acesso ao código-fonte;
  • Permissão para criação de trabalhos derivados;
  • Integridade do autor do código-fonte;
  • Não discriminação contra pessoas ou grupos;
  • Não discriminação contra áreas de atuação;
  • Distribuição da licença;
  • Licença não específica a um produto;
  • Licença não restritiva a outros programas;
  • Licença neutra em relação à tecnologia.

A descrição de cada um desses critérios pode ser encontrada em softwarelivre.org/open-source-codigo-aberto ou em www.opensource.org/docs/definition.php (em inglês). Analisando as características da Free Software Foundation e da Open Source Initiative, percebemos que, em muitos casos, um software livre pode também ser considerado código aberto e vice-versa.

A diferença está, essencialmente, no fato de a OSI ter receptividade maior em relação às iniciativas de software do mercado. Dessa forma, empresas como Microsoft e Oracle, duas gigantes do software proprietário, podem desenvolver soluções de código aberto utilizando suas próprias licenças, desde que estas respeitem os critérios da OSI.

No Software Livre, empresas como estas provavelmente enfrentariam algum tipo de resistência, uma vez que suas atividades principais ou mesmo os programas oferecidos podem entrar em conflito com os ideais morais da Free Software Foundation.

Apesar disso, Free Software Foundation e Open Source Initiative não são inimigas. Embora não concordem em alguns pontos, ambas as entidades se respeitam e reconhecem a importância da atuação de cada uma. De certa forma, pode-se dizer inclusive que o trabalho das duas organizações se complementam: a FSF atuando mais pelo lado social; a OSI, pelos contextos técnicos e de mercado.

Finalizando

Software livre, código aberto, software proprietário… Estamos diante de uma “guerra”? É evidente que cada parte defende seus interesses e que, de fato, há quem encare isso como uma disputa entre “o bem e o mal”, mas, na prática, há espaço para todo mundo. Por exemplo, os sistemas operacionais Windows, que são fechados, são utilizados amplamente em computadores pessoais e de escritório, por outro lado, sistemas baseados em Linux são muito fortes em aplicações para a Web.

Quando há softwares das partes que atendem ao mesmo público, o melhor é tratar o outro lado como concorrente, não como inimigo, de forma que o produto que se tem em mãos possa ser desenvolvido e aperfeiçoado para se tornar competitivo. Dessa forma, os usuários, a parte mais importante nessa história toda, sempre terão à sua disposição soluções de qualidade.

Por: Emerson Alecrim