Software Livre

Não é simples definir o termo “software livre” em poucas palavras devido às várias categorias e variantes existentes. Mas também não é tão complicado, uma vez que a idéia em si é simples.

Como antigos usuários de software livre, estamos sempre tentando devolver à comunidade um pouco daquilo que pegamos. Veja aqui alguns dos projetos de software livre que mantemos.

Uma visão geral

O termo “software livre” pode causar uma certa ambiguidade no sentido de que “livre” pode remeter tanto a liberdade quanto ao preço (ou a ausência deste). Portanto, neste documento, nós usaremos o termo “software livre” quando nos referirmos à liberdade que seus usuários tem de modificar e redistribuir o software, e “software grátis” quando nos referirmos ao software gratuito. Antes de entrarmos em mais detalhes, é bom ressaltar que software livre não precisa ser necessariamente grátis.

Na verdade, o que caracteriza um software livre é a liberdade que seus usuários têm para:

  1. Usá-lo como desejarem, para o que desejarem, em quantos computadores desejarem, sempre que apropriado.
  2. Adaptá-lo de modo que suas necessidades sejam atendidas. Isso inclui melhorá-lo, corrigir bugs, adicionar novas funcionalidades e estudar sua operação.
  3. Redistribuí-lo, em sua forma original ou não, a outros usuários, que por sua vez podem usá-lo de acordo com suas próprias necessidades.

É importante frisar que estamos falando de liberdade, não de obrigação. Isto é, usuários de um software livre podem modificá-lo, se apropriado. Eles não são obrigados a fazê-lo. Da mesma forma, eles podem ou não redistribuir o software. Note também que em nenhum monento foi citado que um software precisa ser grátis para ser livre. Uma coisa independe da outra.

De qualquer forma, para que as condições anteriores sejam satisfeitas, os usuários de um software devem ter acesso ao seu código fonte. O código de um software, normalmente escrito em uma linguagem de programação de alto nível, é absolutamente necessário para que se possa entender suas funcionalidades, modificá-las e melhorá-las. Se programadores possuem acesso ao código fonte de um software, eles podem estudá-lo, extrair conhecimento do mesmo e ter a oportunidade de trabalhar nele em pé de igualdade com seus autores originais.

Vantagens

Os motivos que incentivam o uso e desenvolvimento de software livre variam de razões filosóficas e éticas a questões práticas. Normalmente, uma primeira vantagem mais evidente dos modelos de software livre é o fato de que o software é disponibilizado gratuitamente ou a um custo muito baixo comparado a alternativas proprietárias. Mas essa característica não é exclusiva a softwares livres, e vários produtos de software proprietários são disponibilizados de forma semelhante. Um exemplo disso seria o Internet Explorer, da Microsoft.

O que realmente distingue um software livre de um software grátis são as características discutidas anteriormente. Todas elas combinadas produzem um impacto sinergístico que é a causa das reais vantagens do modelo de software livre. Deixe-nos dar mais detalhes sobre como tais características se transformam em vantagens:

  1. A disponibilidade do código fonte e o direito de modificá-lo é muito importante. Isso possibilita que o software passe por correções e melhorias ao longo do tempo. Também possibilita a adaptação do código a novo hardware e a novas regras de negócio, por exemplo. Essas são algumas das razões pelas quais vários experts estão chegando à conclusão de que, para realmente estender o tempo de vida de um software, seu código fonte deve estar disponível. Na verdade, nenhum software fechado hoje sobrevive mais de 10 anos em sua forma original, enquanto vários softwares livres criados nos anos 80 ainda são muito usados, ainda que não estejam em sua forma original. A disponibilidade do código fonte também facilita a localização e correção de bugs.
  2. O direito de redistribuir modificações e melhorias feitas no código, e reusar outros projetos de software livre, permite que todas as vantagens decorrentes da modificabilidade do software sejam compartilhadas por grandes comunidades. Este é normalmente o ponto que diferencia as licenças livres das “quase” livres. Em essência, o fato de que os direitos de redistribuição não podem ser revogados, e que eles são universais, é o que atrai um grande número de desenvolvedores a trabalhar em projetos de software livre.
  3. O direito de usar o software em quaisquer circunstâncias. Isso, combinado aos direitos de redistribuição, assegura (caso o software se prove útil) que uma grande população de usuários, que ajudam a construir um mercado para suporte e customização do software, possam atrair mais e mais desenvolvedores a trabalhar no projeto. Isso ajuda, por consequência, a melhorar a qualidade do produto, gerando um ciclo vicioso.

O problema causado pelo direito não-exclusivo sobre o software, que acaba de ser mencionado, merece mais atenção. Quando ninguém detém os direitos sobre um determinado código, vários problemas do tradicional modelo de software proprietário podem ser solucionados:

Fontes