segunda-feira, 18 de maio de 2009

SOFTWARE LIVRE

Software livre, segundo a definição criada pela Free Software Foundation é qualquer programa de computador que pode ser usado, copiado, estudado, modificado e redistribuído sem nenhuma restrição. A liberdade de tais diretrizes é central ao conceito, o qual se opõe ao conceito de software proprietário, mas não ao software que é vendido almejando lucro (software comercial). A maneira usual de distribuição de software livre é anexar a este uma licença de software livre, e tornar o código fonte do programa disponível.
Dfinição
Um software é considerado como livre quando atende aos quatro tipos de liberdade para os usuários do softwaree definidas pela Free Software Foundation:
A liberdade para executar o programa, para qualquer propósito (liberdade nº 0);
A liberdade de estudar como o programa funciona, e adaptá-lo para as suas necessidades (liberdade nº 1). Acesso ao código-fonte é um pré-requisito para esta liberdade;
A liberdade de redistribuir, inclusive vender, cópias de modo que você possa ajudar ao seu próximo (liberdade nº 2);
A liberdade de modificar o programa, e liberar estas modificações, de modo que toda a comunidade se beneficie (liberdade nº 3). Acesso ao código-fonte é um pré-requisito para esta liberdade;
A liberdade de executar o programa significa a liberdade para qualquer tipo de pessoa física ou jurídica utilizar o software em quantas máquinas quiser, em qualquer tipo de sistema computacional, para qualquer tipo de trabalho ou atividade, sem nenhuma restrição imposta pelo fornecedor.
A liberdade de redistribuir o programa compilado, isto é em formato binário, necessariamente inclui a obrigatoriedade de disponibilizar seus códigos-fonte. Caso o sofware venha a ser modificado e o autor da modificação queira distribuí-lo, gratuitamente ou não, será também obrigatória a distribuição do código fonte das modificações, desde que elas venham a integrar o programa. Não é necessária a autorização do autor ou do distribuidor do software para que ele possa ser redistribuído, já que as licenças de software livre assim o permitem.
Para que seja possível estudar ou modificar o software (para uso particular ou para distribuir) é necessário ter acesso ao código-fonte. Por isso a disponibilidade desses arquivos é pré-requisito para a liberdade do software. Cada licença determina como será feito o fornecimento do códico fonte para distribuições típicas, como é o caso de distribuições em mídia portátil somente com os códigos binários já finalizados (sem o fonte). No caso da licença GPL, a fonte deve ser disponibilizada em local de onde possa ser acessado, ou deve ser entregue ao usuário, se solicitado, sem custos adicionais (exceto transporte e mídia).
Para que essas liberdades sejam reais, elas devem ser irrevogáveis. Caso o desenvolvedor do software tenha o poder de revogar a licença, o software não é livre.
A maioria dos softwares livres é licenciada através de uma licença de software livre, como a GNU GPL, a mais conhecida.
Software Livre e Software em Domínio Público
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 a autoria do desenvolvedor ou organização. O segundo caso acontece quando se passam os anos previsto nas leis de cada país de proteção dos direitos do autor e este se torna bem comum. Ainda assim, um software em domínio público pode ser considerado como um software livre.
Software Livre e Copyleft
Licenças como a GPL contêm um conceito adicional, conhecido como Copyleft, que se baseia na propagação dos direitos. Um software livre sem copyleft pode ser tornado não-livre por um usuário, caso assim o deseje. Já um software livre protegido por uma licença que ofereça copyleft, se distribuído, deverá ser sob a mesma licença, ou seja, repassando os direitos.
Associando os conceitos de copyleft e software livre, programas e serviços derivados de um código livre devem obrigatoriamente permanecer com uma licença livre (os detalhes de quais programas, quais serviços e quais licenças são definidos pela licença original do programa). O usuário, porém, permanece com a possibilidade de não distribuir o programa e manter as modificações ou serviços utilizados para si próprio.
Venda de Software Livre
As licenças de software livre permitem que eles sejam vendidos, mas estes em sua grande maioria estão disponíveis gratuitamente.
Uma vez que o comprador do software livre tem direito as quatro liberdades listadas, este poderia redistribuir este software gratuitamente ou por um preço menor que aquele que foi pago.
Como exemplo poderíamos citar o Red Hat Enterprise Linux que é comercializado pela Red Hat, a partir dele foram criados diversos clones como o CentOS que pode ser baixado gratuitamente.
Muitas empresas optam então por distribuir o mesmo produto sobre duas ou mais licenças, geralmente uma sobre uma licença copyleft e gratuita como a GPL e outra sobre uma licença proprietária e paga.
A liberdade de executar o programa significa a liberdade para qualquer tipo de pessoa física ou jurídica utilizar o software em quantas máquinas quiser, em qualquer tipo de sistema computacional, para qualquer tipo de trabalho ou atividade, sem nenhuma restrição imposta pelo fornecedor.
A liberdade de redistribuir o programa compilado, isto é em formato binário, necessariamente inclui a obrigatoriedade de disponibilizar seus códigos-fonte. Caso o sofware venha a ser modificado e o autor da modificação queira distribuí-lo, gratuitamente ou não, será também obrigatória a distribuição do código fonte das modificações, desde que elas venham a integrar o programa. Não é necessária a autorização do autor ou do distribuidor do software para que ele possa ser redistribuído, já que as licenças de software livre assim o permitem.
Para que seja possível estudar ou modificar o software (para uso particular ou para distribuir) é necessário ter acesso ao código-fonte. Por isso a disponibilidade desses arquivos é pré-requisito para a liberdade do software. Cada licença determina como será feito o fornecimento do códico fonte para distribuições típicas, como é o caso de distribuições em mídia portátil somente com os códigos binários já finalizados (sem o fonte). No caso da licença GPL, a fonte deve ser disponibilizada em local de onde possa ser acessado, ou deve ser entregue ao usuário, se solicitado, sem custos adicionais (exceto transporte e mídia).
Para que essas liberdades sejam reais, elas devem ser irrevogáveis. Caso o desenvolvedor do software tenha o poder de revogar a licença, o software não é livre.
A maioria dos softwares livres é licenciada através de uma licença de software livre, como a GNU GPL, a mais conhecida.
Software Livre e Software em Domínio Público
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 a autoria do desenvolvedor ou organização. O segundo caso acontece quando se passam os anos previsto nas leis de cada país de proteção dos direitos do autor e este se torna bem comum. Ainda assim, um software em domínio público pode ser considerado como um software livre.
Software Livre e Copyleft
Licenças como a GPL contêm um conceito adicional, conhecido como Copyleft, que se baseia na propagação dos direitos. Um software livre sem copyleft pode ser tornado não-livre por um usuário, caso assim o deseje. Já um software livre protegido por uma licença que ofereça copyleft, se distribuído, deverá ser sob a mesma licença, ou seja, repassando os direitos.
Associando os conceitos de copyleft e software livre, programas e serviços derivados de um código livre devem obrigatoriamente permanecer com uma licença livre (os detalhes de quais programas, quais serviços e quais licenças são definidos pela licença original do programa). O usuário, porém, permanece com a possibilidade de não distribuir o programa e manter as modificações ou serviços utilizados para si próprio.