GNU General Public License
GPL License | |
---|---|
Logo da versão 3 da GNU General Public License | |
Autor | Free Software Foundation |
Última versão | 3 |
Publicado | 29 de Junho de 2007 |
Compatível com DFSG | Sim[1] |
Aprovado pela FSF | Sim[2] |
Aprovado pela OSI | Sim[3] |
Copyleft | Sim[2] |
Pode ser ligado a código com licença diferente | Não (Só é permitido linking com licenças compatíveis com a GPLv3) |
Website | www |
GNU General Public License (Licença Pública Geral GNU), GNU GPL ou simplesmente GPL, é a designação da licença para software idealizada por Richard Matthew Stallman em 1989, no âmbito do projeto GNU da Free Software Foundation (FSF). Richard Stallman originalmente criou a licença para o Projeto GNU de acordo com as definições de software livre da Free Software Foundation.
Sendo uma licença copyleft, trabalhos derivados de um produto originalmente licenciado pela GPL só podem ser distribuídos se utilizarem a mesma licença. Isso é diferente das licenças permissivas como a licença BSD e a licença MIT, que possuem exigências mais simples.
Historicamente, as licenças GPL são utilizadas por projetos de software livre e de código aberto. Além dos programas de software produzidos pelo Projeto GNU, o núcleo Linux é um exemplo de uso da licença, valendo-se da versão 2 da GPL.[4]
História
[editar | editar código-fonte]A licença GPL foi escrita por Richard Stallman em 1989, para uso com programas lançados como parte do projeto GNU. A GPL original foi baseada numa unificação de licenças similares usadas para versões iniciais do GNU Emacs (1985),[5] o GNU Debugger, e o GNU C Compiler.[6] Essas licenças possuíam provisões similares para a GPL moderna, mas eram específicas para cada programa, tornando-os incompatíveis, mesmo sendo a mesma licença.[7] O objetivo de Stallman era produzir uma licença que pudesse ser usada para qualquer projeto, tornando assim possível que muitos projetos compartilhassem código.
A segunda versão da licença, versão 2, foi lançada em 1991. Ao longo de 15 anos, os membros da comunidade de software livre ficaram preocupados com problemas na licença GPLv2 que poderiam deixar alguém abusar o software licenciado pela GPL de maneiras contrárias à licença.[8] Estes problemas incluíam tivoização (inclusão de software licenciado pela GPL em hardware que recusa rodar versões modificadas de seu software), problemas de compatibilidade similar àquelas da Affero General Public License, e negociações de patentes entre a Microsoft e distribuidores de software livre e de código aberto, que para alguns foi visto como uma tentativa de usar patentes como uma arma contra a comunidade de software livre.
A Versão 3 foi desenvolvida para tentar tratar dessas preocupações, e foi oficialmente lançada em 29 de Junho de 2007.[9]
Versão 1
[editar | editar código-fonte]GNU General Public License, versão 1 | |
---|---|
Publicado | 25 de fevereiro de 1989 |
Website | https://www.gnu.org/licenses/old-licenses/gpl-1.0.html |
A primeira versão da GNU GPL,[10] lançada em 25 de fevereiro de 1989, impediu o que eram, até então, as duas principais formas que os distribuidores de software restringiam as liberdades que definem o software livre. O primeiro problema foi que os distribuidores podiam publicar somente arquivos binários executáveis, porém não legíveis ou modificáveis por humanos. Para prevenir isto, a GPLv1 afirmava que ao copiar e distribuir qualquer porção do programa também deveria ser disponibilizado o código fonte legível, para humanos, sob os mesmos termos de licenciamento.[a]
O segundo problema era que as distribuidoras poderiam acrescentar restrições, seja à licença ou combinando o software com outros softwares que tivessem outras restrições de distribuição. A união de dois conjuntos de restrições seria aplicável ao trabalho combinado, acrescentando assim restrições inaceitáveis. Para evitar isto, a GPLv1 declarou que as versões modificadas, como um todo, tinham que ser distribuídas sob os termos da GPLv1.[b] Assim, os softwares distribuídos sob os termos da GPLv1 poderiam ser combinados com softwares sob termos mais permissivos, pois isso não mudaria os termos sob os quais o produto poderia ser distribuído. Entretanto, um software distribuído sob a GPLv1 não poderia ser combinado com software distribuído sob uma licença mais restritiva, pois isso entraria em conflito com a exigência de que o produto seja distribuível sob os termos da GPLv1
GNU General Public License versão 2 | |
---|---|
Publicado | Junho de 1991 |
Website | https://www.gnu.org/licenses/old-licenses/gpl-2.0.html |
Versão 2
[editar | editar código-fonte]De acordo com Stallman, a maior mudança para a GPLv2 seria a cláusula "Liberdade ou Morte", como ele a chama[7] - Seção 7. A seção diz que os licenciados podem distribuir uma obra coberta pela GPL somente se puderem satisfazer todas as obrigações da licença, apesar de quaisquer outras obrigações legais que possam ter. Em outras palavras, as obrigações da licença não podem ser separadas devido a obrigações conflitantes. Esta cláusula pretende desencorajar qualquer parte de utilizar uma reivindicação de violação de patente ou outro litígio para prejudicar a liberdade dos usuários sob a licença.[7]
No início da década de 1990 estava se tornando aparente que uma licença menos restritiva poderia ser estrategicamente útil para a Biblioteca padrão do C e para as bibliotecas de software que essencialmente faziam o trabalho de outras proprietárias existentes.[11] Quando a versão 2 da GPL (GPLv2) foi lançada, em junho de 1991, portanto, uma segunda licença - a GNU Library General Public License -, foi introduzida e numerada com a versão 2, indicando que ambas eram complementares.[12] Os números das versões divergiram em 1999, quando a versão 2.1 da LGPL foi lançada e renomeada como "GNU Lesser General Public License", refletindo sua posição filosófica. A GPLv2 também foi modificada para se referir ao novo nome, LGPL, mas seu número de versão permaneceu o mesmo, resultando no não reconhecimento da GPLv2 original pelo Software Package Data Exchange (SPDX).[13]
A licença inclui instruções para especificar a "versão 2 da Licença, ou (a seu critério) qualquer versão posterior", possibilitando o uso opcional e flexível das versões 2 ou 3, mas alguns desenvolvedores alteram isso para especificar apenas a "versão 2".
GNU General Public License versão 3 | |
---|---|
Publicado | 29 de Junho de 2007 |
Website | https://www.gnu.org/licenses/gpl-3.0.en.html |
Versão 3
[editar | editar código-fonte]No final de 2005, a Free Software Foundation, anunciou estar trabalhando na versão 3 da GPL (GPLv3). Em 16 de janeiro de 2006, o primeiro "rascunho de discussão" da GPLv3 foi publicado e a consulta pública começou. A consulta pública foi originalmente planejada para nove a quinze meses, mas acabou durando dezoito meses, com quatro rascunhos sendo publicados. A licença foi lançada pela FSF em 29 de junho de 2007. A GPLv3 foi escrita por Richard Stallman, com assessoria jurídica de Eben Moglen e Richard Fontana do Software Freedom Law Center.[14]
Conteúdo
[editar | editar código-fonte]Em termos gerais, a GPL baseia-se em 4 liberdades:
- A liberdade de executar o programa, para qualquer propósito (liberdade nº 0)
- A liberdade de estudar como o programa funciona e adaptá-lo às suas necessidades (liberdade nº 1). O acesso ao código-fonte é um pré-requisito para esta liberdade.
- A liberdade de redistribuir cópias de modo que você possa ajudar ao seu próximo (liberdade nº 2).
- A liberdade de aperfeiçoar o programa e liberar os seus aperfeiçoamentos, de modo que toda a comunidade se beneficie deles (liberdade nº 3). O acesso ao código fonte é um pré-requisito para esta liberdade.
Com garantia destas liberdades, a GPL permite que os programas sejam distribuídos e reaproveitados, mantendo, porém, os direitos do autor, de forma a não permitir que essa informação seja usada de uma maneira que limite as liberdades originais. A licença não permite, por exemplo, que o código que outra pessoa se apodere dele, ou que sejam impostos sobre ele restrições que impeçam que seja distribuído da mesma maneira que foi adquirido.
A GPL está redigida em inglês e atualmente (2006) nenhuma tradução é aceita como válida pela Free Software Foundation, com o argumento[15] de que há o risco de introdução de erros de tradução que poderiam deturpar o sentido da licença. Deste modo, qualquer tradução da GPL é não-oficial e meramente informativa, mantendo-se a obrigatoriedade de distribuir o texto oficial em inglês com os programas.
Crítica
[editar | editar código-fonte]Em 2001, Steve Ballmer, da Microsoft, se referiu ao Linux como "um cancro que se junta à propriedade intelectual e contamina tudo em que toca".[16] Porém, críticos alegam que o verdadeiro motivo para a Microsoft atacar a GPL é o fato desta licença "resistir às tentativas dos direitos de propriedade intelectual convencionais se estenderem sobre todas as criações e inovações da área".[17] Em resposta aos ataques da Microsoft à GPL, muitos desenvolvedores e defensores de Softwares Livres publicaram uma declaração conjunta a favor da licença.[18] Contudo, em julho de 2009, a própria Microsoft incluiu um bloco de aproximadamente 20.000 linhas, sob licença GPL, ao conjunto de drivers do Linux.[19] O código do Hyper-V, que era parte do código submetido, usou componentes de código aberto licenciados sob a GPL. Era originalmente ligado estaticamente a partes dos códigos binários pertencentes a proprietários de direitos autorais, que são inadmissíveis num software licenciado através da GPL.[20]
A GPL tem sido descrita como viral por muitos críticos,[21] pois permite a licença somente à programas inteiros, o que significa que não é permitido aos programadores ligar seu projeto a bibliotecas sob licenças incompatíveis à GPL. O efeito viral ocorre nos casos em que os códigos não podem ser combinados a menos que a licença de um deles sofra alguma alteração. Embora teoricamente qualquer uma das licenças possa ser mudada, no contexto viral isso é mais difícil de ocorrer com a GPL (porque o software pode ter muitos contribuintes, dos quais alguns geralmente se recusam permitir mudanças nos termos de licença), ao passo que a licença dos outros softwares pode ser mudada. De acordo com Richard Stallman, a imagem de um vírus não é apenas ofensiva, como também errônea: softwares sob licença GPL nunca atacaram ou infectaram outros softwares. Ela se comporta mais como uma planta. Se um pedaço é aproveitado como enxerto em outro lugar, ela cresce lá também.
Há uma diferença filosófica entre GPL e licenças permissivas de software livre, como as do estilo BSD, que não impõem restrições nas versões modificadas. Enquanto a GPL propõe que a liberdade dos softwares se preserve desde os desenvolvedores até o usuário final, outros acreditam que intermediários devam ter a liberdade de modificar e redistribuí-los comercialmente. Mais especificamente, a GPL exige redistribuição sujeita à GPL, embora outras mais permissivas permitam redistribuição sob forma mais restritiva que a original.
Em um mercado grande, códigos sob licença GPL tem preço praticamente nulo, pois cada usuário tem igual direito de revendê-lo. Isso pode inibir o interesse no seu uso ao comprometer os interesses econômicos do desenvolvedor. A Microsoft, por exemplo, inclui termos antiGPL ao disponibilizar seus códigos.[22] Porém, essa crítica é rebatida na observação de que empresas que focam seus negócios em software livre, como a Red Hat e a IBM, trabalham na venda de serviços agregados como suporte e desenvolvimento de novas funcionalidades, ao invés da venda do software.[23][24]
A GPL não tem cláusula de indenização protegendo os desenvolvedores de contribuições inescrupulosas. Por exemplo, se um projeto GPL é acrescido de um trabalho patenteado ou protegido por direitos autorais, violando os termos destes, todos os envolvidos neste projeto, não só a pessoa que se apossou indevidamente dos trabalhos alheios, serão processados por danos ao detentor da patente ou do direito de cópia. Este foi um problema que levou a Mozilla a criar e usar a Mozilla Public License, em vez da utilizar a GPL ou LGPL.[carece de fontes]
Alguns desenvolvedores de projetos de código aberto julgam que a opção pela GPL se origina no medo que os autores têm que seu código seja explorado comercialmente, sem considerar os benefícios que podem emergir do seu uso por corporações e da pouca evidência que tal exploração realmente ocorra.[25]
Ver também
[editar | editar código-fonte]- GNU FDL, a Licença de Documentação Livre GNU.
- GNU LGPL, a Licença Pública Geral Menor GNU.
- GNU AGPL, a Licença Pública Geral Affero GNU.
- Licença livre
- Copyleft
Referências
- ↑ «The DFSG and Software Licenses» (em inglês). Debian. Consultado em 19 de Agosto de 2017
- ↑ a b «Various Licenses and Comments about Them» (em inglês). Free Software Foundation. Consultado em 22 de Agosto de 2017
- ↑ «Licenças aprovadas pela OSI (em inglês)» (em inglês). Open Source Initiative. Consultado em 19 de Agosto de 2017
- ↑ David A. Wheeler (30 de Julho de 2004). «Estimating Linux's Size» (em inglês). Consultado em 22 de Agosto de 2017
- ↑ Brinkhoff, Lars (27 de agosto de 2022), larsbrinkhoff/emacs-16.56, consultado em 13 de janeiro de 2023
- ↑ «The History of the GNU General Public License». www.free-soft.org. Consultado em 13 de janeiro de 2023
- ↑ a b c «GPLv3 - Transcript of Richard Stallman from the second international GPLv3 conference, Porto Alegre, Brazil; 2006-04-21». web.archive.org. 27 de maio de 2006. Consultado em 13 de janeiro de 2023
- ↑ «Why Upgrade to GPL Version 3 — GPLv3». gplv3.fsf.org. Consultado em 13 de janeiro de 2023
- ↑ «FSF releases the GNU General Public License, version 3 — Free Software Foundation — Working together for free software». www.fsf.org. Consultado em 13 de janeiro de 2023
- ↑ «Licença Pública Geral GNU v1.0 - Projeto GNU - Free Software Foundation». www.gnu.org. Consultado em 14 de janeiro de 2023
- ↑ Para o argumentação, ver "O projeto GNU"
- ↑ «Licença Pública Geral de Biblioteca GNU v2.0 - Projeto GNU - Free Software Foundation». www.gnu.org. Consultado em 7 de abril de 2023
- ↑ «SPDX License List | Software Package Data Exchange (SPDX)». spdx.org. Consultado em 7 de abril de 2023
- ↑ Stallman, Richard (25 de fevereiro de 2006). «Presentation in Brussels, Belgium—the first day of that year's FOSDEM conference.». Arquivado do original em 7 de setembro de 2012
- ↑ «Frequently Asked Questions about the GNU Licenses - GNU Project - Free Software Foundation (FSF)». www.gnu.org. Consultado em 21 de abril de 2011
- ↑ Newbart, Dave (1 de junho de 2001). «Microsoft CEO takes launch break with the Sun-Times». Chicago Sun-Times. Cópia arquivada em 15 de junho de 2001(Internet archive link)
- ↑ «Deadly embrace». The Economist. 30 de março de 2000. Consultado em 31 de março de 2006
- ↑ «Free Software Leaders Stand Together». Consultado em 16 de dezembro de 2009. Arquivado do original em 4 de setembro de 2007
- ↑ Clarke, Gavin (20 de julho de 2009). «Microsoft embraces Linux cancer to sell Windows servers». The Register
- ↑ Clarke, Gavin (23 de julho de 2009). «Microsoft opened Linux-driver code after 'violating' GPL». The Register
- ↑ "Speech Transcript - Craig Mundie, The New York University Stern School of Business", Prepared Text of Remarks by Craig Mundie, Microsoft Senior Vice President, The Commercial Software Model The New York University Stern School of Business May 3, 2001
- ↑ Microsoft anti-GPL fine print threatens competition | The Register
- ↑ IBM's Linux revenue: Services to overtake servers[ligação inativa]
- ↑ Red Hat revenue surges 46 percent[ligação inativa]
- ↑ «O'Reilly Media - Technology and Business Training». www.oreilly.com (em inglês). Consultado em 7 de abril de 2023
Ligações externas
[editar | editar código-fonte]- «Texto oficial da GPL» (em inglês)
- «Licença Pública Geral do GNU (GPL) do Creative Commons». (não oficial)
- «Como usar a GPL em seus próprios programas»
- «Como denunciar uma violação da GPL» (em inglês)
- «Veja e participe na discussão da GPL v3» (em inglês)
Erro de citação: Existem etiquetas <ref>
para um grupo chamado "lower-alpha", mas não foi encontrada nenhuma etiqueta <references group="lower-alpha"/>
correspondente