Licença de software livre – Wikipédia, a enciclopédia 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.[1]

Software livre e licenciamento[editar | editar código-fonte]

Software livre foi uma expressão formalizada pela primeira vez[2] por Richard Stallman, no início do Projecto GNU,[3] 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[4] quanto o Projeto GNU[5] 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[editar | editar código-fonte]

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[6] e MIT[7] do Massachusetts Institute of Technology.[8] 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.[9] 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[10] 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[11] é 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[12] é 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[editar | editar código-fonte]

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,[13] termo criado pela Free Software Foundation.[14] 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[15] (GNU General Public Licence) da Free Software Foundation.

  • A Licença GPL[16] é a principal licença de software livre recíproca total. Teve sua primeira versão redigida em 1989.[17] A versão 2.0[18] foi redigida em 1991 e permaneceu até 2007 quando foi lançada a GPLv3,[19] em vigência até os dias atuais.

Licenças Recíprocas Parciais[editar | editar código-fonte]

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[22] (GNU Lesser General Public Licence), MPL[23] (Mozilla Public Licence) e EPL[24] (Eclipse Public Licence) são exemplos desta categoria.

  • A Licença LGPL[25] (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[26] (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[27] foi criada pela Eclipse Foundation. Ele foi criada para substituir duas licenças anteriores à criação da fundação: a IBM Public Licence[28] de 1999 que foi posteriormente substituída pela Common Public Licence.[29]

Quadro Comparativo das Principais Licenças de Software Livre[editar | editar código-fonte]

Mecanismo de seleção de Licença de Software Livre

O quadro foi elaborado a partir da análise realizada no trabalho de Sabino.[30]

BSD MIT Apache GPL 2.0 GPLv3 AGPL LGPL Mozilla / EPL
Reciprocidade[Q 1] Ausente Ausente Ausente Total Total Total Parcial Parcial
Clareza / Simplicidade[Q 2] Média Alta Alta Média Média Média Baixa Alta
Adoção[Q 3] Alta Baixa Média Alta Média Baixa Alta Alta[Q 4]
Compatibilidade com a GPL[Q 5] Sim Sim v3 2.0 v3 Sim[Q 6] Respectiva Não
Licenças derivadas[Q 7] Sim Sim Sim Não Não Não Não Sim

Sabino[30] 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

  1. 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.
  2. É 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.
  3. 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.
  4. Adoção alta se considerarmos também as licenças derivadas da MPL.
  5. 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.
  6. Neste caso prevalece a AGPL.
  7. Licenças que permitem a criação de derivadas podem oferecer maior liberdade, mas tornam a verificação de compatibilidade menos trivial.

Referências

  1. «Software livre, código aberto e software gratuito: as diferenças». www.infowester.com 
  2. http://www.gnu.org/philosophy/free-sw.html
  3. http://www.gnu.org/gnu/initial-announcemenistavoidt.html
  4. «Open Source Licenses by Category - Open Source Initiative». opensource.org 
  5. http://www.gnu.org/licenses/licenses.html
  6. http://coe.berkeley.edu/labnotes/history_unix.html
  7. «Cópia arquivada». Consultado em 24 de janeiro de 2012. Arquivado do original em 29 de fevereiro de 2012 
  8. «The Massachusetts Institute of Technology (MIT)». Massachusetts Institute of Technology 
  9. «Welcome to The Apache Software Foundation!». www.apache.org 
  10. «The 2-Clause BSD License - Open Source Initiative». opensource.org 
  11. «The MIT License - Open Source Initiative». opensource.org 
  12. «Apache License, Version 2.0 - Open Source Initiative». opensource.org 
  13. http://www.gnu.org/copyleft/
  14. «Front Page — Free Software Foundation — working together for free software». www.fsf.org 
  15. http://www.gnu.org/licenses/gpl.html
  16. «GNU General Public License - Open Source Initiative». opensource.org 
  17. http://www.gnu.org/licenses/old-licenses/gpl-1.0.html
  18. http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
  19. http://www.gnu.org/licenses/quick-guide-gplv3.html
  20. «GNU Affero General Public License version 3 - Open Source Initiative». opensource.org 
  21. «Affero.org». www.affero.org 
  22. http://www.gnu.org/licenses/lgpl.html
  23. «Mozilla Public Licence». Mozilla 
  24. «Eclipse Public License - Version 1.0». www.eclipse.org 
  25. «GNU LGPL - Open Source Initiative». opensource.org 
  26. «Mozilla Public License 2.0 (MPL-2.0) - Open Source Initiative». opensource.org 
  27. «Eclipse Public License 1.0 (EPL-1.0) - Open Source Initiative». opensource.org 
  28. «IBM Public License Version 1.0 (IPL-1.0) - Open Source Initiative». opensource.org 
  29. «Common Public License, version 1.0 (CPL-1.0) - Open Source Initiative». opensource.org 
  30. a b SABINO, V. C., Um estudo sistemático de licenças de software livre, 2011. 116f. Dissertação (Mestrado em Ciência da Computação) – Instituto de Matemática e Estatística, Universidade de São Paulo, São Paulo, 2011.