# Licença de software livre

Licença de software é um documento que determina quais ações o utilizador pode ou não executar em relação a um determinado software. O grupo de licenças de software que seguem o conceito de software livre são denominadas licenças de software livre.

## Software livre e licenciamento

Software livre foi uma expressão formalizada pela primeira vez por Richard Stallman, no início do Projecto GNU, e posteriormente pela Free Software Foundation como braço legal do projeto.
Todo e qualquer programa de computador cuja licença de direito de autor conceda ao utilizador as seguintes quatro liberdades é considerado software livre:
* Liberdade 0: A liberdade de executar o programa, para qualquer propósito.
* Liberdade 1: A liberdade de estudar como o programa funciona, e adaptá-lo para as suas necessidades. Acesso ao código-fonte é um pré-requisito para esta liberdade.
* Liberdade 2: A liberdade de redistribuir cópias de modo que você possa ajudar ao seu próximo.
* Liberdade 3: A liberdade de aperfeiçoar o programa, e redistribuir seus aperfeiçoamentos, de modo que toda a comunidade possa se beneficiar.
A realização de tais ações é reservada, pelo conceito de direito de autor, aos detentores dos direitos, que necessitam permitir, de forma explícita, estas liberdades recorrendo a uma licença de software livre. A remoção de qualquer uma das quatro liberdades descritas descaracterizaria sua condição de software livre. Ao optar pela disponibilização de um software livre, seu criador deve escolher qual licença o software adotará. As licenças de software livre permitem que o desenvolvedor/criador abdique de alguns direitos seus, estabelecidos pelo copyright, determinando quais são esses direitos e suas condições de aplicação. Este documento (licença de software livre) é normalmente distribuído junto com o código-fonte do software.
A popularização das licenças de software livre se deve ao fato da garantia jurídica que estas fornecem aos utilizadores de que não estão cometendo atos de infração de direito de autoria ao copiar ou modificar o software. Qualquer desenvolvedor pode estabelecer e criar suas próprias licenças de software. Entretanto a Open Source Initiative (OSI) recomenda fortemente que sejam reaproveitadas as licenças disponíveis e consolidadas pela comunidade de software livre. Tanto a OSI quanto o Projeto GNU listam as principais licenças de software livre existentes e suas descrições.
As licenças podem ser separadas, normalmente, em três categorias, divididas de acordo com a presença de termos que impõem restrições de licenciamento na redistribuição ou criação de trabalhos derivados do original. Desta forma as licenças são consideradas permissivas ou recíprocas. As recíprocas podem ser ainda consideradas parciais ou totais. A principal diferença é que as licenças recíprocas totais se caracterizam pela manutenção da licença original. As recíprocas parciais também podem ser conhecidas como copyleft fraco.

## Licenças Permissivas

As licenças permissivas também podem ser conhecidas como licenças acadêmicas em referência às origens das licenças BSD da Universidade da Califórnia em Berkeley e MIT do Massachusetts Institute of Technology. Estas licenças recebem este nome pelas poucas restrições que impõem às pessoas que obtém o produto. Estas licenças devem ser usadas quando se deseja que o projeto possa atingir um número maior de pessoas para ampla divulgação. Um grande caso de sucesso neste caso é o servidor web Apache da Apache Software Foundation. A licença Apache, usada na maioria de seus produtos, é do tipo permissiva. Em geral, essas licenças permitem inclusive que, qualquer detentor do código possa desenvolver um produto derivado e fechar o código para explorá-lo comercialmente. Neste caso, o servidor web Apache se tornou um produto referência e tão amplamente usado que nenhuma empresa tem interesse em desenvolver um produto derivado com código fechado.
* A Licença BSD se caracteriza por ser a primeira licença de software livre, criada originalmente para o Berkeley Software Distribution, um sistema derivado do UNIX.
* A Licença MIT é similar à Licença BSD. Também pode ser conhecida em algumas variantes como Licenças MIT/X11, pois foi criada para disponibilizar o gerenciador de janelas X11 desenvolvido pelo MIT.
* A Licença Apache é a licença criada pela Apache Software Foundation por meio da qual essa disponibiliza todos seus projetos. Estão incluídos: Apache HTTP Server, Apache Hadoop, Apache Tomcat e Apache Ant, dentre outros.

## Licenças Recíprocas Totais

As licenças recíprocas totais tem a característica de que qualquer trabalho derivado do original deve ser redistribuído e disponibilizado sob os mesmos termos da licença original. Essa filosofia é conhecida como copyleft, termo criado pela Free Software Foundation. A ideia do copyleft é permitir a todos a execução, cópia, modificação e redistribuição das versões derivadas do software impedindo que possam ser acrescentadas restrições a essas modificações. Essa restrição determina que todo software livre produzido pela comunidade permaneça livre e não possa ter seu código fechado. A principal licença desta categoria é a GPL (GNU General Public Licence) da Free Software Foundation.
* A Licença GPL é a principal licença de software livre recíproca total. Teve sua primeira versão redigida em 1989. A versão 2.0 foi redigida em 1991 e permaneceu até 2007 quando foi lançada a GPLv3, em vigência até os dias atuais.
* A Licença AGPL foi desenvolvida pela Affero Inc. como uma derivação autorizada da licença GPL com o intuito de permitir o uso de um software através de uma rede. Também pode ser conhecida como GNU Affero General Public License.

## Licenças Recíprocas Parciais

As licenças recíprocas parciais também são conhecidas como copyleft fraco. Em princípio, determinam que modificações feitas em um software sob esta licença sejam disponibilizadas sob a mesma licença. Entretanto, se as modificações foram utilizadas como componente de outro projeto de software, este projeto não precisa, necessariamente, ser disponibilizado sob a mesma licença. Este é o principal diferencial das licenças recíprocas parciais para as recíprocas totais. Essas licenças possuem um equilíbrio entre as licenças permissivas e as recíprocas totais. Considera-se que as licenças recíprocas parciais proporcionam o interesse da comunidade de desenvolvedores pela liberdade que promovem. As licenças LGPL (GNU Lesser General Public Licence), MPL (Mozilla Public Licence) e EPL (Eclipse Public Licence) são exemplos desta categoria.
* A Licença LGPL (GNU Lesser General Public Licence) foi originalmente redigida como uma cópia da licença GPL com alterações relativas a bibliotecas, definidas como um conjunto de funções de software que podem ser agregadas para formar novos software. Em 2007 a LGPL foi reescrita para ficar em conformidade com a GPLv3.
* A Licença pública Mozilla (Mozilla Public Licence) foi escrita originalmente por Mitchell Baker (à epoca advogada da Nestcape, e atualmente executiva chefe da Mozilla Foundation). A MPL determina que o código sob esta licença deve ser redistribuído pelos termos desta mesma licença. Entretanto, o código pode ser utilizado em projetos maiores, que podem estar sob outra licença.
* A Licença Pública Eclipse foi criada pela Eclipse Foundation. Ele foi criada para substituir duas licenças anteriores à criação da fundação: a IBM Public Licence de 1999 que foi posteriormente substituída pela Common Public Licence.

## Quadro Comparativo das Principais Licenças de Software Livre

O quadro foi elaborado a partir da análise realizada no trabalho de Sabino.
| | BSD | MIT | Apache | GPL 2.0 | GPLv3 | AGPL | LGPL | Mozilla / EPL |
| Reciprocidade | Ausente | Ausente | Ausente | Total | Total | Total | Parcial | Parcial |
| Clareza / Simplicidade | Média | Alta | Alta | Média | Média | Média | Baixa | Alta |
| Adoção | Alta | Baixa | Média | Alta | Média | Baixa | Alta | Alta |
| Compatibilidade com a GPL | Sim | Sim | v3 | 2.0 | v3 | Sim | Respectiva | Não |
| Licenças derivadas | Sim | Sim | Sim | Não | Não | Não | Não | Sim |
Sabino apresenta ainda em seu trabalho um mecanismo para seleção de uma licença para os desenvolvedores que decidem compartilham seu código-fonte como software livre, reproduzido na figura.
Notas
* ↑ Ausente: não exige licenciamento de trabalhos derivados sob os mesmos termos; parcial: dispensa o licenciamento equivalente se o projeto original for componente do novo projeto; total: obriga qualquer trabalho derivado a ser licenciado sob os mesmos termos.
* ↑ É necessária atenção especial aos termos omissos e interpretações diversas em licenças de assertividade média ou baixa, observando as restrições delineadas ao longo deste capítulo.
* ↑ Licenças com maior grau de adoção facilitam a disseminação do projeto entre usuários e empresas e novos desenvolvedores, na medida em que aumentam a chance de contato prévio com as mesmas.
* ↑ Adoção alta se considerarmos também as licenças derivadas da MPL.
* ↑ A compatibilidade com essa licença em particular é um critério importante, pois ela é uma das mais usadas em projetos já existentes, e, ao mesmo tempo, uma das que mais apresentam restrições de reciprocidade.
* ↑ Neste caso prevalece a AGPL.
* ↑ Licenças que permitem a criação de derivadas podem oferecer maior liberdade, mas tornam a veriﬁcação de compatibilidade menos trivial.