Perguntas Frequentes sobre as Licenças GNU

Conteúdo

Perguntas básicas sobre o Projeto GNU, a Free Software Foundation e suas licenças

Compreensão geral das licenças GNU

Usando a licença GNU para seus programas

Distribuição de programas lançado sob as licenças GNU

Usando programas lançados sob as licenças GNU quando escrevem outros programas

Combinando trabalho com código lançado sob as licenças GNU

Questões sobre violação das licenças GNU


O que significa “GPL”? (#WhatDoesGPLStandFor)

“GPL” significa “General Public License” (Licença Pública Geral). A mais difundida dessas licenças é a Licença Pública Geral GNU, ou GNU GPL para encurtar. Isso pode ser encurtado mais ainda para “GPL”, quando estiver entendido que a GNU GPL é a que se pretende.

Software Livre significa usar a GPL? (#DoesFreeSoftwareMeanUsingTheGPL)

De forma alguma—há muitas outras licenças de software livre. Nós temos uma lista incompleta. Qualquer licença que garanta ao usuário algumas liberdades específicas é uma licença de software livre.

Por que eu deveria usar a GNU GPL em vez de outras licenças de software livre? (#WhyUseGPL)

Usando a GNU GPL irá requerer que todas as versões lançadas são software livre. Isso significa que você pode evitar o risco de ter que competir com uma versão modificada proprietária de seu próprio trabalho. Contudo, em algumas situações especiais ele pode ser melhor que usar uma licença mais permissiva.

Todo software GNU usa a GNU GPL como sua licença? (#DoesAllGNUSoftwareUseTheGNUGPLAsItsLicense)

A maior parte dos pacotes de software GNU usam a GNU GPL, mas há alguns poucos programas GNU (e partes de programas) que usam as licenças mais flexíveis, tais como a GPL Menor (LGPL). Quando fazemos isso, é por uma questão de estratégia.

Usar a GPL para um programa faz dele software GNU? (#DoesUsingTheGPLForAProgramMakeItGNUSoftware)

Qualquer pessoa pode publicar um programa sob a GNU GPL, mas isso não faz dele um pacote GNU.

Fazer do programa um software GNU significa contribuir explicitamente para o Projeto GNU. Isso acontece quando os desenvolvedores do programa e o Projeto GNU concordam em fazê-lo. Se você estiver interessado em contribuir um programa para o Projeto GNU, por favor escreva para <maintainers@gnu.org>.

O que eu poderia fazer se descobrir uma possível violação da GPL? (#ReportingViolation)

Você deveria relatar. Primeiro, verifique os fatos como puder. Então, pergunte ao editor ou detentor dos direitos autorais do programa específico sob GPL. Se aquele é a Free Software Foundation, escreva para <license-violation@gnu.org>. Por outro lado, o mantenedor do programa pode ser o detentor dos direitos autorais, ou senão pergunte como contatar o responsável, então reporte para o mantenedor.

Por que a GPL permite que usuários publiquem suas versões modificadas? (#WhyDoesTheGPLPermitUsersToPublishTheirModifiedVersions)

Um aspecto crucial do software livre é que usuários são livres para cooperar. É absolutamente essencial permitir que usuários que queiram se ajudar mutuamente compartilhem suas correções de bugs e melhoramentos com outros usuários.

Alguns propuseram alternativas para a GPL que requerem que versões modificadas passem pelo autor original. Durante o tempo em que o autor original seja capaz de dar conta das necessidades de manutenção, isso pode funcionar bem na prática, mas se o autor parar (mais ou menos) para fazer alguma outra coisa ou não atender à todas as necessidades dos usuários, esse sistema cai por terra. Além dos problemas práticos, esse sistema não permite que usuários colaborem mutuamente.

Algumas vezes o controle sobre versões modificadas é proposto como uma forma de evitar confusão entre várias versões feitas por usuários. Em nossa experiência, essa confusão não é um grande problema. Muitas versões do EMACS apareceram fora do Projeto GNU, mas os usuários podem diferenciá-las. A GPL requer que o autor ou autora de uma versão ponha o seu nome nela, para distingui-la de outras versões e proteger a reputação de outros mantenedores.

A GPL requer que o código fonte de versões modificadas seja disponibilizado para o público? (#GPLRequireSourcePostedPublic)

A GPL não requer que você disponibilizar sua versão modificada, ou qualquer outra parte dela. Você é livre para fazer as suas modificações e utilizá-las privativamente, sem nunca disponibilizá-las. Isso se aplica a organizações (incluindo empresas), também; um organização pode fazer uma versão modificada e usá-la internamente sem chegar a disponibilizá-la fora da organização.

Mas se você disponibilizar a versão modificada para o público de qualquer forma, a GPL requer que você torne o código fonte disponível para os usuários do programa, sob os termos da GPL.

Portanto, a GPL dá permissão para se disponibilizar o programa modificado de algumas formas, mas não de outras formas; mas a decisão disponibilizar ou não o programa depende de você.

Eu posso ter um programa sob GPL e um programa não livre no mesmo computador? (#GPLAndNonfreeOnSameMachine)

Sim.

Se eu sei que alguém tem uma cópia de um programa coberto pela GPL, posso exigir que eles me forneçam uma cópia? (#CanIDemandACopy)

Não. A GPL dar uma permissão pessoal para fazer e redistribuir cópias do programa se e quando a pessoa escolhida fazer. Aquela pessoa também tem o direito de não escolher redistribuir o programa.

O que esta “oferta escrita válida para quaisquer terceiros” significa na GPLv2? Ela implica que qualquer pessoa no mundo pode ter o código fonte de qualquer programa sob a GPL, em quaisquer condições? (#WhatDoesWrittenOfferValid)

Se você escolher prover o fonte através de uma oferta do escritor, então alguém que requisitar o fonte de você está intitulado a recebê-lo.

Se você distribuir binários comercialmente, sem estarem acompanhados do código fonte, a GPL diz que você deve acrescentar uma oferta por escrito de distribuição posterior do código fonte. Quando os usuários redistribuírem não comercialmente os binários que receberam de você, eles devem passar adiante uma cópia dessa oferta por escrito. Isso significa que pessoas que não obtiveram os binários diretamente de você ainda podem receber cópias do código fonte, junto com a oferta por escrito.

A razão pela qual nós exigimos que essa oferta seja válida para quaisquer terceiros é para que pessoas que tenham recebido os binários indiretamente dessa forma possam obter o código fonte de você.

A GPLv2 diz que versões modificadas, se publicadas, devem ser “licenciadas … para todos os terceiros.” Quem são esses terceiros? (#TheGPLSaysModifiedVersions)

A seção 2 diz que versões modificadas que você distribui devem ser licenciadas para todos os terceiros sob a GPL. “Todos os terceiros” significa absolutamente todo mundo—mas isso não requer que você faça alguma coisa fisicamente por eles. Apenas significa que eles tem uma licença de você, sob a GPL, para a sua versão.

Eu estou requerendo a reivindicação do copyright sobre minhas modificações para um programa sob GPL? (#RequiredToClaimCopyright)

Você não está requerendo a reivindicação de um copyright sobre suas mudanças. Na maioria dos países, contudo, que automaticamente acontece por padrão, você precisa solicitar suas mudanças explicitamente no domínio público se você não quer então estar com os direitos do autor.

Se você reivindicar um copyright sobre suas mudanças ou não, de qualquer forma você deve lançar a versão modificada, como um todo, sob a GPL (se você lançar sua versão modificada de tudo).

O que a GPL diz sobre traduzir alguns código para uma linguagem de programação diferente? (#TranslateCode)

Sobre a lei de copyright, tradução de um trabalho é considerado um tipo de modificação. Contudo, o que a GPL diz sobre aplicar versões modificadas também para versões traduzidas.

Se um programa combina o código de domínio público com um código sob GPL, eu posso tirar a parte do domínio público e usá-la como código de domínio público? (#CombinePublicDomainWithGPL)

Você pode fazer aquilo, se você pode descobrir que parte é domínio público em parte e separá-la do resto. Se o código foi colocado no domínio público pelos desenvolvedores, ele é domínio público domain não importa onde ele esteve.

A GPL permite que eu venda cópias do programa por algum valor? (#DoesTheGPLAllowMoney)

Sim, a GPL permite qualquer um fazer isso. O direito de vender cópias é parte da definição de software livre. Exceto em uma situação especial, não há limite sobre qual o preço que você pode carregar. (A única exceção é o requerido escrito ofertar para prover o código fonte que deve acompanhar o lançamento binário somente.)

A GPL me permite cobrar uma taxa por baixar o programa de meu site de distribuição?

Sim. Você pode cobrar qualquer taxa que desejar por distribuir uma cópia do programa. Se você distribuir binários por download, você deve prover “acesso equivalente” para baixar o fonte—todavia, a taxa de download do fonte não deve ser maior que a taxa do download do binário.

A GPL me permite exigir que qualquer um que receba uma cópia do software me pague uma taxa ou me notifique? (#DoesTheGPLAllowRequireFee)

Não. Na verdade, uma exigência dessas faria o programa ser não-livre. Se as pessoas tiverem que pagar quando elas obtém uma cópia do programa, ou se elas têm que notificar qualquer pessoa em particular, então o programa é não livre. Veja a definição de software livre.

A GPL é uma licença de software livre e, portanto, ela permite que as pessoas usem e até redistribuam o software sem ter que pagar a ninguém uma taxa por fazer isso.

Você pode cobrar uma taxa das pessoas para obter uma cópia de você. Você não pode requerer que as pessoas paguem a você quando elas obtém uma cópia de alguém.

Se eu distribuir um software GPL por uma taxa, eu estou requerendo também fazê-lo disponível para o público sem cobranças? (#DoesTheGPLRequireAvailabilityToPublic)

Não. Contudo, se alguém pagar pelas taxas e obter uma cópia, a GPL dar então a liberdade para lançá-la para o público, com ou sem uma taxa. Por exemplo, alguém deveria pagar uma taxa, e então coloca a cópia dela em seu web site para o público em geral.

A GPL me permite distribuir cópias sob em acordo de não divulgação? (#DoesTheGPLAllowNDA)

Não. A GPL diz que alguém que receber uma cópia de você tem o direito de redistribuir cópias, modificadas ou não. Você não está permitido distribuir o trabalho sobre qualquer outra restrição básica.

Se alguém perguntar se você assina um NDA para receber um software sob GPL com diretor autorais para a FSF, por favor informe-nos imediatamente escrevendo para license-violation@fsf.org.

Se a violação envolve um código sob GPL que tem algum outro dono copyright, por favor informe que o dono do copyright, como você gostaria para qualquer outro tipo de violação da GPL.

A GPL me permite distribuir um versão modificada ou beta sob um acordo de confidencialidade? (#DoesTheGPLAllowModNDA)

Não. A GPL diz que suas versões modificadas deve ter todas as liberdades iniciadas na GPL. Assim, alguém que receber uma cópia de sua versão de você tem o direito de redistribuir cópias (modificada ou não) de sua versão. Você não deve distribuir qualquer versão do trabalho com nenhuma restrição.

A GPL me permite desenvolver uma versão modificada sob um acordo de confidencialidade? (#DevelopChangesUnderNDA)

Sim. Por exemplo, você pode aceitar um contrato para desenvolver mudanças e aceitar não lançar suas mudanças até o cliente dizer ok. Isso é permitido porque nesse caso o código não GPL está sendo distribuído sob uma NDA.

Você pode também lançar suas mudanças para o cliente sob a GPL, mas não aceitar lançar para alguém até que o cliente diga ok. Nesse caso, também, o código não GPL está sendo distribuído sob uma NDA, ou sob qualquer restrição adicional.

A GPL deveria dar ao cliente o direito de redistribuir sua versão. Nesse cenário, o cliente irá provavelmente escolher não exercer seu direito, mas tem o direito.

Eu quero ter crédito pelo meu trabalho. Eu quero que as pessoas saibam o que eu escrevi. Eu ainda posso ter crédito se eu usar a GPL? (#IWantCredit)

Certamente você tem os créditos pelo seu trabalho. Parte do processo de disponibilizar um programa sob a GPL é escrever uma nota de copyright em seu nome (assumindo-se que você seja o dono do copyright). A GPL requer que todas as cópias tenham uma nota de copyright apropriada.

Does the GPL allow me to add terms that would require citation or acknowledgment in research papers which use the GPL-covered software or its output? (#RequireCitation)

Não, isso não é permitido sob os termos da GPL. Enquanto não reconhecemos que a citação adequada é uma importante parte das publicações acadêmica, citação não pode ser adicionada como um requerimento adicional para a GPL. Requerido citação em pesquisas que fazem uso de software GPL além que gostaria de ter um requerimento de adição aceitável sob a seção 7(b) de GPLv3, e portanto deveria ser uma restrição adicional sob a Seção 7 da GPL. E a lei de copyright não permite você um requerimento sobe a saída de um software, independente se isso é lançado sob os termos da GPL ou alguma outra licença.

Por que a GPL requer que se inclua uma cópia da GPL com todas as cópias do programa? (#WhyMustIInclude)

Including a copy of the license with the work is vital so that everyone who gets a copy of the program can know what their rights are.

Poderia ser tentador incluir uma URL que aponte para a licença, no lugar da licença em si. Mas você não pode ter certeza de que a URL ainda será válida em cinco ou dez anos. Vinte anos no futuro, URLs como nós as conhecemos hoje podem nem sequer existir mais.

A única forma de ter certeza de as pessoas que têm cópias do programa continuarão a poder ver a licença, a despeito de todas as mudanças que possam ocorrer na rede, é incluir uma cópia da licença com o programa.

É suficiente apenas colocar uma cópia da GNU GPL em meu repositório? (#LicenseCopyOnly)

Apenas colocar uma cópia da GNU GPL em um arquivo em seu repositório não explicita o estado que o código no mesmo diretório pode ser usado sob a GNU GPL. Sem tal declaração, ele não é totalmente claro que a permissão na licença realmente se aplica para qualquer arquivo fonte em particular. A declaração explícita diz para eliminar todas as dúvidas.

Um arquivo contendo apenas uma licença, sem uma declaração segura que outros arquivos são cobertos por aquela licença, se assemelha a um arquivo contendo apenas um sub-rotina que nunca chamada. A semelhança não é perfeita: advogados e tribunais devem aplicar o senso comum e concluir que você deve ter uma cópia da GNU GPL lá porque você procurava a licença do código de qualquer forma. Ou eles não poderiam. Porque deixar incertezas?

Essa declaração deve estar em cada arquivo fonte. Uma declaração clara no arquivo README do programa é legalmente suficiente enquanto acompanha o código, mas isso é simples para eles obterem em separado. Porque correr um risco de incertezas sobre a licença do seu código?

Isso tem nada a ver com a GNU GPL especificamente. Isso é verdade para qualquer licença livre.

Porque eu deveria colocar uma licença em cada arquivo fonte? (#NoticeInSourceFile)

Você deveria colocar uma nota no início de cada arquivo fonte, iniciando o que a licença aborda, a fim de evitar o risco de obter o código desconectado da licença. Se seu README diz que o arquivo fonte estar sob a GNU GPL, o que acontece se alguém copiar aquele arquivo para outro programa? Aquele outro contexto não deve mostrar qual é a licença do arquivo. Pode parecer em alguma outra licença, ou sem licença (que poderia fazer o código não livre).

Adicionar uma nota de copyright e licença no início de cada arquivo fonte é fácil e evita uma confusão improvável.

Isso tem nada a ver com a GNU GPL especificamente. Isso é verdade para qualquer licença livre.

What if the work is not very long? (#WhatIfWorkIsShort)

If a whole software package contains very little code—less than 300 lines is the benchmark we use—you may as well use a lax permissive license for it, rather than a copyleft license like the GNU GPL. (Unless, that is, the code is specially important.) We recommend the Apache License 2.0 for such cases.

Eu posso omitir o preâmbulo da GPL, ou as instruções sobre como usá-la em seus próprios programas, para economizar espaço? (#GPLOmitPreamble)

The preamble and instructions are integral parts of the GNU GPL and may not be omitted. In fact, the GPL is copyrighted, and its license permits only verbatim copying of the entire GPL. (You can use the legal terms to make another license but it won't be the GNU GPL.)

O preâmbulo e as instruções adicionam cerca de 1000 palavras, menos de 1/5 do tamanho total da GPL. Eles não serão uma parte substancial do tamanho do pacote de software, a não ser que o pacote em si seja bem pequeno. Neste caso, você pode usar uma licença simples, vale tudo, ao invés da GNU GPL.

O que significa dizer que duas licenças são compatíveis? (#WhatIsCompatible)

Para combinar dois programas (ou partes substânciais dos mesmos), em um trabalho maior, você precisa ter permissão para usar os dois programas dessa forma. Se as licenças de ambos os programas permitir isso, então elas são compatíveis. Se não houver forma de satisfazer as duas licenças ao mesmo tempo, então elas não são compatíveis.

Para algumas licenças, a forma em que a combinação é feita pode afetar o fato de elas serem ou não compatíveis – por exemplo, elas podem permitir ligar dois módulos juntos, mas não permitir fundir seu código em um único módulo.

Se você quer apenas instalar dois programas separados no mesmo sistema, não é necessário ter uma licença compatível, porque isso não os juntam em um trabalho maior.

O que significa dizer que uma licença é “compatível com a GPL”? (#WhatDoesCompatMean)

Significa que a outra licença e a GNU GPL são compatíveis; você pode combinar código distribuído sob a outra licença com código distribuído sob a GNU GPL em um programa maior.

All GNU GPL versions permit such combinations privately; they also permit distribution of such combinations provided the combination is released under the same GNU GPL version. The other license is compatible with the GPL if it permits this too.

GPLv3 é compatível com mais licenças GPLv2: permite a você fazer combinações com o código que tem tipos específicos de requerimentos adicionais que não são GPLv3. Seção 7 tem mais informações sobre isso, incluindo a lista de requerimentos adicionais que são permitidas.

Posso escrever software livre que usa bibliotecas não-livres? (#FSWithNFLibs)

If you do this, your program won't be fully usable in a free environment. If your program depends on a non-free library to do a certain job, it cannot do that job in the Free World. If it depends on a non-free library to run at all, it cannot be part of a free operating system such as GNU; it is entirely off limits to the Free World.

Então por favor considere: você pode achar um jeito de executar a tarefa sem usar essa biblioteca? Você pode escrever um substituto para essa biblioteca?

If the program is already written using the non-free library, perhaps it is too late to change the decision. You may as well release the program as it stands, rather than not release it. But please mention in the README that the need for the non-free library is a drawback, and suggest the task of changing the program so that it does the same job without the non-free library. Please suggest that anyone who thinks of doing substantial further work on the program first free it from dependence on the non-free library.

Note that there may also be legal issues with combining certain non-free libraries with GPL-covered free software. Please see the question on GPL software with GPL-incompatible libraries for more information.

Eu posso linkar um programa GPL com biblioteca de sistema proprietário? (#SystemLibraryException)

Ambas versões da GPL tem uma exceção para o copyleft deles, normalmente chamado de biblioteca de exceção do sistema. Se um biblioteca incompatível com a GPL que você quer usar para satisfazer uma biblioteca do sistema, então você não tem nada de especial a fazer; o requerimento para distribuir o código fonte para o programa completo não inclui essas bibliotecas, sempre que você distribuir um executável linkado com elas.

O critério para as "biblioteca do sistema" varia entre diferentes versões da GPL. GPLv3 explicitamente define "Biblioteca de Sistema" na seção 1, exclui-se da definição de "Fonte Correspondente." GPLv2 oferta essas questões levemente diferente, próximo do fim da seção 3.

What legal issues come up if I use GPL-incompatible libraries with GPL software? (#GPLIncompatibleLibs)

Se você quer que seu programa link com uma biblioteca não coberta pelo sistema de exceções de bibliotecas, você precisa prover permissão. Abaixo tem dois exemplos de nota de license que você pode usar; uma para GPLv3, e a outra para GPLv2. Em ambos os casos, você deve colocar esse texto em cada arquivo para que seja garantido essas permissões.

Only the copyright holders for the program can legally release their software under these terms. If you wrote the whole program yourself, then assuming your employer or school does not claim the copyright, you are the copyright holder—so you can authorize the exception. But if you want to use parts of other GPL-covered programs by other authors in your code, you cannot authorize the exception for them. You have to get the approval of the copyright holders of those programs.

Quando outras pessoas modificam o programa, elas não tem que fazer a mesma exceção para o código delas – é opção delas fazê-lo.

If the libraries you intend to link with are non-free, please also see the section on writing Free Software which uses non-free libraries.

Se você estar usando GPLv3, você pode completar esse objetivo garantindo uma permissão adicional sob a seção 7. Conforme nota da licença. Você deve substituir todos os textos em parênteses com o texto que é apropriado para seu programa. Se todos não puderem distribuir o fonte para as bibliotecas que você pretende linkar, você deve remover o texto em parênteses; por outro lado, apenas remover os parênteses já basta.

Copyright (C) [anos] [nome do detentor do copyright]

Este programa é software livre; você pode distribui-lo e/ou modificá-lo sob os termos da Licença Pública Geral GNU conforme publicada pela Free Software Foundation; quer a versão 3 da Licença, ou (a seu critério) qualquer versão posterior.

Este programa é distribuído com a esperança de que ele será útil, mas SEM QUALQUER GARANTIA; nem mesmo a garantia implícita de VENDABILIDADE ou de ADEQUAÇÃO PARA ALGUM PROPÓSITO PARTICULAR. Veja a Licença Pública Geral GNU para maiores detalhes.

Você deveria ter recebido uma cópia da Licença Pública Geral GNU com este programa; se não, veja <http://www.gnu.org/licenses>.

Permissão adicional sob GNU GPL versão 3 seção 7

Se você modificar esse Programa, ou qualquer trabalho relacionado, linkando ou combinando com [nome da biblioteca] (ou uma versão modificada dessa biblioteca), contendo partes cobertas pelos termos de [nome da licença da biblioteca], os licenciadores desse Programa garante a você permissão adicional para transmitir o trabalho resultante. {Fonte correspondente para uma forma do tipo não fonte como uma combinação deve incluir o código fonte das partes do [nome da biblioteca] usado como também o trabalho relacionado.}

Se você está usando a GPLv2, você pode prover sua própria exceção para a os termos da licença. Segundo a nota da licença que irá realizar. Novamente, você deve substituir todos os textos em parênteses como texto que é apropriado para seu programa. nem todos podem distribuir o fonte para as bibliotecas que você pretende linkar, você deve remover o texto em parênteses; por outro lado, só remover os parênteses já basta.

Copyright (C) [anos] [nome do detentor do copyright]

Este programa é software livre; você pode distribui-lo e/ou modificá-lo sob os termos da Licença Pública Geral GNU conforme publicada pela Free Software Foundation; quer a versão 2 da Licença, ou (a seu critério) qualquer versão posterior.

Este programa é distribuído com a esperança de que ele será útil, mas SEM QUALQUER GARANTIA; nem mesmo a garantia implícita de VENDABILIDADE ou de ADEQUAÇÃO PARA ALGUM PROPÓSITO PARTICULAR. Veja a Licença Pública Geral GNU para maiores detalhes.

Você deveria ter recebido uma cópia da Licença Pública Geral GNU com este programa; se não, veja <http://www.gnu.org/licenses>.

Linkando [nome de seu programa] estaticamente ou dinamicamente com outros módulos é fazer um trabalho combinado baseado em [nome do seu programa]. Assim, os termos e condições sob GPL cobre todas as combinações.

Em adicional, como uma exceção especial, o dono do copyright de [nome de seu programa] dá sua permissão para combinar [nome de seu programa] com programas de software livre ou bibliotecas que são lançadas sob a GNU LGPL e com o código incluído não padrão lançado de [nome de biblioteca] sobe o [nome da licença da biblioteca] (ou versões modificadas do código, com licença não modificadas). Você deve copiar e distribuir segundo os termos da GNU GPL para [nome de seu programa] e as licenças de outro código interessado {, desde que você inclua o código fonte dos outros códigos quando e como a GNU GPL requer a distribuição do código fonte}.

Note que as pessoas que fazem versões modificadas do [nome de seu programa] não são obrigadas a garantir essa exceção especial para as versões modificadas deles; eles escolhem se fazem. A GPL dá permissões para lançar versões modificadas sem essas exceções; essas exceções também fazem possível o lançamento de versões modificadas que levem essas exceções.

Como eu obtenho um copyright do meu trabalho de forma que eu possa disponibilizá-lo sob a GPL? (#HowIGetCopyright)

Sob a convenção de Berne, todas as coisas escritas estão automaticamente sob copyright a partir do momento em que são postas em uma forma fixa. Então, você não tem que fazer nada para “obter” o copyright daquilo que você escreve – desde que ninguém mais possa reclamar propriedade sobre o seu trabalho.

Entretanto, registrar o copyright nos Estados Unidos pode ser uma ideia muito boa. Isso dará a você mais força ao lidar com um infrator naquele país.

O caso em que alguém mais pode possivelmente vir a reclamar o seu copyright é se você é um empregado ou estudante; então o empregador ou a escola poderia dizer que você fez o trabalho para eles e que o copyright pertence a eles. Se isso seria algo válido dependeria das circunstâncias, tais como as leis do lugar onde você vive, e do seu contrato de trabalho, e do tipo de trabalho que você faz. É melhor consultar um advogado se houver a menor dúvida.

Se você acha que o empregador ou a escola poderiam ter a posse de seu trabalho, você pode resolver o problema às claras obtendo uma nota de dispensa do copyright assinada por um funcionário devidamente autorizado da sua escola ou companhia. (Seu chefe imediato ou um professor normalmente NÃO está autorizado a assinar tal nota).

E se minha escola quiser transformar meu programa em um produto de software proprietário seu? (#WhatIfSchool)

Muitas Universidades nos dias de hoje tentam levantar fundos pela restrição do uso da informação e do conhecimento que elas desenvolvem, se comportando na prática de forma pouco diferente de empresas comerciais. (Ver “The Kept University”, Atlantic Monthly, Março de 2000, para uma discussão geral desse problema e seus efeitos).

Se você perceber qualquer chance de que sua escola possa se recusar a permitir que seu programa seja disponibilizado como software livre, o melhor a fazer é levantar a questão o quanto antes. Quanto mais próximo o programa estiver da funcionalidade, mais a administração poderá se sentir tentada a tomá-lo de você e terminá-lo sem você. Em um estágio anterior, você tem mais chances.

Então nós recomendamos que você se aproxime deles quando o programa estiver apenas pela metade, dizendo “Se vocês concordarem em publicar isto como software livre, então eu o terminarei.” Não pense nisso como um blefe. Para prevalecer, você precisa ter a coragem de dizer “Meu programa terá liberdade ou nunca nascerá.”

Poderiam me dar instruções passo a passo de como aplicar a GPL em meu próprio programa? (#CouldYouHelpApplyGPL)

Veja a página de instruções da GPL.

Eu ouvi que alguém tem uma cópia de um programa, públicado sob a GPL, sob uma outra licença. Isso é possível? (#HeardOtherLicense)

A GNU GPL não dá aos usuários permissão para adicionarem outras licenças ao programa. Mas o detentor do copyright pode disponibilizar seu trabalho sob várias licenças em paralelo. Uma delas pode ser a GNU GPL.

A licença que vem na sua cópia, assumindo-se que ela tenha sido colocada pelo detentor do copyright, e que você tenha obtido a cópia de forma legitima, é a que se aplica para a sua cópia.

Eu gostaria de publicar um programa que escrevi sob a GNU GPL, mas eu também gostaria de usar parte do código em programas não livres. (#ReleaseUnderGPLAndNF)

Publicar um programa não-livre sempre é eticamente sujo, mas legalmente, não há obstáculo algum para que você faça isso. Se você é o detentor do copyright do código, você pode disponibilizá-lo sob várias licenças diferentes, não mutuamente exclusivas, em vários momentos.

O desenvolvedor de um programa coberto pela GPL está atado a GPL? As ações do desenvolvedor podem em algum momento constituir uma violação da GPL? (#DeveloperViolate)

Falando estritamente, a GPL é uma licença do desenvolvedor para outros usarem, distribuírem e mudarem o programa. O desenvolvedor mesmo não está sujeito a ela, então não importa o que ele faça, não será uma “violação” da GPL.

Entretanto, se o desenvolvedor fizer algo que seria uma violação da GPL se feito por alguma outra pessoa, ele certamente vai perder qualquer moral na comunidade.

O desenvolvedor de um programa que o distribuiu sob a GPL pode mais tarde licenciá-lo para outras pessoas para uso exclusivo? (#CanDeveloperThirdParty)

Não, porque o público já tem o direito de usar o programa sob a GPL, e esse direito não pode ser retirado.

Posso usar editores de texto cobertos pela GPL, como o GNU Emacs, para desenvolver programas não livres? Posso usar ferramentas cobertas pela GPL, como o GCC, para compilá-los? (#CanIUseGPLToolsForNF)

Yes, because the copyright on the editors and tools does not cover the code you write. Using them does not place any restrictions, legally, on the license you use for your code.

Alguns programas copiam parte deles mesmos na sua saída por razões técnicas – por exemplo, o Bison copia um programa padrão em seu arquivo de saída. Em tais casos, o texto copiado na saída é coberto pela mesma licença que cobre esse trecho no código fonte. Ao mesmo tempo, a parte da saia que é derivada da entrada do programa herda o status de copyright da entrada.

Como isso acontece, o Bison também pode ser usado para desenvolver programas não livres. Mas isso é porque decidimos explicitamente permitir o uso do programa padrão nos arquivos de saída do Bison sem restrição. Nós tomamos essa decisão por que outras ferramentas comparáveis ao Bison já permitiam o uso para programas não livres.

Eu tenho direitos de “usos justos” para usar o código fonte de algum programa coberto pela GPL? (#GPLFairUse)

Sim, você pode. “Uso justo” é uso que é permitido sem nenhuma permissão especial. Uma vez que você não precisa da permissão do desenvolvedor para tal uso, você pode fazê-lo a despeito de qualquer coisa que ele diga a respeito – na licença ou em qualquer outro lugar, seja a licença a GNU-GPL ou qualquer outra licença de software livre.

Observe, entretanto, que não há nenhum princípio mundialmente válido sob o que constitui “uso justo”; que tipos de uso são considerados “justos” é algo que varia de país para país.

Pode o Governo dos Estados Unidos lançar um programa sob a GNU GPL? (#GPLUSGov)

Se um programa é escrito pelos funcionários do governo federal dos Estados Unidos no desempenho de suas funções, isso é no domínio público, que significa que não tem direitos autorais. Desde que a GNU GPL é baseada sobre o copyright, tal programa não pode ser lançado sob a GNU GPL. (Ele pode ser software livre, contudo; um programa de domínio público é livre.)

Contudo, quando uma agência do governo federal dos Estados Unidos contratam desenvolvedores de software, que é uma situação diferente. O contrato pode requere ao contratado lançar o programa sob a GNU GPL. (GNU Ada foi desenvolvido dessa forma.) Ou o contratado pode assinar o copyright para a agência do governo, que pode então lançar o software sob a GNU GPL.

O Governo dos Estados Unidos pode lançar melhorias em programas sob GPL? (#GPLUSGovAdd)

Sim. Se as melhorias são escrita por funcionários do governo dos Estados Unidos no desempenho de suas funções, então as melhorias estão no domínio público. Contudo, as versões melhoradas, como um todo, ainda é GNU GPL. Não há problema nessa situação.

Se o governo dos Estados Unidos contrata usuários para fazer o trabalho, então as melhorias podem ser sob a GPL.

A GPL tem diferente requerimentos para módulos linkados estaticamente e dinamicamente com uma obra relacionada? (#GPLStaticVsDynamic)

Não. Linkando um trabalho sob GPL estaticamente ou dinamicamente com outros módulos é feito um trabalho combinado baseado em um trabalho sob GPL. Assim, os termos e condições da GNU GPL cobre a combinação completa. Veja também Quais problemas legais surgem se eu usar uma biblioteca incompatível com GPL com software GPL?

A LGPL tem diferentes requerimentos para módulos linkados estaticamente e dinamicamente com trabalhos relacionados? (#LGPLStaticVsDynamic)

Por razões de cumprimento com a LGPL (qualquer versão existente: v2, v2.1 ou v3):

(1) Se você linkar estaticamente contra um biblioteca LGPL, você deve também prover sua aplicação em um formato objeto (não necessariamente o fonte), então um usuário tem a oportunidade para modificar a biblioteca e relinkar a aplicação.

(2) Se você linkar dinamicamente contra uma biblioteca LGPL já presente sobre o computador do usuário, você não precisa transmitir o fonte da biblioteca. Por outro lado, se você transmitir por você mesmo o executável da biblioteca LGPL com sua aplicação, se linkando estaticamente ou dinamicamente, você deve também transmitir os fontes da biblioteca, da mesma forma que a LGPL prover.

Há alguma coisa que eu possa fazer para aplicar a GPL para a saída que as pessoas tenham do meu programa? Por exemplo, se meu programa é usado para desenvolver sistemas de hardware, eu posso exigir que esses designs sejam livres? (#GPLOutput)

In general this is legally impossible; copyright law does not give you any say in the use of the output people make from their data using your program. If the user uses your program to enter or convert her own data, the copyright on the output belongs to her, not you. More generally, when a program translates its input into some other form, the copyright status of the output inherits that of the input it was generated from.

Assim sendo, a única forma que você tem de dizer algo sobre a saída é se partes substanciais dessa saída sejam copiadas (mais ou menos) de texto no seu programa. Por exemplo, parte da saída do Bison (veja acima) poderia ser coberta pela GNU GPL, se nós não tivéssemos feito uma exceção para esse caso específico.

Você poderia fazer artificialmente com que um programa copiasse algum texto em sua saída mesmo quando não houvesse razão para fazê-lo. Mas se aquele texto não servir para nenhum propósito prático, o usuário poderia simplesmente deletá-lo da saída e usar apenas o resto. Então ele não teria que obedecer às condições de redistribuição do texto copiado.

Em que casos a saída de um programa GPL é coberta pela GPL também? (#WhatCaseIsOutputGPL)

A saída de um programa não é, em geral, coberto pelo copyright sobre o código do programa. Então a licença do código do programa não se aplica para a saída, se você canalizá-lo em um arquivo, tirar um screenshot, screencast, ou video.

A exceção deveria ser quando um programa mostra na tela texto e/ou arte que vem de um programa. Então o copyright sobre aquele texto e/ou arte coberto pela saída. Programas de saída de áudio, como video games, também poderia inserir essa exceção.

Se a arte/música está sob a GPL, então a GPL aplica quando você a cópia e não importa como você a copia. Contudo, o uso justo pode ser ainda aplicado.

Mantenha em mente que alguns programas, particularmente video games, podem ter artwork/áudio que é licenciado separadamente do jogo GPL. Nesses casos, a licença sobre o artwork/áudio ditaria os termos sob quais pode ocorrer o video/streaming. Veja também: Posso usar a GPL para outras coisas que não seja software?

Se eu adicionar um módulo a um programa coberto pela GPL, eu tenho que usar a GPL como licença para o meu módulo? (#GPLModuleLicense)

A GPL diz que o programa todo tem que ser distribuído sob a GPL. Portanto, seu módulo tem que estar disponível sob a GPL.

Mas você pode dar permissão adicional para o uso do seu código. Você pode, se desejar, distribuir seu programa sob uma licença que seja menos restrita, mas compatível com a GPL. A página de listagem de licenças fornece uma lista parcial das licenças compatíveis com a GPL.

Se uma biblioteca é disponibilizada sob a GPL (não a LGPL), isso significa que qualquer software que a usa tem que estar sob a GPL ou uma licença compativel com GPL? (#IfLibraryIsGPL)

Sim, porque o software, como de fato ele é executado, inclui a biblioteca.

Se um interpretador de uma linguagem de programação for publicado sob a GPL, isso significa que programas escritos para serem interpretados nele precisam estar sob uma licença compatível com a GPL? (#IfInterpreterIsGPL)

Quando o interpretador somente interpreta uma linguagem, a resposta é não. O programa interpretado, para o interpretador, é apenas um conjunto de dados; uma licença de software livre como a GPL, baseada na lei de copyright, não pode discriminar os dados nos quais você vai executar o interpretador. Você pode rodar ele com quaisquer dados (programa interpretado), de qualquer forma que você queria, e não há nenhuma necessidade de licenciar esses dados para quem quer que seja.

However, when the interpreter is extended to provide “bindings” to other facilities (often, but not necessarily, libraries), the interpreted program is effectively linked to the facilities it uses through these bindings. So if these facilities are released under the GPL, the interpreted program that uses them must be released in a GPL-compatible way. The JNI or Java Native Interface is an example of such a binding mechanism; libraries that are accessed in this way are linked dynamically with the Java programs that call them. These libraries are also linked with the interpreter. If the interpreter is linked statically with these libraries, or if it is designed to link dynamically with these specific libraries, then it too needs to be released in a GPL-compatible way.

Um outro caso similar, muito comum, é prover bibliotecas, com o interpretador, que sejam elas mesmas interpretadas. Por exemplo, Perl vem com muitos módulos de Perl, e uma implementação de Java vem com muitas classes de Java. Essas bibliotecas e os programas que as chama sempre estão ligados dinamicamente.

A consequência é que se você optar por usar módulos Perl ou classes de Java sob a GPL em seu programa, você precisa disponibilizar o programa de alguma forma compatível com a GPL, qualquer que seja a licença usada no interpretador Perl ou Java em que o programa combinado vai rodar.

Eu estou escrevendo um aplicativo Windows com Microsoft Visual C++ (ou Visual Basic) e eu vou disponibilizá-lo sob a GPL. É permitido ligar dinamicamente meu programa com as bibliotecas de tempo de execução do Visual C++ (ou do Visual Basic) sob a GPL? (#WindowsRuntimeAndGPL)

Você pode unir seu programa para essa biblioteca, e distribuir o programa compilado para os outros. Quando você faz isso, as bibliotecas em execução são “Bibliotecas do Sistema” como definida pela GPLv3. Aquilo significa que você não precisa se preocupar como incluir o código fonte deles com o código do programa correspondente. GPLv2 fornece uma exceção similar na seção 3.

Você não pode distribuir essas bibliotecas compiladas em DLL com o programa. Prevenir distribuidores inescrupulosos de tentar usar a exceção da Biblioteca do Sistema como um buraco, a GPL diz que as bibliotecas pode apenas qualificar como Bibliotecas do Sistema como enquanto eles não estão distribuído com o programas em si. Se você distribuir as DLLs com o programa, eles não irão ser elegível para essa exceção; então o único caminho para obedecer com o que a GPL seria prover o código fonte deles, que você está incapaz de fazer.

É possível escrever programas livres que somente rodam em Windows, mas isso não é uma boa ideia. Esses programas deveriam ser “preso” pelo Windows, e portanto seria contribuição zero para o Mundo Livre.

Por que a licença BSD original não é compatível com a GPL? (#OrigBSD)

Porque ela impõe uma exigência especifica que não está na GPL; a saber, a exigência sobre propagandas do programa. Seção 6 da GPLv2 diz:

Você não pode impor quaisquer outras restrições ao exercício, pelo usuário, dos direitos garantidos nesta licença.

A GPLv3 diz algo semelhante na seção 10. A cláusula sobre propagandas provê apenas uma tal restrição, e portanto é incompatível com a GPL.

A licença BSD revisada não tem mais a cláusula sobre propaganda, o que elimina o problema.

If I write a plug-in to use with a GPL-covered program, what requirements does that impose on the licenses I can use for distributing my plug-in? (#GPLAndPlugins)

Isso depende de como o programa invoca seus plug-ins. Se o programa usa fork e exec para invocar os plug-ins, então eles são programas separados, portanto a licença do programa principal não faz exigências para eles.

If the program dynamically links plug-ins, and they make function calls to each other and share data structures, we believe they form a single program, which must be treated as an extension of both the main program and the plug-ins. This means you must license the plug-in under the GPL or a GPL-compatible free software license and distribute it with source code in a GPL-compliant way.

Se o programa se liga dinamicamente aos plug-ins, mas a comunicação entre eles se limita a invocação da função “main” (principal) do plug-in, com alguns parâmetros e esperar ela retornar, este é um caso de fronteira.

Eu posso usar a GPL em um plug-in para um programa não livre? (#GPLPluginsInNF)

Se o programa usa fork e exec para invocar plug-ins, então os plug-ins são programas separados, de forma que a licença do programa principal não exige nada deles. Nesses casos você pode usar a GPL para um plug-in, e não há nenhuma exigência especial.

If the program dynamically links plug-ins, and they make function calls to each other and share data structures, we believe they form a single program, which must be treated as an extension of both the main program and the plug-ins. This means that combination of the GPL-covered plug-in with the non-free main program would violate the GPL. However, you can resolve that legal problem by adding an exception to your plug-in's license, giving permission to link it with the non-free main program.

Veja também a pergunta Eu estou escrevendo software livre que usa uma biblioteca não-livre.

Eu posso lançar um programa não livre que é projetado para carregar um plug-in sob GPL? (#NFUseGPLPlugins)

It depends on how the program invokes its plug-ins. For instance, if the program uses only simple fork and exec to invoke and communicate with plug-ins, then the plug-ins are separate programs, so the license of the plug-in makes no requirements about the main program.

If the program dynamically links plug-ins, and they make function calls to each other and share data structures, we believe they form a single program, which must be treated as an extension of both the main program and the plug-ins. In order to use the GPL-covered plug-ins, the main program must be released under the GPL or a GPL-compatible free software license, and that the terms of the GPL must be followed when the main program is distributed for use with these plug-ins.

Se o programa se liga dinamicamente aos plug-ins, mas a comunicação entre eles se limita a invocação da função “main” (principal) do plug-in, com alguns parâmetros e esperar ela retornar, este é um caso de fronteira.

Usando uma memória compartilhada para comunicar com um dado estruturado complexo é equivalente para uma ligação dinâmica.

Veja também a pergunta Eu estou escrevendo software livre que usa uma biblioteca não-livre.

Você tem um programa sob a GPL que eu gostaria de unir a código meu para desenvolver um programa proprietário. O fato de eu ligar o meu código ao seu programa significa que eu tenho que publicar meu programa sob a GPL? (#LinkingWithGPL)

Não exatamente. Significa que você deve lançar seu programa sob uma licença compatível com a GPL (mais precisamente, compatível com uma ou mais versões GPL para todo o código na combinação que você linkar). A combinação por si só está disponível sob aquelas versões GPL.

Se sim, há alguma chance de que eu possa obter seu programa sob a LGPL? (#SwitchToLGPL)

Você pode pedir, mas a maior parte dos autores vai se manter firme e dizer não. A ideia da GPL é que se você quiser incluir nosso código no seu programa, o seu programa também tem que ser software livre. A ideia é pressionar você para que você disponibilize seu programa de forma que ele seja parte de nossa comunidade.

Você sempre tem a alternativa legal de não usar o nosso código.

Distribuíndo um driver não livre que linka com o kernel Linux, significa violar a GPL? (#NonfreeDriverKernelLinux)

Linux (o kernel no sistema operacional GNU/Linux) é distribuído sob GNU GPL versão 2. Distribuíndo um driver não live que linka com o Linux, significa violar a GPL?

Sim, isso é uma violação, porque efetivamente isso faz uma larga combinação de trabalho. O fato que o usuário está esperando algo do tipo realmente não muda nada.

Cada contribuidor Linux que tem obstáculos de copyright em uma parte substancial do código pode exigir a GPL e nós encorajamos que cada um desse peguem uma ação contra essas distribuições de drivers Linux não livre.

Como eu permito a ligação de módulos proprietários com minha biblioteca GPL sobre um interface controlada somente? (#LinkingOverControlledInterface)

Adicionar esse texto para a nota da licença em cada arquivo no pacote, e no final do texto que diz que o arquivo é distribuído sob a GNU GPL:

Linkando ABC estaticamente ou dinamicamente com outros módulos é fazer uma combinação de trabalho baseado em ABC. Assim, os termos e condições da GNU GPL sob a combinação integral.

Como uma exceção especial, os donos do copyright de ABC concede a você permissão para combinar o programa ABC com programas de software livre ou bibliotecas que são lançadas sob a GNU LGPL e com módulos independentes que se comunicam com ABC unicamente através da interface ABCDEF. Você pode copiar e distribuir tal um sistema seguindo os termos da GNU GPL para ABC e as licenças dos outros códigos semelhantes, com tanto que você inclua o código fonte dos outros códigos quando e como a GNU GPL requer a distribuição do código fonte que você não modificou a interface ABCDEF.

Note que pessoas que fazem versões modificadas de ABC não são obrigadas a garantir essa exceção especial para as suas versões modificadas; isso depende da escolha deles. A GNU GPL dá permissão para lançar versões modificadas sem essa exceção; essa exceção também faz possível lançar uma versão modificada que leva essa exceção. Se você modifica a interface ABCDEF, essa exceção não é aplicada em sua versão modifica de ABC, e você deve remover essa exceção quando você distribuir sua versão modificada.

Essa exceção é uma permissão adicional sob a secção 7 da GNU GPL, versão 3 (“GPLv3”)

Essa exceção permite linkar com módulos de vários tipos de licenças sobre a interface especificada (“ABCDEF”), enquanto o desenvolvimento que os usuários receberão do código fonte como eles normalmente querem sob a GPL.

Apenas os detentores do copyright para o programa podem legalmente autorizar esta exceção. Se você escreveu o programa pessoalmente, então, assumindo que seu empregador ou sua escola não reclame o copyright, você é o detentor do copyright – então você pode autorizar a exceção. Mas se você quiser usar partes de outros programas cobertos pela GPL, escritos por outras pessoas, no seu código, você não pode autorizar a exceção por eles. Você tem que obter a aprovação dos detentores do copyright daqueles programas.

Eu escrevi um aplicativo que se liga com muitos componentes diferentes, que tem licenças diferentes. Eu estou muito confuso a respeito de quais restrições recaem sobre o meu programa. Vocês podem por favor me dizer que licença eu posso usar? (#ManyDifferentLicenses)

Para responder esta questão, nos teríamos que ver uma lista de cada componente que seu programa usa, a licença daquele componente, e um sumário (umas poucas sentenças para cada um são o suficiente) descrevendo como sua biblioteca usa aquele componente. Dois exemplos seriam:

Qual é a diferença entre “mera agregação” e “combinar dois programas em um programa”? (#MereAggregation)

Uma “agregação” consiste de um número de programas separado, distribuído junto no mesmo CD-ROM ou outra mídia. A GPL permite criar e distribuir como uma agregação, quando a licença do outro software são não livre ou incompatível com a GPL. A única condição é que você não pode lançar a agregação sob uma licença que proíba os usuários de exercerem seus direitos que cada licença do programa garante.

Where's the line between two separate programs, and one program with two parts? This is a legal question, which ultimately judges will decide. We believe that a proper criterion depends both on the mechanism of communication (exec, pipes, rpc, function calls within a shared address space, etc.) and the semantics of the communication (what kinds of information are interchanged).

Se os módulos são incluídos no mesmo arquivo executável, então eles estão definitivamente combinados em um único programa. Se os módulos são desenhados para rodarem ligados juntos num espaço de endereçamento compartilhado, isso quase com certeza significa combiná-los num único programa.

Em contraste, pipes, soquetes e argumentos de linha de comando são mecanismos de comunicação normalmente utilizados entre programas separados. Mas se a semântica das comunicações for íntima o suficiente, trocando complexas estruturas de dados internas, isso também seria base para considerar as duas partes combinadas num programa maior.

Por que a FSF requer que quem contribua programas sobre os quais eles detém copyright ceda os direitos para eles? Se eu mantenho o copyright de um programa sob a GPL, eu não deveria manter desse também? Se sim, como? (#AssignCopyright)

Our lawyers have told us that to be in the best position to enforce the GPL in court against violators, we should keep the copyright status of the program as simple as possible. We do this by asking each contributor to either assign the copyright on contributions to the FSF, or disclaim copyright on contributions.

Nós também pedimos a contribuidores individuais que consigam as notas de dispensa de copyright de seus empregadores (se há algum) de forma que nós possamos ter certeza de que aqueles empregadores não possam reclamar a posse dessas contribuições.

Claro que se todos os contribuidores colocarem seu código em domínio público, também não haverá copyright com o qual fortalecer a GPL. Então nós encorajamos as pessoas a atribuírem copyright a contribuições grandes de código, e a colocar apenas pequenas modificações no domínio público.

Se você quer fazer um esforço para fortalecer a GPL no seu programa, provavelmente é uma boa ideia para você seguir uma política similar. Por favor, contate <licensing@gnu.org> se você deseja mais informação.

Eu posso modificar a GPL e fazer uma licença modificada? (#ModifyGPL)

É possível fazer versões modificadas da GPL, mas tende ter consequências práticas.

Você pode legalmente usar os termos da GPL (possivelmente modificada) em outra licença que você forneceu e chamá-la por outro nome e não incluir o preâmbulo GPL, fornecendo sua modificação e a instrução para uso no final de forma suficiente clara para fazer diferente em texto e não mencionar a GNU (através do procedimento atual descrito que pode ser similar).

Se você quer usar nosso preâmbulo na licença modificada, por favor escreva para <licensing@gnu.org> para permissão. Por esses propósitos nós gostaríamos de verificar os requerimentos da licença atual para ver se nós aprovamos.

Apesar que nós não levantaremos objeções legais para sua licença modificada, nós acreditamos que você pensará duas vezes e não fará isso. Tal licença modificada é certamente quase incompatível com a GNU GPL, e que módulos de combinações úteis de blocos incompatíveis. A mera proliferação de diferentes licenças de software livre é um fardo por si só.

Em vez de modificar a GPL, por favor use o mecanismo de exceção oferecido pela GPL versão 3.

Se eu uso uma peça de software que tenha sido obtida sob a GNU GPL, eu posso modificar o código original do programa para um programa novo, e então distribuir e vender o programa comercialmente? (#GPLCommercially)

Você tem permissão para vender cópias do programa modificado comercialmente, mas apenas sob os termos da GNU GPL. Então, por exemplo, você precisa disponibilizar seu código fonte a usuários do programa conforme descrito na GPL, e eles devem ter a permissão de redistribuir e modificar seu programa, como descrito na GPL.

Estes requisitos são a condição para incluir o código coberto pela GPL que você recebeu em seu próprio programa.

Eu posso usar a GPL para algo que não seja software? (#GPLOtherThanSoftware)

Você pode aplicar a GPL à qualquer tipo de trabalho, tanto quanto seja claro o que constitue o “código fonte” do trabalho. A GPL define isso como sendo a forma preferida do trabalho para se fazer mudanças nele mesmo.

Entretanto, para manuais e livros texto, ou de forma mais geral para qualquer tipo de trabalho cujo objetivo seja ensinar um assunto, nós recomendamos que se use a GFDL, ao invés da GPL.

Como a LGPL trabalha com Java? (#LGPLJava)

Veja esse artigo para mais detalhes. Trabalhos como projetado, pretendido, e esperado.

Considere esta situação: 1) X lança V1 de um projeto sob a GPL. 2) Y contribui para o desenvolvimento de V2 com mudanças e novo código baseado em V1. 3) X quer mudar V2 para uma licença outra que a GPL. X precisa da permissão de Y? (#Consider)

Sim. De Y foi exigido que ele disponibilizasse sua versão sob a GNU GPL, como uma consequência de basear seu programa na versão V1 de X. Nada foi pedido a ele para concordar em disponibilizar seu código sob qualquer outra licença. Portanto, X tem que ter a permissão de Y antes de disponibilizar aquele código sob qualquer outra licença.

I'd like to incorporate GPL-covered software in my proprietary system. I have no permission to use that software except what the GPL gives me. Can I do this? (#GPLInProprietarySystem)

Você não pode incorporar software coberto pela GPL em um sistema proprietário. O objetivo da GPL é garantir a todas as pessoas a liberdade de copiar, redistribuir, entender e modificar um programa. Se você pudesse incorporar software coberto pela GPL em um sistema não livre, isso teria o mesmo efeito que tornar o código GPL em não livre.

Um sistema que incorpore um porgrama coberto pela GPL é uma versão estendida daquele programa. A GPL diz que qualquer versão estendida do programa precisa ser disponibilizada sob a GPL, se ela for disponibilizada. Isso ocorre por duas razões: para se assegurar de que os usuários que obtenham o software tenham a liberdade que eles devem ter, e encorajar as pessoas a devolverem para a comunidade as melhorias que elas façam.

Entretanto, em qualquer caso você pode distribuir o software coberto pela GPL junto com o seu sistema proprietário. Para fazer isso de forma válida, você deve estar certo de que programas livres e não livres se comuniquem a uma distância segura, de forma que eles não estejam combinados de um jeito que faria deles efetivamente um único programa.

A diferença entre isso e “incorporar” o software coberto pela GPL é em parte uma questão de substância e em parte de forma. A parte substantiva é: se dois programas estão combinados de forma que eles se tornam efetivamente partes de um único programa, então você não os pode tratar como dois programas separados. Portanto a GPL tem que cobrir todo o conjunto.

Se os dois programas permanecem bem separados, como o compilador e o kernel, ou como um editor e uma shell, então você pode tratá-los como dois programas separados – mas você tem que fazer isso da maneira correta. A questão é simplesmente formal: como você descreve o que você está fazendo. Por que nos importamos com isso? Por que nós queremos assegurar que os usuários entendam perfeitamente a condição livre dos softwares cobertos pela GPL na coleção.

Se as pessoas fossem distribuir software coberto pela GPL chamando o mesmo de “parte” de um sistema que os usuários sabem que é em parte proprietário, eles poderiam ficar incertos quanto aos seus direitos no que diz respeito ao software da GNU. Mas se eles sabem que o que eles receberam é um programa livre, mais um outro programa, lado a lado, então seus direitos serão claros.

Eu gostaria de incorporar um software sob a GPL em meu sistema proprietário. Eu posso fazer isso colocando um módulo “wrapper”, sob uma licença permissiva compatível com a GPL (tal como a licença X11) entre uma parte sob GPL e a parte proprietária? (#GPLWrapper)

Não. A licença X11 é compatível com a GPL, então você pode adicionar um módulo para um programa sob GPL e colocá-lo sob a licença X11. Mas se você estava incorporando ambas em um grande programa, que toda incluiria a parte sob GPL, então teria de ser licenciado como um todo sob a GNU GPL.

O fato que o módulo proprietário A se comunica com um módulo C sob GPL somente através do módulo B sob X11 é legalmente irrelevante; o que importa é o fato que o módulo C é incluído como um todo.

Onde posso aprender mais sobre as Bibliotecas de Exceções em Tempo de Execução GCC? (#LibGCCException)

A Biblioteca de Exceção em Tempo de Execução GCC cobre libgcc, libstdc++, libfortran, libgomp, libdecnumber, e outras bibliotecas distribuídas com GCC. A exceção significa permitir que pessoas distribuam programas compilados com GCC sob os termos escolhido, até onde as partes da bibliotecas são incluído na parte executável como parte do processo de compilação. Para aprender mais, por favor leia nosso FAQ sobre a Biblioteca de Exceção em Tempo de Execução GCC.

Eu gostaria de modificar programas cobertos pela GPL e ligá-los com as bibliotecas de compatibilidade da Come Grana S/A. Eu não posso distribuir o código fonte dessas bibliotecas, então qualquer usuário que quisesse modificar essas versões teria que obter essas bibliotecas separadamente. Por que a GPL não permite isso? (#MoneyGuzzlerInc)

Há duas razões para isso. Primeiro, uma mais geral. Se nós permitíssemos que a companhia A fizesse um arquivo proprietário, e que a companhia B distribuísse software coberto pela GPL ligado àquele arquivo, o efeito seria um buraco grande o suficiente na GPL para passar com um caminhão. Isso seria carta branca para se manter o controle do código de todos os tipos de modificações e extensões para código coberto pela GPL.

Dar acesso ao código fonte para todos os usuários é um de nossos objetivos principais, então essa consequência é algo que nós queremos evitar.

De forma mais específica, as versões dos programas ligadas com as bibliotecas da Come Grana não seriam software livre como nós entendemos o termo – elas não viriam com todo o código fonte que permite aos usuários mudar e recompilar o programa.

Se a licença para um módulo Q tem um requerimento que é incompatível com a GPL, mas o requerimento é aplicado somente quando Q é distribuído por ele mesmo, não quando Q é incluído em grande programa, que faz a licença compatível com a GPL? Posso combinar ou linkar Q com um programa sob a GPL? (#GPLIncompatibleAlone)

Se um programa P é lançado sob a GPL isso significa que *qualquer e toda parte dele* pode ser usado sob a GPL. Se você integrar um módulo Q, e lançar um programa combinado P+Q sob a GPL, significa que qualquer parte de P+Q pode ser usado sob a GPL. Uma parte de P+Q é Q. Então lançando P+Q sob a GPL diz que qualquer parte de Q pode ser usado sob a GPL. Colocando em outras palavras, um usuário que obtenha P+Q sob a GPL pode deletar P, então só resta Q, ainda sob a GPL.

Se a licença do módulo Q permite a você oferecer permissão para ele, então é compatível com a GPL. De outra forma, não é compatível com a GPL.

Se a licença para Q diz em termos não incerto que você deve certas coisas (não compatível com a GPL) quando você redistribuir Q por você mesmo, então não permite a você distribuir Q sob a GPL. Segue-se que você não pode lançar P+Q sob a GPL ou qualquer outra. Então você não pode linkar ou combinar P com Q.

Eu posso lançar uma versão modificada de um programa sob GPL em forma binária somente?(#ModifiedJustBinary)

Não. O ponto inteiro da GPL é que todas as versões modificadas devem ser software livre— que significa, em particular, que o código fonte da versão modificada está disponível para os usuários.

Eu baixei somente a forma binária pela net. Se eu distribuir cópias, Eu tenho que pegar o código fonte e distribuir também? (#UnchangedJustBinary)

Sim. A regra geral é, se você distribuir binários, você deve distribuir o completo código fonte correspondente também. A exceção para o caso onde você recebe uma oferta por escrito para o código fonte.

Eu quero distribuir binários via mídia física sem os fontes. Eu posso prover o código fonte por FTP? (#DistributeWithSourceOnInternet)

Versão 3 da GPL permite isso; veja opção 6(b) para detalhes completos. Sob a versão 2, você está certamente livre para ofertar o código via FTP, e a maioria dos usuários pegará de lá. Contudo, se qualquer um deles preferir pegar o fonte em um mídia física por email, você é requerido a fornecer isso.

Se você distribuir binários FTP, você deve distribuir o fonte via FTP.

Meu amigo pegou um binário sob a GPL com uma oferta para fornecer o fonte, e fazer uma cópia para mim. Eu posso usar a oferta por mim mesmo para obter o fonte? (#RedistributedBinariesGetSource)

Sim, você pode. A oferta deve ser aberta para qualquer um que tenha uma cópia do binário que o acompanha. Isso é porque a GPL diz que seu amigo deve dar a você uma cópia da oferta com uma cópia do binário—então você pode pegar essa vantagem.

Posso colocar os binários no meu servidor na Internet e colocar os fontes em um site diferente na Internet? (#SourceAndBinaryOnDifferentSites)

Sim. A seção 6(d) permite isso. Portanto, você deve prover claramente as instruções para as pessoas obterem o fonte, e você deve ter cuidado ao fazer certo que o fonte permaneça disponível por um longo tempo como você distribui o código objeto.

Eu quero distribuir uma versão estendida de um programa coberto pela GPL na forma binária. É suficiente distribuir o código fonte da versão original? (#DistributeExtendedBinary)

Não, você deve suprir o código fonte que corresponde ao binário. Fonte correspondente significa o código fonte a partir do qual os usuários possam construir o mesmo binário.

Parte da ideia do software livre é que os usuários devem ter acesso ao código fonte dos programas que eles usam. Aqueles usando a sua versão devem ter acesso ao código fonte da sua versão.

Um grande objetivo da GPL é construir o Mundo Livre certificando-se de que melhoramentos a um porgrama livre sejam eles mesmos livres. Se você publica uma versão melhorada de um programa coberto pela GPL, você deve publicar também o código fonte melhorado sob a GPL.

I want to distribute binaries, but distributing complete source is inconvenient. Is it ok if I give users the diffs from the “standard” version along with the binaries? (#DistributingSourceIsInconvenient)

Este é um pedido bem intencionado, mas esse método de prover os fontes não cumpre, em verdade, o seu papel.

A user that wants the source a year from now may be unable to get the proper version from another site at that time. The standard distribution site may have a newer version, but the same diffs probably won't work with that version.

Portanto você precisa prover os fontes completos, não apenas os diffs, junto com os binários.

Can I make binaries available on a network server, but send sources only to people who order them? (#AnonFTPAndSendSources)

Se você fizer um código objeto disponível em um servidor de rede, você tem que prover o Fonte correspondente no servidor de rede também. O caminho mais fácil é publicar isso no mesmo servidor, mas se você gostaria, você pode alternativamente prover instruções para obter o fonte de outro servidor, ou até um sistema de controle de versão. Não importa qual o método, o fonte deve ter fácil acesso como o código objeto. Tudo isso é especificado na seção 6(d) da GPLv3.

Os fontes que você prove precisam corresponder exatamente aos binários. Em particular, você deve se certificar de que eles são da mesma versão do programa – não de uma versão mais antiga e não de uma versão mais nova.

Como eu posso me certificar de que cada usuário que baixa os binários também baixa os fontes? (#HowCanIMakeSureEachDownloadGetsSource)

Você não tem que se certificar disso. Tanto quanto você mantenha os fontes e os binários disponíveis de forma que os usuários possam ver o que está disponível e pegar o que eles quiserem, você cumpriu com as suas obrigações. O usuário decide se ele baixa os fontes ou não.

Nossas exigências para redistribuidores tem a intenção de garantir que os usuários possam obter o código fonte, não de forçar os usuários a baixarem o código fonte mesmo que eles não queiram.

A GPL requer que eu forneça o código fonte que pode ser construído para corresponder exatamente com o hash do binário que eu distribuo? (#MustSourceBuildToMatchExactHashOfBinary)

Corresponder o código completo significa os fontes que os binários foram feitos, mas que não implica que suas ferramentas deve ser capaz de fazer um binário que é exatamente o hash do binário distribuído. Em alguns casos isso poderia ser (aproximadamente) impossível construir um binário do fonte com um exato hash do binário sendo distribuído — considere o seguinte exemplo: um sistema deveria ter sido colocado a marca de tempo em binário; ou o programa deveria ter sido construído contra uma diferente (até não lançado) versão compilada.

Uma empresa está executando uma versão modificada de um programa GPL em um web site. A GPL diz que eles devem lançar os seus fontes modificados? (#UnreleasedMods)

A GPL permite alguém fazer uma versão modificada e usá-la sem distribuir para os outros. O que essa empresa está fazendo é um caso especial dela. Portanto, a empresa não tem que lançar os fontes modificado.

É essencial para as pessoas ter a liberdade de fazer modificações e usá-la privadamente, sem nunca publicar essas modificações. Contudo, colocando o programa em uma máquina servidora para o público é muito difícil o seu uso “privado”, então seria legítimo requerer um lançamento do código fonte nesse caso especial. Desenvolvedores que desejam endereçar isso devem querer usar o GNU Affero GPL para os programas projetados para o uso em servidores de rede.

Fazendo e usando múltiplas cópias dentro de uma organização ou empresa de “distribuição”? (#InternalDistribution)

Não, no caso de organização é feito a cópia para si mesmo. Como uma consequência, uma empresa ou outra organização pode desenvolver uma versão modificada e instalar essa versão através de suas facilidades, sem dar as permissões para os funcionários lançar essa versão modificada para os outros indivíduos.

Contudo, quando a organização transfere cópias para outra organização ou indivíduos, aquilo é distribuição. Em particular, fornecendo cópias para os contratantes para o uso fora é distribuição.

If someone steals a CD containing a version of a GPL-covered program, does the GPL give the theif the right to redistribute that version? (#StolenCopy)

Se a versão foi lançada em outro lugar, então o ladrão provavelmente tem o direito para fazer cópias e redistribuir sob a GPL, mas se o ladrão está preso para roubar o CD, eles podem ter que esperar até que seja lançada antes de fazê-lo.

Se a versão em questão não está publicada e considerando que uma empresa está negociando em segredo, então publicando pode ser uma violação das leis de comércio secreto, dependendo de outras circunstâncias. A GPL não muda isso. Se a empresa tentou lançar essa versão e ainda trata como um segredo, que violaria a GPL, mas se a empresa não tem lançado essa versão, desta maneira a violação não tem ocorrido.

O que acontece se uma empresa distribuir uma cópia como segredo de comércio? (#TradeSecretRelease)

Se uma empresa distribuir uma cópia para você e reivindicá-la como um segredo de comércio, a empresa tem violado a GPL e irá ter que cessar a distribuição. Note como isso difere do caso de roubo acima; a empresa não distribuiu intencionalmente uma cópia quando uma cópia foi roubada, então no caso da empresa ela não violou a GPL.

Por que algumas bibliotecas da GNU são disponibilizadas sob a GPL em vez da LGPL? (#WhySomeGPLAndNotLGPL)

Fazer uso da GPL Menor para qualquer biblioteca em particular constitue-se em uma retirada para o software livre. Significa que nós abandonamos parcialmente o papel de defender a liberdade dos usuários e algumas das exigências para compartilhar o que é construído em cima de software coberto pela GPL. Se considerarmos só isso, essas mudanças são para pior.

Algumas vezes uma retirada localizada é uma boa estratégia. Algumas vezes, usar a LGPL pode levar a um uso mais abrangente daquela biblioteca, e assim, mais melhoramentos para ela, maior suporte para o software livre, e assim por diante. Isso pode ser bom para o software livre se acontecer em grande extensão. Mas em que extensão isso vai acontecer? Nós podemos apenas especular.

Seria interessante tentar a LGPL em cada biblioteca por um tempo, ver se ajuda, e mudar de volta para a GPL se a LGPL não ajudou. Mas isso não é factível. Uma vez que nós tenhamos usado a LGPL para uma dada biblioteca, mudar de volta seria muito difícil.

Então nós decidimos que licença usar para cada biblioteca caso por caso. Há uma explicação longa de como nós julgamos a questão.

Usar um certo programa da GNU sob a GPL não se encaixa em nosso projeto de software proprietário. Vocês fariam uma exceção para nós? Isso traria mais usuários para aquele programa. (#WillYouMakeAnException)

Desculpe, nós não fazemos tais exceções. Não seria certo.

Maximizar o número de usuários não é o nosso objetivo. Em vez disso, nós tentamos garantir liberdades cruciais a tantos usuários quanto possível. Em geral, projetos de software proprietário mais atrapalham do que ajudam a causa da liberdade.

Nós ocasionalmente fazemos exceções da licença para auxiliar um projeto que esteja produzindo software livre sob uma licença outra que a GPL. Entretanto, nós temos que ver uma boa razão do porque isso vai contribuir para a causa do software livre.

Algumas vezes nós também mudamos os termos de distribuição de um pacote, quando isso parece claramente ser a maneira certa de servir à causa do software livre, mas no somos muito cautelosos com isso, assim você terá que nos dar razões bastante convincentes.

Porque os programas devem dizer “Versão 3 da GPL ou qualquer versão posterior”? (#VersionThreeOrLater)

De tempos em tempos, em intervalos de anos, nós mudamos a GPL – algumas vezes para clarificá-la, outras vezes para permitir alguns tipos de uso não permitidos previamente, e algumas vezes para aumentar mais alguma exigência. (As duas últimas modificações foram em 2007 e 1991.) O uso desse “ponteiro indireto” em cada programa torna possível que nós mudemos os termos de distribuição em toda a coleção de software da GNU, quando nós atualizamos a GPL.

Se cada programa não tivesse esse ponteiro indireto, nós seriamos forçados a discutir a mudança com numerosos detentores de copyright, o que seria virtualmente impossível. Na prática, as chances de houvessem termos uniformes para a distribuição de software da GNU seria nula.

Suponha que um programa diga “Versão 3 da GPL ou qualquer versão posterior” e uma nova versão da GPL seja publicada. Se a nova versão da GPL der alguma permissão adicional, aquela permissão estará disponível imediatamente para todos os usuários do programa. Mas se a nova versão da GPL tiver exigências maiores, elas não restringirão usuários da versão corrente do programa, por que ele ainda pode ser usado sob a versão 3 da GPL. Quando um programa diz “Versão 3 da GPL ou qualquer versão posterior”, usuários sempre poderão usa-lo, e mesmo modifica-lo, de acordo com os termos da versão 3 – mesmo depois que versões posteriores da GPL estiverem disponíveis.

Se uma exigência maior numa nova versão da GPL não precisa ser obedecida para software existente, como ela serve para alguma coisa? Uma vez que a versão 4 da GPL seja publicada, os desenvolvedores da maior parte dos programas cobertos pela GPL disponibilizarão versões subsequentes de seus programas especificando “Versão 4 da GPL ou qualquer versão posterior”. Então usuários terão que respeitar essas exigências maiores na versão 4 da GPL, para versões subsequentes do programa.

Entretanto, os desenvolvedores não são obrigados a fazer isso; desenvolvedores podem continuar permitindo o uso da versão prévia da GPL, se essa for a sua preferência.

É uma boa ideia usar uma licença dizendo que certos programas podem ser usado somente sob a última versão da GNU GPL? (#OnlyLatestVersion)

A razão que você não deveria fazer isso é que isso pode resultar algum dia em remoção automaticamente em algumas permissões que os usuários previamente tem.

Supondo que um programa foi lançado em 2000 sob “a última versão da GPL”. Naquela hora, pessoas têm usado isso sob GPLv2. Um dia nós publicamos a GPLv3 em 2007, todos deveriam de repente forçar o uso disso sob a GPLv3, ao invés de GPLv2.

Alguns usuários não deve ter conhecimento sobre a versão 3 da GPL mas eles teriam requerido o uso disso. Eles poderiam ter violado a licença do programa não intencionalmente só porque eles não pegaram as novidades. Isso é um mal caminho para tratar as pessoas.

Nós pensamos que é errado pegar de volta uma permissão já concedida, exceto devido uma violação. Se sua liberdade deveria ser revogada, então isso não é realmente a liberdade. Então, se você pegar uma cópia de uma versão de um programa sob uma versão da licença, você deveria sempre ter os direitos garantidos por aquela versão da licença. Lançando sob a “versão GPL N ou qualquer versão posterior” defende que aquele princípio.

Por que vocês não usam a GPL para manuais? (#WhyNotGPLForManuals)

É possível se usar a GPL para um manual, mas a GNU Free Documentation License (GFDL – Licença de Documentação Livre GNU) é muito melhor para manuais.

A GPL foi projetada para programas; ela contém muitas cláusulas complexas que são cruciais para programas, mas que deveria ser incômodo e desnecessário para um livro ou manual. Por exemplo, qualquer publicação do livro em papel deve ter incluso o “código fonte” legível por máquina do livro ao longo com cada cópia imprensa, ou prover uma nota por escrito para enviar o “código fonte” depois.

Enquanto isso, a GFDL tem cláusulas que ajudam editores de manuais livres que um lucro da cópia da venda do —texto de capa, por exemplo. As regras especiais para seção de Endossos que fazem possível o uso da GFDL para um padrão oficial. Isso permitira versões modificadas, mas eles não são rotulados como “o padrão”.

Using the GFDL, we permit changes in the text of a manual that covers its technical topic. It is important to be able to change the technical parts, because people who change a program ought to change the documentation to correspond. The freedom to do this is an ethical imperative.

Nossos manuais também incluem seções que relatam nossa posição política sobre o software livre. Nós marcamos essas como “invariante”, então eles não podem alterá-lo ou removê-lo. A GFDL faz disposições para essas “seções invariantes”.

Como a GPL é aplicada para fontes? (#FontException)

Fonte é um licenciamento complexo por questões que necessitam de sérias considerações. As seguintes exceções de licenças é experimental mas aprovada para o uso geral. Nós saudamos sugestões sobre esse assunto—por favor veja essa isso redação explicativa e escreva para licensing@gnu.org.

Para o uso dessa exceção, adicione isso em um texto para as notas da licença de cada arquivo em um pacote (para uma possível extensão), no final do texto que diz que o arquivo é distribuído sob a GNU GPL:

Como uma exceção especial, se você criar um documento que usa essa fonte, e embutir essa fonte ou parte dela em um documento, essa fonte não é por si só a causa do resultado do documento coberto pela GPL. Essa exceção contudo não inválida qualquer outras razões porque o documento deve ser GPL. Se você modificar essa fonte, você deve estender essa exceção para sua versão da fonte, mas você não é obrigado a fazê-lo. Se você não o fizer, delete essa declaração de exceção de sua versão.

Eu sou um escritor de um sistema de manutenção de website (chamado de “sistema de gerenciamento de conteúdo” por alguns), ou algum outro aplicativo que gera páginas web de um modelo. Qual licença eu deveria usar para esses modelos? (#WMS)

Modelos são minoria o suficiente que não vale a pena usar copyleft para protegê-lo. Normalmente é inofensivo usar um copyleft sobre trabalhos menores, mas modelos são um caso especial, porque eles são combinados com dados providos por usuários da aplicação e a combinação é distribuída. Então, nós recomendamos que sua licença para os modelos sejam sob os simples temos permissivos.

Alguns modelos chamam funções JavaScript. Desde que o Javascript seja não trivial, vale a pena usar copyleft. Porque os modelos irão ser combinados com os dados dos usuários, é possível que os modelo+dados dos usuários+JavaScript sejam considerados em um trabalho sob as leis de copyright. Uma linha precisa ser escrita entre o JavaScript (sob copyleft), e o código do usuário (usualmente sob termos incompatíveis).

Um diagrama do conteúdo acima

Aqui é uma exceção para códigos JavaScript que fazem isso:

Como uma exceção especial para a GPL, qualquer arquivo HTML que meramente chamam funções desse código, e por qualquer razão foi incluído por referência deverá ser considerada um trabalho separado por razões da lei de copyright. Em adição, os detentores do copyright desse código dão a você permissão para combinar esse código com bibliotecas de software livre que são lançadas sob a GNU LGPL. Você deve copiar e distribuir como segue os termos da GNU GPL para esse código e a LGPL para as bibliotecas. Se você modificar esse código, você pode estender essa exceção para sua versão do código, mas você não é obrigado a fazer. Se você não deseja fazer, delete essa declaração de exceção de sua versão.

Eu posso lançar um programa sob a GPL que eu desenvolvi usando ferramentas não livre? (#NonFreeTools)

Que programas você usou para editar o código fonte, ou compilou-o, ou estudo-o, ou gravou-o, geralmente não fazem diferença por questões a respeito do licenciamento daquele código fonte.

Portanto, se você linkar uma biblioteca não livre com o código fonte, que seria um problema que você precisa estar de acordo. Isso não impedi o lançamento do código fonte sob a GPL, mas se a biblioteca não cabe sob a exceção da “biblioteca do sistema”, você deve acrescentar uma nota explicativa que dando permissão para linkar seu programa. A FAQ de entrada sobre o uso de bibliotecas incompatível com a GPL prover mais informações sobre como fazer isso.

Há traduções da GPL para outras línguas? (#GPLTranslations)

It would be useful to have translations of the GPL into languages other than English. People have even written translations and sent them to us. But we have not dared to approve them as officially valid. That carries a risk so great we do not dare accept it.

Um documento legal é de alguma forma parecido com um programa. Traduzi-lo é como traduzir um programa de uma linguagem e sistema operacional para outra. Apenas um advogado com habilidade nas duas línguas poderia fazê-lo – e mesmo assim há o risco de se introduzir um bug.

Se nós fossemos aprovar, oficialmente, uma tradução da GPL, nós poderíamos estar dando a todas as pessoas a permissão de fazer tudo o que a tradução diz que elas podem fazer. Se for uma tradução completamente fiel a original, tudo bem. Mas se houver um erro na tradução, o resultado poderia ser um desastre que nós não teríamos como consertar.

Se um programa tem um bug, nós podemos disponibilizar uma nova versão, e eventualmente a versão velha vai mais ou menos desaparecer. Mas uma vez que nós tenhamos dado a todo mundo a permissão para agir de acordo com alguma tradução particular, nós não temos nenhuma maneira de tirar essa permissão se nós descobrirmos, mais tarde, que ela tinha um bug.

Pessoas prestativas algumas vezes se oferecem para fazer a tradução por nós. Se o problema fosse encontrar alguém para fazer a tradução, isso o resolveria. Mas o problema real é o risco de erro, e se oferecer para fazer o trabalho não evita o risco. Nós não poderíamos em qualquer hipótese autorizar uma tradução feita por um não advogado.

Portanto, no tempo presente, nós não estamos aprovando traduções da GPL como globalmente válidas e funcionais. Ao invés disso nós estamos fazendo duas coisas:

Se o interpretador de uma linguagem de programação tem uma licença que seja incompatível com a GPL, posso rodar programas cobertos pela GPL nele? (#InterpreterIncompat)

Quando o interpretador só interpreta uma linguagem, a resposta é sim. O programa interpretado, para o interpretador, é apenas um conjunto de dados; a GPL não restringe as ferramentas com as quais você processa seus programas.

Entretanto, quando o interpretador é estendido para providenciar “amarrações” (“bindings”) para outras facilidades (frequentemente, mas não necessariamente, bibliotecas), o programa interpretado está efetivamente ligado às facilidades que ele usa por meio dessas amarrações. O JNI, ou Java Native Interface é um exemplo de uma tal facilidade; bibliotecas que são acessadas dessa forma estão ligadas dinamicamente aos programas que as chamam.

Portanto, se essas facilidades estão disponibilizadas sob uma licença incompatível com a GPL a situação é como a de fazer uma ligação de qualquer outra maneira com uma biblioteca incompatível com a GPL. O que implica em que:

  1. Se você está escrevendo código e disponibilizando-o sob a GPL, você pode escrever uma exceção explicita dando permissão para a ligação com essas facilidades não compatíveis com a GPL.
  2. Se você escreveu e disponibilizou o programa sob a GPL, e você o escreveu especificamente para funcionar com essas facilidades, as pessoas podem tomar isso como uma permissão implícita para que elas possam ligá-las a essas facilidades. Mas se isso é o que você pretende, é melhor dizê-lo explicitamente.
  3. Se você escreveu e disponibilizou o programa sob a GPL, e você o escreveu especificamente para funcionar com essas facilidades, as pessoas podem tomar isso como uma permissão implícita para que elas possam ligá-las a essas facilidades. Mas se isso é o que você pretende, é melhor dizê-lo explicitamente.
Quem tem o poder de fazer valer a GPL? (#WhoHasThePower)

Uma vez que a GPL é uma licença de copyright, os detentores de copyright do software são os que tem poder para fazer valer a GPL. Caso você veja uma violação da GPL, você deve informar os desenvolvedores do software GPL envolvido. Eles ou serão os detentores do copyright, ou estarão ligados aos detentores do copyright. Mais informações sobre como reportar violações da GPL.

Em uma linguagem orientada a objetos, tal como Java, se eu usar uma classe que é coberta pela GPL, sem modificações, e fizer uma subclasse da mesma, em que a GPL afeta o programa maior? (#OOPLang)

Fazer uma subclasse é criar um trabalho derivado. Portanto, os termos da GPL afetam todo o programa em que você criou uma subclasse de uma classe sob a GPL.

Se eu portar meu programa para GNU/Linux, isso significa que eu tenho que disponibilizá-lo como software livre sob a GPL ou alguma outra licença de software livre? (#PortProgramToGL)

Em geral, a resposta é não – isso não é uma exigência legal. Em específico, a resposta depende de que bibliotecas você pretende usar e quais são as suas licenças. A maior parte das bibliotecas do sistema ou usam a GNU LGPL, ou usam a GNU GPL mais uma exceção permitindo que a biblioteca seja ligada com qualquer coisa. Essas bibliotecas podem ser usadas em programas não livres; mas no caso da LGPL, há algumas exigências que você deve respeitar.

Algumas bibliotecas estão disponibilizadas somente sob a GNU GPL; você precisa usar uma licença compatível com a GNU GPL para usar essas bibliotecas. Mas essas normalmente são as bibliotecas mais especializadas, e você não terá qualquer coisa muito parecida com elas em alguma outra plataforma, portanto, provavelmente você não quererá fazer uso dessas bibliotecas para simplesmente portar o seu software.

Of course, your software is not a contribution to our community if it is not free, and people who value their freedom will refuse to use it. Only people willing to give up their freedom will use your software, which means that it will effectively function as an inducement for people to lose their freedom.

If you hope some day to look back on your career and feel that it has contributed to the growth of a good and free society, you need to make your software free.

Eu acabei de encontrar uma empresa que tem uma cópia de um programa sob a GPL, e custa dinheiro obtê-lo. Eles não estão violando a GPL por não disponibiliza-lo na Internet? (#CompanyGPLCostsMoney)

Não. A GPL não exige que ninguém use a Internet para distribuição. Ela também não exige de ninguém em particular redistribua o programa. E (exceto em um caso especial), mesmo que alguém decida redistribuir o programa algumas vezes, a GPL não diz que ele tem que distribuir uma cópia para você em particular, ou qualquer outra pessoa em particular.

Que a GPL requer dele é que deve-se ter a liberdade para distribuir uma cópia para você se ele desejar. Uma vez o detentor do copyright distribui uma cópia do programa a alguém, esse alguém pode então redistribuir o programa para você, ou para alguém, como apropriado.

Eu posso lançar um programa com uma licença que diz que você pode distribuir versões modificadas dele sob a GPL mas não pode distribuir o original por si só sob a GPL? (#ReleaseNotOriginal)

Não. Tal uma licença que está se contradizendo. Vamos olhar em suas implicações para mim como um usuário.

Supondo que eu inicie com uma versão original (chamada de versão A), adiciono alguns códigos (vamos imagina que seja 1000 linhas), e lanço aquela versão modificada (chamada de B) sob a GPL. A GPL diz que alguém pode mudar a versão B novamente e lançar o resultado sob a GPL. Então eu (ou alguém) pode deletar aquelas 1000 linhas, produzindo uma versão C que teve o mesmo código da versão A mas é GPL.

Se você tentar um bloco daquele jeito, mas diz explicitamente na licença que eu não estou permitido a reproduzir algo idêntico para a versão A sob a GPL após deletar aquelas linhas da versão B, o efeito é que a licença agora diz que eu não posso usar totalmente a versão B de todas as formas que a GPL permite. Em outras palavras, a licença não é de fato permitir a um usuário lançar uma versão modificada tal como B sob a GPL.

Movendo uma cópia para um dono majoritário, e controlado, constitue uma distribuição subsidiária? (#DistributeSubsidiary)

Se movendo uma cópia para ou desse subsidiário constitue “distribuição” é o que importa para ser decidido em cada caso sob a lei de jurisdição apropriada. A GPL não e não pode sobrescrever as leis locais. A lei de copyright americana não é totalmente clara nesse aspecto mas aparenta não considerar isso distribuição.

Se, em alguns países, isso é considerado distribuição, e o subsidiário deve receber os direitos para redistribuir o programa, que não fará uma diferença prática. O subsidiário é controlado pela empresa; direitos ou não direitos, ele não redistribuirá o programa a menos que a empresa decida fazer.

Instaladores de software pode perguntar as pessoas para clicar e aceitar a GPL? Se eu pegar algum software sob a GPL, eu tenho que aceitar qualquer coisa? (#ClickThrough)

Alguns sistemas de empacotamento de software tem um lugar que requer você clicar através ou indicar por outro lado assentir os termos da GPL. Isso não é requerido nem proibido. Com ou sem um clique, as regras da GPL continuam as mesmas.

Apenas aceitando a GPL não implica quaisquer obrigações para você. Você não está requerendo aceitar nada, apenas usar o software que é licenciado sob a GPL. Você somente tem obrigações se você modificar ou distribuir o software. Se isso realmente te incomoda, a GPL nada impede que você hackear um software GPL e ignorar isso.

Eu gostaria de empacotar um software GPL com algum tipo de software de instalação. O que o instalador precisa para ter uma licença compatível com a GPL? (#GPLCompatInstaller)

Não. O instalador e os arquivos de instalação são trabalhos separados. Como resultado, os termos da GPL não se aplica ao software de instalação.

Algum distribuidor de um software GPL requer de mim EULAs de cobertura ou como parte do processo de download “representar e garantir” que eu esteja nos Estados Unidos ou que eu pretenda distribuir o software em conformidade com as leis de controle de exportação. Porque eles estão fazendo isso e isso é uma violação das obrigações dos distribuidores sob a GPL? (#ExportWarranties)

Isso não é violação da GPL. Esses distribuidores (quase todos são negócios comerciais vendendo distribuição de software livre e serviços lançados) estão tentando reduzir seus próprios riscos legais, não controla seu comportamento. Lei de controle de exportação nos Estados Unidos poderia fazer passível se eles intencionalmente exportasse software para certos países, ou se eles dão software para seus partidos que conhecerão formas de exportação. Perguntando por essas declarações dos clientes deles e outros para o qual eles distribuíram o software, eles protegem a si mesmo no evento deles que mais tarde serão perguntados por autoridades reguladoras que eles sabiam onde o software estavam sendo distribuído. Eles não estão restringindo o que você pode fazer com o software, somente prevenindo deles mesmos de acusação a respeito de qualquer coisa que você fizer. Porque eles não classificarão restrições adicionais no software, eles não violam a seção 10 da GPLv3 ou a seção 6 da GPLv2.

A FSF se opõe a aplicação das leis de controle Americana para o software livre. Não somente as leis são incompatíveis com o objectivo geral da liberdade de software, eles não alcançam o propósito governamental, porque o software livre é atualmente e sempre estará disponível em partidos em quase todos os países, incluindo países que não tem a lei de controle de exportação que não participam do embargo de comércio Americano. Contudo, o governo do país está privado do software livre pelas leis de controle de exportação Americana enquanto não cidadães do país devem ser privado do software livre, independentemente das políticas governamentais, como tanto como nós a nós interessado. Cópias de todo software GPL são publicado pela FSF que pode ser obtido de nós sem fazer qualquer representação sobre onde você vive ou o que você pretende fazer. Ao mesmo tempo, a FSF entende os desejos de distribuidores comerciais localizados nos Estados Unidos que obedecem às leis americanas. Eles tem o direito de escolher para quem eles distribuem cópias em particular de software livre; exercitando aquele direito que não viola a GPL ao menos se eles adicionarem uma restrição contratual além daquelas permitidas pela GPL.

Eu posso usar um software GPL em um dispositivo que irá parar de funcionar se os clientes não continuarem pagando uma taxa de inscrição? (#SubscriptionFee)

Não. Nesse cenário, os requerimento para permanecer pagando uma taxa limita a habilidade dos usuários executarem o programa. Isso é um requerimento adicional no topo da GPL, e a licença proíbe isso.

Como eu faço upgrade da (L)GPLv2 para a (L)GPLv3? (#v3HowToUpgrade)

Primeiro, inclua a nova versão da licença em seu pacote. Se você está usando a LGPLv3 em seu projeto, seja claro ao incluir cópias de ambas a GPLv3 e LGPLv3, desde que a LGPLv3 agora esteva escrita como colocado nas permissões adicionais do topo da GPLv3.

Segundo, substitua tudo que existir das notas da licença v2 (geralmente no topo de cada arquivo) com o novo texto recomendado disponível em Como usar a licença GNU. Isso mais à prova de futuro porque isso não é mais longo que incluir os endereços de correspondência da FSF.

Claro, qualquer texto descritivo (como em um README) que fale sobre a licença do pacote deve ser apropriadamente atualizado.

Como a GPLv3 faz para distribuir facilmente o BitTorrent? (#BitTorrent)

Porque a GPLv2 foi escrita antes da distribuição ponto-a-ponto do software, isso dificulta encontrar seus requerimentos quando você compartilha o código dessa forma. O melhor caminho para se certificar está na conformidade quando são distribuído o código objeto da GPLv2 no BitTorrent que deveria incluir todo o fonte correspondente do mesmo torrent, que é proibitivamente caro.

A GPLv3 endereça esse problema em dois caminhos. Primeiro, pessoas que fizer o download desse torrent e enviar o dado para outros como parte daquele processo não precisam fazer nada. Isso é porque a seção 9 diz a “propagação Auxiliar de trabalho coberto ocorrendo unicamente como uma consequência do uso da transmissão ponto-a-ponto para receber uma cópia da mesma forma que a não aceitação requerida [da licença].”

Segundo, a seção 6(e) da GPLv3 é projetada para dar as —pessoas distribuidoras que inicialmente semeiem o torrents—uma clara e direito para prover o fonte, por perguntar aos destinatários onde eles estão disponíveis nos servidores da rede pública. Isso garante que todos que queiram pegar os fontes possam fazer isso, e isso quase não aborrece o distribuidor.

O que é tivoização? Como a GPLv3 prever isso? (#Tivoization)

Alguns dispositivos utilizam software livre que podem ser atualizados, mas são projetados então para que os usuários não possam modificar aquele software. Há muitas formas para fazer isso; por exemplo, as vezes os checksums hardware daquele software que está instalado, se desliga caso não encontre uma assinatura esperada. Os fabricantes obedecem com a GPLv2 por darem a você o código fonte, mas você ainda não tem a liberdade para modificar o software que você está usando. Nós chamamos essa prática de tivoização.

Quando pessoas distribuem Produtos de Usuário que incluem software sob GPLv3, a seção 6 requer que eles provenham a você com toda informação necessária para modificar aquele software. Produtos de Usuário é uma termo especialmente definido na licença; exemplos de Produtos de Usuário incluem tocadores de músicas portáteis, gravadores digitais de vídeo, e sistemas de segurança para casa.

A GPLv3 proíbe DRM? (#DRMProhibited)

Não; você pode usar o código lançado sob GPLv3 para desenvolver qualquer tipo de tecnologia DRM que quiser. Contudo, se você fizer isso, a seção 3 diz que o sistema não irá contar como uma “proteção” tecnológica eficaz mensurada, que significa que se alguém quebrar o DRM, ele será livre para distribuir o software dele também, sem obstáculos da DMCA e leis similares.

Como de costume, a GNU GPL não restringe que pessoas façam em software, é só pára eles que restringem os outros.

Eu posso usar a GPL para licenciar hardware? (#GPLHardware)

Qualquer material que possa ter copyright pode ser licenciada sob a GPL. A GPLv3 pode também ser usada para licenciar materiais sob outras leis de copyright, como uma máscara semicondutor. Então, como um exemplo, você lança um desenho do objeto físico ou um circuito sob a GPL.

Em muitas situações, copyright não cobre a fabricação do desenho de hardware físico. Nessas situações, sua licença para o desenho simplesmente não pode exercer qualquer controle sobre a fabricação ou venda do hardware físico, independentemente da licença que você usar. Quando um copyright cobre uma fabricação de hardware, por exemplo com máscara IC, a GPL lida com esse caso de forma útil.

Eu uso uma chave pública criptográfica assinada com meu código para certificar essa autenticação. É verdade que a GPLv3 me força a lançar minha chave privada? (#GiveUpKeys)

Não. A única vez que seria requerido lançar assinaturas de chaves é se você transmitiu um software GPL dentro de um Produto de Usuário, e há checagem por hardware via software para validar a assinatura criptográfica antes do funcionamento. Em caso específicos, você estaria requerendo a alguém que é dono do dispositivo, sob demanda, com a chave para assinar e instalar um software modificado sobre o dispositivo que será executado. Se cada instância do dispositivo usa uma chave diferente diferente, então você precisa somente dá a cada comprador uma chave para aquela instância.

A GPLv3 requer que eleitores possam modificar um software executando em uma urna eletrônica? (#v3VotingMachine)

Não. Empresas de distribuição de dispositivos que incluem software sob a GPLv3 são no máximo requerido para prover o fonte e Informação da Instalação do software para as pessoas que possuem uma cópia do código objeto. O eleitor que usar uma urna (como qualquer outro quiosque) não tem a posse dele, não temporariamente, então o eleitor também não possui o software binário.

Nota, contudo, que o eleitor é um caso muito especial. Porque só o software no computador é livre não significa que você pode confiar na computação dos votos. Nós acreditamos que computadores não podem ser confiáveis para eleição. Eleição deve ser no papel.

GPLv3 tem uma “cláusula de relação de patente”? (#v3PatentRetaliation)

Em efeito, sim. A seção 10 proíbe pessoas que transmite o software de registro de patente contra outras licenças. Se alguém o fizer, a seção 8 explica como eles perdem a licença e qualquer licença de patente que o acompanha.

Eu posso usar fragmentos do código fonte GPL dentro da documentação que está licenciado sob alguma licença que é incompatível com a GPL? (#SourceCodeInDocumentation)

Se os fragmentos são pequenos o suficiente que você pode incorporar ele sob o justo uso ou lei similar, então sim. Caso contrário, não.

O início da seção 6 da GPLv3 diz que eu posso transmitir um trabalho coberto em código objeto no formato “sob os termos das seções 4 e 5” provendo também que eu encontre as condições da seção 6. O que isso significa? (#v3Under4and5)

Isso significa que todas as permissões e condições que você tiver que transmitir o código fonte também se aplica quando você transmitir o código objeto: você pode cobrar uma taxa, você deve manter as notas de copyright intacta, e assim por diante.

Minha empresa possui muitas patentes. Ao longo dos anos nós tínhamos contribuído com código para projetos sob a “GPL versão 2 ou qualquer versão ”, e o projeto por si só tem sido distribuído sob os mesmo termos. Se um usuário decidir pegar o código do projeto (incorporando minhas contribuições) sob a GPLv3, isso significa que eu terei automaticamente permissão de patente explícita da licença GPLv3 para aquele usuário? (#v2OrLaterPatentLicense)

Não. Quando você transmite um software GPL, você deve seguir os termos e condições de uma versão em particular da licença. Quando você faz então, aquela versão define as obrigações que você tem. Se os usuário também elegem o uso das versão posterior da GPL, isso meramente é uma permissão adicional que eles tem—não requer que você preencha os termos da versão posterior da GPL.

Não pegar isso significa que você pode ameaçar a comunidade com suas patentes. Em muitos países, distribuição de software sob a GPLv2 prover destinatários com uma licença de patente implícita para exercer aqueles direitos sob a GPL. Até se ele não fizer, qualquer consideração de aplicação dessas patentes agressivas é um inimigo da comunidade, e nós iremos nos defender contra tal ataque.

Se eu distribuir um programa proprietário que linka com uma biblioteca LGPLv3 que eu modifiquei, o que é a “versão do contribuidor” pelo propósito de determinar o escopo que concede a licença de patente Eu estou fazendo —somente uma biblioteca, ou é uma combinação como um todo? (#LGPLv3ContributorVersion)

A “versão do contribuidor” é somente sua versão da biblioteca.

A GPLv3 é compatível com a GPLv2? (#v2v3Compatibility)

Não. Alguns dos requerimentos da GPLv3, tal como o requerimento que prover Informação de Instalação, não existe na GPLv2. Como resultado, as licenças não são compatíveis: se você tentou combinar o código lançado sob ambas dessas licenças, você violaria a seção 6 da GPLv2.

Contudo, se o código é lançado sob a GPL “versão 2 ou superior,” que é compatível com a GPLv3 porque a GPLv3 é uma das opções que ela permite.

O que significa “curar” uma violação da GPLv3? (#Cure)

Curar uma violação significa ajustar suas práticas para obedecer com os requerimentos da licença.

Os avisos e as responsabilidade dos avisos legais em GPLv3 parecem ser especificas para as leis Americanas. Eu posso adicionar meu próprio aviso legal para meu próprio código? (#v3InternationalDisclaimers)

Sim. A seção 7 dá a você permissão para adicionar seus próprios avisos legais, especificamente 7(a).

Meu programa tem uma interface de usuário não-visual. Como eu obedeço com as notas legais apropriadas requeridas em GPLv3? (#NonvisualLegalNotices)

Tudo que você precisa fazer é garantir que as Notas Legais adequadas estão prontamente disponível para o usuário em sua interface. Por exemplo, se você tem escrito uma interface de audio, você poderia incluir um comando que lia as notas em voz alta.

If I give a copy of a GPLv3-covered program to a coworker at my company, have I “conveyed” the copy to that coworker? (#v3CoworkerConveying)

Enquanto vocês estão usando o software em seu trabalho na empresa, ao invés de pessoalmente, então a resposta é não. As cópias pertence a empresa, não para você ou ao colega de trabalho. Essas cópias são propagações, não transmissão, porque a empresa não faz cópias disponíveis para os outros.

Se eu distribuir um programa GPLv3, eu posso prover uma garantia que é anulada se o usuário modificar o programa? (#v3ConditionalWarranty)

Sim. Assim como dispositivos que não necessitam garantir se os usuários modificam o software dentro deles, você não requer a garantia que cobre todas as possibilidades se alguém empreender com um software GPLv3.

Porque você decidiu escrever a GNU Affero GPLv3 como uma licença separada? (#SeparateAffero)

Os primeiros rascunhos da GPLv3 permitia aos licenciadores adicionar um requerimento como Affero que publica o fonte na seção 7. Contudo, algumas empresas que desenvolve e confiam no software livre considera esse requerimento bastante oneroso. Eles querem evitar o código com esses requerimentos, e expressam preocupação sobre os custos administrativo do código de verificação para esse requerimento adicional. Publicando a GNU Affero GPLv3 como uma licença separada, com suas disposições e a GPLv3 permitir código sob essa licença linka uma com a outra, nós realizamos todos os objetivos originais enquanto fazíamos isso facilmente para determinar que o código tem a publicação do requerimento do fonte.

Porque você inventou novos termos como “propagar” e “transmitir” em GPLv3? (#WhyPropagateAndConvey)

Os termos “distribuir” usado em GPLv2 foi emprestado das leis de copyright Americana. Durante muitos anos, nós aprendemos que algumas jurisdições tem usado essa palavra em suas próprias leis de copyright, mas deu-lhe significado diferente. Nós inventamos esses novos termos para fazer nossa intenção clara como possível, e não importa onde a licença está sendo interpretada. Eles não são usado em qualquer lei de copyright do mundo, e nós fornecemos deles definições diretamente na licença.

Eu gostaria de licenciar meu código sob a GPL, mas eu também gostaria de fazer isso de forma clara que ele não possa ser usado para fins militares e/ou comerciais. Eu posso fazer isso? (#NoMilitary)

Não, porque esses objetivos contradizem os outros. A GNU GPL é projetada especificamente para prever adição de favorecer restrições. A GPLv3 permite uma conjunto muito limitado deles, na seção 7, mas qualquer outra restrição adicionada pode ser removida pelo o usuário.

“Transmitir” em GPLv3 é a mesma coisa que a GPLv2 fala em “distribuir”? (#ConveyVsDistribute)

Sim, mais ou menos. Durante o curso da aplicação da GPLv2, nós aprendemos que algumas jurisdições tem usado a palavra “distribuir” nas suas próprias leis de copyright, mas dão a eles significados diferentes. Nós inventamos um novo termo para fazer claro nossas intenções e evitar qualquer problemas que possam ser causado por essa diferenças.

GPLv3 dá a “disponibilidade para publicar” como um exemplo de propagação. O que isso significa? Disponibilizar não é uma forma de transmissão? (#v3MakingAvailable)

Um exemplo de “disponibilidade para publicar” é colocando o software em um servidor FTP público na web. Após isso você, as vezes pode passar antes a alguém que atualmente obteve o software de você—mas porque isso aconteceu de imediato, você precisa preencher os direitos obrigados pela GPL. Consequentemente, nós definimos transmitir incluir essas atividades.

Desde a distribuição e a disponibilização pública são formas de propagação que também são transmitida em GPLv3, quais são os exemplos de propagação que não são transmissão? (#PropagationNotConveying)

Fazendo cópias do software para você mesmo é a principal forma de propagação que não é transmissão. Você poderia fazer isso para instalar o software em múltiplos computadores, ou fazer backups.

Pré-linkar um binário GPL com várias bibliotecas no sistema, para optimizar seu desempenho, conta como modificação? (#Prelinking)

Não. Pré-linkagem é parte de um processo de compilação; não introduz qualquer licença requerida acima além que outros aspectos de compilação. Se você está permitido linkar o programa para as bibliotecas como um todo, então tudo bem em pré-linkar. Se você distribuir código objetos pré-linkados, você precisa seguir os termos da seção 6.

Se alguém instalar um software GPL em seu laptop, e então emprestar esse laptop para um amigo sem prover o código fonte para o software, eles tem violado a GPL? (#LaptopLoan)

Não. Nas jurisdições onde nós temos investigado essas questões, esse tipo de empréstimo não deveria contar como transmissão. O dono do laptop não tem qualquer tipo de obrigações sob a GPL.

Supondo que duas empresas tentam lograr os requerimentos providos na Informação de Instalação por possuir uma empresa lançando software assinado, e as outras lançam um Produto de Usuário que somente rodam com um software assinado da primeira empresa. Isso é uma violação de GPLv3? (#TwoPartyTivoization)

Sim. Se duas partes tentam trabalhar juntas para se aproximar dos requerimentos da GPL, ambos podem ser perseguidos por infringirem os copyright. Isso é especificamente verdade desde a definição de transmissão explicitamente que inclui atividades que faria responsável para a segunda infração.

Eu estou compilando com a GPLv3 se eu ofertar binários em um servidor FTP e os fontes por um link para o código fonte em um repositório em um sistema de controle de versão, como CVS ou Subversion? (#SourceInCVS)

Isso é aceitável enquanto o processo que checa o fonte não é oneroso ou de outra forma restritivo. Qualquer um que fizer o download de seu código objeto deve também ser capaz de checar o fonte de seu sistema de controle de versão, usando um cliente de software livre disponível para publicar. Usuários devem prover com clareza e instruções conveniente como pegar o fonte para o exato código objeto que eles baixaram—eles não podem necessariamente querer o último código de desenvolvimento, depois.

Alguém pode transmitir um software GPLv3 em um Produto de Usuário para uso remoto, atestando prover a um usuário das modificações desse software? (#RemoteAttestation)

Não. A definição de Informação de Instalação, que deve ser provido com o fonte quando o software é transmitido dentro de um Produto de Usuário, explicitamente diz: “A informação deve ser suficiente clara para que as funcionalidades continuem modificadas no código objeto não é no caso evitado ou interferido unicamente porque as modificações tem sido .” Se o dispositivo do usuário remoto atestar algum caminho, a Informação de Instalação devem prover algum significado para suas modificações do software para reportar a si mesmo e legítima.

O que as “regras e protocolos para comunicação através de rede” significa em GPLv3? (#RulesProtocols)

Isso se refere às regras sobre trafego que você pode enviar na rede. Por exemplo, se há um limite sobre os números de requisições que você pode enviar para um servidor por dia, or o tamanho de um arquivo que você pode atualizar, seu acesso para esses recursos deve ser definidos se você não respeitar esses limites.

Essas regras não incluem qualquer coisa que não permita diretamente o tráfego de dados através da rede. Por exemplo, se um servidor em uma rede enviar uma mensagem para os usuários em seus dispositivos, seu acesso para a rede não poderia ser negado meramente porque você modificou o software que agora não apresenta na tela as mensagens.

Distribuidores que prover Informações de Instalação sob a GPLv3 não está requerido prover “serviço de suporte” para o produto. Que tipo de “serviço de suporte”isso significa? (#SupportService)

Isso inclui o tipo de serviço de muitos fabricantes de dispositivos que prover ajuda a você na instalação, uso, ou solução de problemas do produto. Se o dispositivo confia no acesso web dos serviços ou similar tecnologicamente para as funções devidas, essas devem normalmente ainda ser disponibilizadas para as versões modificadas, assuntos para os termos na seção 6 em relação ao acesso a rede.

Em GPLv3 e AGPLv3, o que significa quando diz “não obstante qualquer outra disposição dessa Licença”? (#v3Notwithstanding)

Isso simplesmente significa que segundo os termos prevalecem sobre qualquer coisa, então na licença isso pode conflitar. Por exemplo, sem esse texto, alguém poderia ter reivindicar que você não poderia combinar código sob GPLv3 com código sob AGPLv3, porque os requerimentos adicionais da AGPL devem ser classificado como “outras restrições” sob a seção 7 de GPLv3. Esse texto deixa claro que a nossa interpretação está correta, e você pode fazer a combinação.

Esse texto somente resolve conflitos entre termos diferentes da licença. Quando não há conflitos entre as duas condições, então você deve encontrá-la. Esses parágrafos não garante a você carta branca para ignorar o resto da licença—ao invés deles escupirem muitas exceções limitadas.

Sob AGPLv3, quando eu modifico o Program sob a seção 13, o que Fonte Correspondente tem a oferecer? (#AGPLv3CorrespondingSource)

“Fonte Correspondente” é definido na seção 1 da licença, e você deve prover o que ele lista. Então, se sua versão modificada depende de bibliotecas sob outras licenças, tal como a Licença Expat ou GPLv3, o Fonte Correspondente deve incluir essas bibliotecas (ao menos que sejam Bibliotecas de Sistema). Se você tem modificado essas bibliotecas, você deve prover seu código fonte modificado.

As últimas sentenças do primeiro parágrafo da seção 13 somente significa um reforço para muitas pessoas que naturalmente tem assumido: embora combinações com código sob GPLv3 são manipuladas através de uma exceção especial na seção 13, o Fonte Correspondente deve ainda incluir o código que é combinado com o Programa dessa forma. Essa sentença não significa que você somente tem que prover o fonte que é GPLv3; ao invés disso significa que o tal código não é excluído da definição de Fonte Correspondente.

Em AGPLv3, o que conta como “interação com [o software] remotamente através de um computador de rede?” (#AGPLv3InteractingRemotely)

Se um programa é expressamente projetado para aceitar requisições do usuário e enviar respostas pela rede, então encaixa-se nesse critério. Exemplos comuns de programas que falham em introduzir essa categoria em servidores de email ou web, aplicações web interativa, e servidores para jogos que são jogados online.

Se um programa não é expressamente projetado para interagir com o usuário através de uma rede, mas está rodando em um ambiente onde isso acontece, então ele não falha nessa categoria. Por exemplo, uma aplicação não requer a disponibilização do fonte meramente porque o usuário está rodando-o via SSH, ou uma sessão remota X.

Como o conceito da GPLv3 de “você” comparar a definição de “Entidade Legal” na Licença Apache 2.0? (#ApacheLegalEntity)

Elas são efetivamente idênticas. A definição de “Entidade Legal” na Licença Apache 2.0 é padrão em vários tipos de acordo legal—então não fique muito surpreso se uma corte não interpretar o termo da mesma forma na ausência de uma definição explícita. Nós esperamos totalmente que o faça o mesmo ao olhar para a GPLv3 e considere quem qualifica como licenciado.

Em GPLv3, o que o “Programa” se refere? Todo o programa lançado sob a GPLv3? (#v3TheProgram)

O termo o “Programa” significa em particular um trabalho que é licenciado sob GPLv3 e recebeu por uma licença em particular de um licenciador ou distribuidor. O Programa é o trabalho em particular do software que você recebeu dado uma instância do licenciamento GPLv3, como você recebeu.

“Programa” não pode significar “todos os trabalhos que sempre são licenciados sob a GPLv3”; que interpretações não fazem sentido por várias razões. Nós tínhamos publicado uma análise do termo “Programa” para quem gostaria de aprender mais sobre isso.

Se eu somente fizer cópias de um programa GPL e rodar ele, sem distribuir ou transmitir para os outros, o que a licença requer de mim? (#NoDistributionRequirements)

Nada. A GPL não implica qualquer condições nessas circunstâncias.

Se algum software cliente de rede é lançado sob a AGPLv3, ele tem que ser capaz de prover o fonte para os servidores interagir com eles? (#AGPLv3ServerAsUser)

AGPLv3 requer que um programa oferte o código fonte para “todos os usuários interagir com ele remotamente através de um computador em rede.” Isso não importa se você chama o programa “cliente” ou um “servidor, ” a questão que você precisa perguntar é se há ou não uma expectativa razoável se uma pessoa irá interagir com o programa remotamente na rede.

Para software que rodam em um servidor proxy licenciado sob a AGPL, como eu provenho uma oferta do fonte para os usuários interagir com o código? (#AGPLProxy)

Para software em um servidor proxy, você pode prover uma oferta do fonte através de um método normal de entrega de mensagens para os usuários daquele tipo de proxy. Por exemplo, um proxy Web usaria um a página de descanso. Quando os usuários inicializar o uso do proxy, você pode diretamente para eles mostrar uma página com a oferta do fonte com alguma outra informação que queira prover.

A AGPL diz que você deve fazer uma oferta para “todos os usuários”. Se você conhece um certo usuário já tem mostrado uma oferta, para a versão atual do software, você não tem que repetir isso para o usuário novamente.

Como são compatíveis as várias licenças GNU com todas as outras? (#AllCompatibility)

As várias licenças GNU gozam de uma ampla compatibilidade entre si. Somente você não pode ser capaz de combinar o código sob duas dessas licenças, quando você quer usar o código delas somente sob uma versão antiga da licença com o código que está sob uma versão mais nova.

Abaixo tem uma matriz detalhada de compatibilidade para várias combinações das licenças GNU, para prover uma referência de uso fácil usando casos específicos. Isso assume que alguém também tem escrito algum software sob uma dessas licenças, e você quer que alguma maneira incorporar o código deles em um projeto que você está lançando (quer o seu próprio trabalho original, ou uma versão modificada de algum outro software). Encontrar a licença para seu projeto em uma coluna no topo da tabela, e a licença para outro código na linha a esquerda. A célula onde eles encontram dirá a você o que ou não essas combinações são permitidas.

Quando eu digo “código cópia,” significa que: você está pegando uma parte do código de uma fonte, com ou sem modificação, e inserindo-o em seu próprio programa, então formalmente um trabalho baseado na primeira seção do código. “Usar uma biblioteca” significa que você não está copiando qualquer fonte diretamente, mas interagindo com ele através de links, importando, ou outro mecanismo que vincule os fontes juntos quando você compila ou executa o código.

Cada parte da matriz afirma a GPLv3, o mesma sentença sobre compatibilidade é verdade para a AGPLv3 também.

Pular matriz de compatibilidade


Eu quero lançar meu código sob:
GPLv2 somente GPLv2 ou superior GPLv3 ou superior LGPLv2.1 somente LGPLv2.1 ou superior LGPLv3 ou superior
Eu quero copiar o código sob: GPLv2 somente OK OK [2] NÃO OK: Combinação é sob GPLv2 somente [7] OK: Combinação é sob GPLv2 somente [7][2] NÃO
GPLv2 ou superior OK [1] OK OK OK: Combinação é sob GPLv2 ou superior [7] OK: Combinação é sob GPLv2 ou superior [7] OK: Combinação é sob GPLv3 [8]
GPLv3 NÃO OK: Combinação é sob GPLv3 [3] OK OK: Combinação é sob GPLv3 [7] OK: Combinação é sob GPLv3 [7] OK: Combinação é sob GPLv3 [8]
LGPLv2.1 somente OK: Transmitir cópias sob GPLv2 [7] OK: Transmitir cópia sob GPLv2 ou superior [7] OK: Transmitir cópia sob GPLv3 [7] OK OK [6] OK: Transmitir cópia do código sob GPLv3 [7][8]
LGPLv2.1 ou superior OK: Transmitir cópia sob a GPLv2 [7][1] OK: Transmitir cópia sob GPLv2 ou superior [7] OK: Transmitir código sob a GPLv3 [7] OK [5] OK OK
LGPLv3 NÃO OK: Combinação é sob GPLv3 [8][3] OK: Combinação é sob GPLv3 [8] OK: Combinação é sob GPLv3 [7][8] OK: Combinação é sob LGPLv3 [4] OK
Eu quero usar a biblioteca sob: GPLv2 somente OK OK [2] NÃO OK: Combinação é sob GPLv2 somente [7] OK: Combinação é sob GPLv2 somente [7][2] NÃO
GPLv2 ou superior OK [1] OK OK OK: Combinação é sob GPLv2 ou superior [7] OK: Combinação é sob GPLv2 ou superior [7] OK: Combinação é sob GPLv3 [8]
GPLv3 NÃO OK: Combinação é sob GPLv3 [3] OK OK: Combinação é sob GPLv3 [7] OK: Combinação é sob GPLv3 [7] OK: Combinação é sob GPLv3 [8]
LGPLv2.1 somente OK OK OK OK OK OK
LGPLv2.1 ou superior OK OK OK OK OK OK
LGPLv3 NÃO OK: Combinação é sob a GPLv3 [9] OK OK OK OK

Pular notas de rodapé

1: Você deve seguir os termos da GPLv2 quando incorporado o código nesse caso. Você não pode tomar vantagens dos termos das versões superior da GPL.

2: Enquanto você pode lançar seu projeto (ou seu trabalho original e/ou que você recebeu e modificou) sob a GPLv2 ou superior nesse caso, note que o outro código que você está usando deve permanecer sob a GPLv2 somente. Enquanto seu projeto depende daquele código, você poderia ser capaz de atualizar a licença de seu projeto para a GPLv3 ou superior, e o trabalho como um todo (qualquer combinação de ambos os seus projetos de os outros códigos) podem somente ser transmitido sob os termos da GPLv2.

3: Se você tem a habilidade de lançar o projeto sob a GPLv2 ou qualquer versão superior, você pode escolher lançá-la sob a GPLv3 ou qualquer versão superior—e depois de fazer isso, você será capaz de incorporar o código lançado sob a GPLv3.

4: Se você tem a habilidade de lançar o projeto sob a LGPLv2.1 ou qualquer versão superior, você pode escolher lançar sob a LGPLv3 ou qualquer versão superior—e depois de fazer isso, você será capaz de incorporar o código lançado sob a LGPLv3.

5: Você deve seguir os termos da LGPLv2.1 quando incorporar o código nesse caso. Você não pode tirar vantagem dos termos em versões superiores da LGPL.

6: Se você faz isso, enquanto o projeto conter o código lançado sob LGPLv2.1 somente, você não será capaz de atualizar a licença do projeto para a LGPLv3 ou superior.

7: LGPLv2.1 dá permissão para você relançar o código sob qualquer versão da GPL desde a GPLv2. Se você pode mudar o código LGPL nesse caso usando uma versão apropriada da GPL (como notado nessa tabela), você pode fazer essa combinação.

8: LGPLv3 é GPLv3 mais permissões extras que você pode ignorar nesse caso.

9: Porque a GPLv2 não permite combinações com a LGPLv3, você deve transmitir o projeto sob os termos da GPLv3 nesse caso, desde que isso permitirá combinação.

*GNUN-SLOT: TRANSLATOR'S NOTES*