O que é software livre |
Este artigo responde a diversas dúvidas comuns de novos usuários, desenvolvedores interessados, ou alunos às voltas com trabalhos acadêmicos. Entre as questões, estão incluídas:
e muitas outras. Ao final há um guia de referências adicionais sobre o assunto. Veja também a FAQ BR-Linux ? Lista de Perguntas Freqüentes. O que é software livreSoftware Livre, ou Free Software, conforme a definição de software livre criada pela Free Software Foundation, é o software que pode ser usado, copiado, estudado, modificado e redistribuído sem restrição. A forma usual de um software ser distribuído livremente é sendo acompanhado por uma licença de software livre (como a GPL ou a BSD), e com a disponibilização do seu código-fonte. Software Livre é diferente de software em domínio público. O primeiro, quando utilizado em combinação com licenças típicas (como as licenças GPL e BSD), garante os direitos autorais do programador/organização. O segundo caso acontece quando o autor do software renuncia à propriedade do programa (e todos os direitos associados) e este se torna bem comum. O Software Livre como movimento organizado teve início em 1983, quando Richard Stallman (foto acima) deu início ao Projeto GNU e, posteriormente, à Free Software Foundation. Software Livre se refere à existência simultânea de quatro tipos de liberdade para os usuários do software, definidas pela Free Software Foundation. Veja abaixo uma explicação sobre as 4 liberdades, baseada no texto em português da Definição de Software Livre publicada pela FSF: As 4 liberdades básicas associadas ao software livre são:
Um programa é software livre se os usuários tem todas essas liberdades. Portanto, você deve ser livre para redistribuir cópias, seja com ou sem modificações, seja de graça ou cobrando uma taxa pela distribuição, para qualquer um em qualquer lugar. Ser livre para fazer essas coisas significa (entre outras coisas) que você não tem que pedir ou pagar pela permissão, uma vez que esteja de posse do programa. Você deve também ter a liberdade de fazer modifcações e usá-las privativamente no seu trabalho ou lazer, sem nem mesmo mencionar que elas existem. Se você publicar as modificações, você não deve ser obrigado a avisar a ninguém em particular, ou de nenhum modo em especial. A liberdade de utilizar um programa significa a liberdade para qualquer tipo de pessoa física ou jurídica utilizar o software em qualquer tipo de sistema computacional, para qualquer tipo de trabalho ou atividade, sem que seja necessário comunicar ao desenvolvedor ou a qualquer outra entidade em especial. A liberdade de redistribuir cópias deve incluir formas binárias ou executáveis do programa, assim como o código-fonte, tanto para as versões originais quanto para as modificadas. De modo que a liberdade de fazer modificações, e de publicar versões aperfeiçoadas, tenha algum significado, deve-se ter acesso ao código-fonte do programa. Portanto, acesso ao código-fonte é uma condição necessária ao software livre. Para que essas liberdades sejam reais, elas tem que ser irrevogáveis desde que você não faça nada errado; caso o desenvolvedor do software tenha o poder de revogar a licença, mesmo que você não tenha dado motivo, o software não é livre. O que é copyleft?Copyleft é uma extensão das 4 liberdades básicas, e ocorre na forma de uma obrigação. Segundo o site da Free Software Foundation, ?O copyleft diz que qualquer um que distribui o software, com ou sem modificações, tem que passar adiante a liberdade de copiar e modificar novamente o programa. O copyleft garante que todos os usuários tem liberdade.? ? ou seja: se você recebeu um software com uma licença livre que inclua cláusulas de copyleft, e se optar por redistribui-lo (modificado ou não), terá que mantê-lo com a mesma licença com que o recebeu. Nem todas as licenças de software livre incluem a característica de copyleft. A licença GNU GPL (adotada pelo kernel Linux) é o maior exemplo de uma licença copyleft. Outras licenças livres, como a licença BSD ou a licença ASL (Apache Software License) não incluem a característica de copyleft. Acima você vê o símbolo do copyleft, palavra que é um trocadilho com copyright, e cuja tradução aproximada seria ?deixamos copiar?, ou ?cópia permitida?. Dúvidas e enganos comuns sobre software livre sob a licença GPLPosso distribuir comercialmente ou cobrar por software livre, de minha autoria ou de terceiros? Note que a definição de liberdade apresentada acima não faz nenhuma referência a custos ou preços. O fato de se cobrar ou não pela distribuição ou pela licença de uso do software não implica diretamente em ser o software livre ou não. Nada impede que um software livre obtido por você seja copiado e vendido, tenha ela sido modificado ou não por você. Ou seja, software livre não necessariamente precisa ser gratuito. Portanto, você pode ter pago para receber cópias de um software livre, ou você pode ter obtido cópias sem nenhum custo. Mas independente de como você obteve a sua cópia, você sempre tem a liberdade de copiar e modificar o software, ou mesmo de vender cópias ? ou distribui-las gratuitamente. ?Software Livre? não significa ?não-comercial?. Um programa livre deve estar disponível para uso comercial, desenvolvimento comercial, e distribuição comercial. O desenvolvimento comercial de software livre não é incomum; tais softwares livres comerciais são muito importantes. Se eu distribuo um software livre, tenho que fornecer cópias a qualquer interessado, ou mesmo disponibilizá-lo para download público? A resposta curta seria ?não?. Seria uma atitude em sintonia com a filosofia da liberdade de software se você o disponibilizasse para qualquer interessado, preferencialmente em um formato de fácil manipulação (exemplo: imagens ISO de CD-ROMs, pacotes tar.gz com os códigos-fonte ou outros formatos para código executável instalável), mas você não tem esta obrigação. Entretanto, você tem que deixar o código-fonte à disposição de quem vier a receber o código-executável (caso você não os distribua em conjunto, que é a forma mais apropriada), nos termos da licença. E, naturalmente, tem que respeitar todos os demais termos da licença livre adotada. Se eu uso um software livre, tenho que disponibilizar meus próprios softwares para o público? Não. Mesmo se você fizer alterações em um software GPL e guardá-las para seu próprio uso, você não estará infringindo a licença. A obrigação básica da GPL, no que diz respeito a disponibilização de software, é que se você for disponibilizar para terceiros algum software obtido sob os termos da GPL (modificado por você ou não), esta disponibilização deve ocorrer sob os termos da GPL. Assim, é perfeitamente legal e normal um mesmo desenvolvedor disponibilizar alguns softwares com licenças livres e outros com licenças proprietárias, ter softwares livres e não-livres instalados no mesmo computador, usar softwares livres (como o compilador GCC) como ferramentas de desenvolvimento de softwares proprietários, ou incluir softwares livres e não-livres no mesmo CD-ROM, para citar alguns exemplos. Outras dúvidas comuns Veja a resposta a muitas dúvidas freqüentes de desenvolvedores, distribuidores e usuários de Software Livre na GPL FAQ (em português). Software livre X Código abertoEm 1998, um grupo de personalidades da comunidade e do mercado que gravita em torno do software livre, insatisfeitos com a postura filosófica do movimento existente e acreditando que a condenação do uso de software proprietário é um instrumento que retarda, ao invés de acelerar, a adoção e o apoio ao software livre no ambiente corporativo, criou a Open Source Initiative, que adota o termo Open Source (Código Aberto) para se referir aos softwares livres, e tem uma postura voltada ao pragmatismo visando à adoção do software de código aberto como uma solução viável, com menos viés ideológico que a Free Software Foundation. Ao contrário do que muitos pensam, Código Aberto não quer dizer simplesmente ter acesso ao código-fonte dos softwares (e não necessariamente acompanhado das ?4 liberdades? do software livre). Para uma licença ou software ser considerado como Código Aberto pela Open Source Initiative, eles devem atender aos 10 critérios da Definição de Código Aberto, que incluem itens como Livre Redistribuição, Permissão de Trabalhos Derivados, Não Discriminação, Distribuição da Licença e outros. De modo geral, as licenças que atendem à já mencionada Definição de Software Livre (da Free Software Foundation) também atendem à Definição de Código Aberto (da Open Source Initiative), e assim pode-se dizer (na ampla maioria dos casos, ao menos) que se um determinado software é livre, ele também é de código aberto, e vice-versa. A diferença prática entre as duas entidades está em seus objetivos, filosofia e modo de agir, e não nos softwares ou licenças. Segundo a Free Software Foundation, em sua página sobre o assunto:
A Wikipédia traz mais detalhes:
Licenças de software livreExistem muitas licenças de software livre, e nada impede (embora isto não seja recomendado) que cada interessado crie sua própria licença atendendo às 4 liberdades básicas, agregando ? ou não ? uma cláusula de copyleft. A Free Software Foundation mantém uma página com uma lista de licenças conhecidas, classificando-as entre livres (compatíveis ou não com a GPL) e não-livres, incluindo comentários sobre elas. Algumas das licenças livres mais populares são:
Exemplos de softwares livresAlguns softwares livres notáveis são o Linux, o ambiente gráfico KDE, o compilador GCC, o servidor web Apache, o OpenOffice.org e o navegador web Firefox, entre muitos outros. DefiniçõesNas referências empregadas no BR-Linux, assume-se que a expressão ?Software Livre? (ou ?Free Software?) será empregada conforme a definição da Free Software Foundation, e que a expressão ?Código Aberto? (ou ?Open Source?) será empregada conforme definido pela Open Source Initiative. Softwares serão considerados como livres quando estiverem sob uma licença que se qualifique como software livre pela definição acima, e serão considerados como abertos quando estiverem sob uma licença que se qualifique como código aberto pela definição acima, levando em consideração a intersecção entre os 2 conjuntos. ReferênciasAlém dos links mencionados ao longo do texto, visite também os textos abaixo:
Para citar esta página em seu trabalho acadêmicoDados para referência bibliográfica: CAMPOS, Augusto. O que é software livre. BR-Linux. Florianópolis, março de 2006. Disponível em . Consultado em [data da sua consulta].
|