Dei uma olha no site da FSF[1] e o que eles falam a respeito da RPL é
o seguinte:

" Reciprocal Public License

   The Reciprocal Public License is a non-free license because of
three problems.
1. It puts limits on prices charged for an initial copy.
2. It requires notification of the original developer for publication
of a modified version.
3. It requires publication of any modified version that an
organization uses, even privately."

Tudo isso é muito válido, principalmente o 3.

Só que tem uma coisa. Esse negócio de tentar proteger previamente os
usuários da RPL serem afetados por patentes de um dos seus
"contributors" atinge a nossa liberdade.

Vou tentar explicar porque. Onde eu estiver errado me corrija. Esta
licença realmente me preocupa.

Vamos lá:

On 5/17/07, Alexandre Oliva <[EMAIL PROTECTED]> wrote:
Putz...  Eu tinha esquecido como era complicado "decifrar" o legalês
de licenças.

On May 17, 2007, "Glauber Machado Rodrigues (Ananda)" <[EMAIL PROTECTED]> wrote:

> Por que alguém iria concordar com uma licença para saber o que pode
> fazer com ela se o que quer que aconteça com patentes no futuro podem
> afetar o que você pode fazer com o pedaço de código que você está
> obtendo agora?

Porque não há opção viável enquanto existirem patentes de software.
Elas sempre são um risco que não pode ser medido ou avaliado, porque a
informação necessária para avaliá-lo nem sempre está disponível no
momento em que se toma a decisão que precisaria dessa informação.

De todo modo, não, essa cláusula respeita as liberdades do licenciado
no que tange o software e patentes do licenciante praticadas pelo
software, na medida em que promete não usar patentes para cerceá-las,
nem patentes já aceitas, nem patentes que venham a ser aceitas ou
adquiridas pelo licenciante no futuro.

Apenas para o software sob este licenciamento, não software sobre
outro licenciamento que preserve as 4 liberdades.

É justamente o contrário da
sua leitura.

Vou comparar as duas licencas para mostrar melhor do que eu estou falando.

Primeiro a RPL

"2.0 Acceptance Of License. You are not required to accept this License
since you have not signed it, however nothing else grants you permission
to use, copy, distribute, modify, or create derivatives of either the
Software or any Extensions created by a Contributor. These actions are
prohibited by law if you do not accept this License. Therefore, by
performing any of these actions You indicate Your acceptance of this
License and Your agreement to be bound by all its terms and conditions.
IF YOU DO NOT AGREE WITH ALL THE TERMS AND CONDITIONS OF THIS LICENSE DO
NOT USE, MODIFY, CREATE DERIVATIVES, OR DISTRIBUTE THE SOFTWARE. IF IT
IS IMPOSSIBLE FOR YOU TO COMPLY WITH ALL THE TERMS AND CONDITIONS OF
THIS LICENSE THEN YOU CAN NOT USE, MODIFY, CREATE DERIVATIVES, OR
DISTRIBUTE THE SOFTWARE.
"

E agora a GPL:

"5.  You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it."


Vamos seguir tudo com calma:

RPL 1) "You are not required to accept this License
since you have not signed it, however nothing else grants you permission
to **use**, **copy**, distribute, modify, or create derivatives of either the
Software or any Extensions created by a Contributor".

Ou seja, se não aceitar a licença eu não posso USAR ou COPIAR o software.

GPL 1) "You are not required to accept this License, since you have
not signed it. However, nothing else grants you permission to
**modify** or **distribute** the Program or its derivative works"

Ou seja, eu apenas estou sujeito à licença se eu modificar ou produzir
trabalhos derivados.

Vamos continuar,

RPL 2) "3.3 Under claims of patents now or hereafter owned or controlled by
Licensor, to make, use, have made, and/or otherwise dispose of Licensed
Software or portions thereof, **but solely to the extent** that any such
claim is necessary to enable You to make, use, have made, and/or
otherwise dispose of Licensed Software or portions thereof."
--
Aqui ele tenta fazer parecer que as patentes são seguras desde que
fiquem dentro do grupo de "Contributors".


GPL 2) "8.  If the distribution and/or use of the Program is
restricted in certain countries either by patents or by copyrighted
interfaces, the original copyright holder who places the Program under
this License may **add an explicit geographical distribution
limitation excluding those countries**, so that distribution is
permitted only in or among countries not thus excluded. In such case,
this License incorporates the limitation as if written in the body of
this License."
--
Aqui não existe um mecanismo para tratar um grupo que não é afetado
pelas patentes numa mesma região daqueles que são afetados. Ou seja,
você vive num lugar onde as patentes de sofrware são válidas, lamente
isso.


Ok, agora eu volto do passado e falo um pouco, e você fala de novo
para poder colocar as coisas no contexto:
> Vamos guardar "no assurances are provided by
> Licensor or any Contributor that the Licensed Software does not infringe
> the patent or other intellectual property rights of any other entity"
> no buffer, no topo da pilha.

A existência de patentes ou outras medidas que possibilitassem a
terceiros cercear as liberdades de usuários do software poderia de
fato fazer com que esses usuários não sejam livres no uso do software.
Mas isso não tornaria a licença em si não-Livre.  Ela continua sendo
uma licença que respeita as liberdades.  Quem desrespeitaria as
liberdades, nesse caso, seria quem usa dessas outras medidas, que não
estão sob controle do licenciante.

A licença de Software Livre não garante que você seja livre para gozar
das 4 liberdades.  Ela não tem como garantir isso.  Você mesmo pode
ter entrado numa situação auto-limitante.  Outros podem vir a colocar
você nessa situação.

Certo, agora vamos fazer um "suponhamos":

Imagine que eu tenho um problema para resolver com código. Então eu
faço uma contribuição com código meu para um software licenciado sobre
essa tal RPL.

Eu faço uma implementação perfeita, uma masterpiece de um algorítimo
aí qualquer. Um bogosort extremamente sortudo que funciona, por
exemplo.

Aqui está uma explicação do que é o bogosort:
http://en.wikipedia.org/wiki/Bogosort

Mas a vida é uma caixinha de surpresas. Numa bela manhã de sol, eu
estou navegando no /. e percebo que uma empresa patenteou o bogosort.
Qualquer um ficaria chateado, desmotivado, sem vontade de cantar uma
bela canção. Mas não eu, pois sou irmão do Joseph Climber.

Pesquisando eu descubro que a tal empresa que patenteou o bogosort
também é uma contribuidora do tal programa licenciado via RPL. Isto
faz com que todos os usuários do tal programa tenham direito de
"**use**, **copy**, distribute, modify, or create derivatives of
either the Software or any Extensions created by a Contributor".

Percebo também que a parte onde diz "**but solely to the extent** that any such
claim is necessary to enable You to make, use, have made, and/or
otherwise dispose of Licensed Software or portions thereof." faz com
que eu fique livre de pagar royalties por ter usado o bogosort na
implementação do código agora licenciado RPL.

Porém, o meu código licenciado sobre outras licenças está ameaçado
pela patente. Se eu quiser usar o meu próprio código isento de
royalties, terá de ser via RPL. Os menos preocupados com a questão da
liberdade, e sim com a questão econômica não dariam a minima. Para
estes basta usar o código licenciado pela RPL e pronto.

Dessa forma você tem uma comunidade trocando códigos e livrando uns
dos outros dos perigos de suas próprias patentes, através de uma
garantia de que quem tiver adotado esta licença estará livre de
ameaças de patentes para usar, fazer, etc, aquele código. Este esquema
é muito parecido com o acordo Novell/M$, mas não vamos falar disso.

Este esquema dá a falsa impressão de que a comunidade que compartilha
via RPL tem uma vantagem com as patentes, e esta mesma vantagem não
acontece com quem não compartilha. Dá a impressão que adotando a RPL,
o sistema de patentes estimula o compartilhamento.

Logo se vê que este esquema combina o uso de patentes de software com
os benefícios do modelo de produção de código aberto, que usa a força
de trabalho de milhares de desenvolvedores pelo mundo exatamente do
seu momento mais produtivo. Aparentemente, as patentes deixariam de
ser uma ameaça e passariam a ser uma vantagem para o modelo do
compartilhamento.

Mas isto é completamente falso. Agora você fala mais um pouco:

O que ela faz é *respeitar* a sua liberdade, carregando a promessa do
licenciante de que não vai ele mesmo impedir o gozo das liberdades
pelo licenciado.

Para as patentes de software detidas pelo licenciante e seus
contribuidores no tocante aos pedaços de códigos licenciados pela RPL,
pois:

"1.7 "Licensed Software" means any Software licensed pursuant to this
License. Licensed Software also includes all previous Extensions from
any Contributor that You receive."


> vamos popar e juntar com "You must also make Your Extensions
> available under this License."

Isso é só copyleft.

Tem uma diferença aí. Ele está exigindo que eu use a MESMA LICENÇA
para distribuir meu código para cada modificação que eu fizer. Isso é
possível através de um laço encadeando várias partes da licença que
levam o meu pedaço de código modificado de um estado para o outro até
que não haja mais como distribuir uma versão modificada do meu código
isolado e original.

O laço é assim:

1) Eu crio uma "Extension" do código RPL ("Modifications", "Derivative
Works", or "Required Components")

2) Esse pedaço de código vira uma  RPL, pois "You hereby agree that
any Modifications, Derivative Works, or Required Components
(collectively Extensions) that You create or to which You contribute
are governed by the terms of this License"

3) Então você não pode mais usar o código a não ser nos termos desta
licença, pois "You are not required to accept this License since you
have not signed it, however nothing else grants you permission to use,
copy, distribute, modify, or create derivatives of either the
Software or any Extensions created by a Contributor. These actions are
prohibited by law if you do not accept this License."

E não existe nenhum mecanismo (que eu tenha encontrado) onde eu possa
isolar novamente o meu código e publicá-los sob os termos que eu achar
mais adequados, para evitar um cenário injusto, por exemplo.

É diferente do que diz na GPL:

"You must cause any work that you distribute or publish, that in whole
or in part contains or is derived from the Program or any part
thereof, to be licensed as a whole at no charge to all third parties
under the terms of this License."
(...)
"If identifiable sections of that work are not derived from the
Program, and can be reasonably considered independent and separate
works in themselves, then this License, and its terms, do not apply to
those sections when you distribute them as separate works."

Que te deixa reunir novamente as suas contribuições e se livrar do
karma de ter modificado o programa.

Ok, vamos voltar ao "imaginemos".

A empresa que patenteou o bogosort está usando código meu como uma
implementação de uma coisa que ela patenteou. Ela agora resolveu
processar todos os usuários dos sistema não-licenciados sob a RPL que
usam o meu código e a sua patente. Eu não acho isso justo, e fico
imaginando qual são suas intenções. No mínimo pode estar acabando com
a diversidade de licenças e colocando o ecossistema do software livre
em risco.

Então eu penso "cara, que sacanagem, vou deixar de atualizar minhas
modificações do libluckybogo". "tenho várias melhorias para fazer no
módulo da sorte, pois se o bogosort não fosse tão sortudo ele não
teria utilidade, e o módulo da sorte é meu, eu sou a atual autoridade
em Quantum bogodynamics." e então "hum, vou aplicar meu módulo da
sorte em outro algorítmo de ordenação de vetores e deixar de atualizar
o libluckbogo, até que a empresa que patenteou o bogosort desista de
processar os usuários de outros licenciamentos e recuperar o
equilíbrio."

Se o código fosse GPL, eu poderia fazer isso, desde que catasse meu
código como um pedaço independente, segundo a GPL "If identifiable
sections of that work are not derived from the Program, and can be
reasonably considered independent and separate works in themselves,
then this License, and its terms, do not apply to those sections when
you distribute them as separate works."

Mas com essa RPL me parece impossível fazer isso. Ela protege os
usuários de RPL das patentes comuns entre os contribuidores, mas
desprotege todo o resto do mundo livre e suas diversas licenças.


> Assim fica impossível separar o joio do trigo. Vamos abrir todos os
> tarballs e procurar por um tal de LEGAL, ler tudo e reclassificar de
> forma a facilitar a separação entre o que é realmente livre e o que
> não é.

Se a licença ao usuário fosse condicionada ao cumprimento das
exigências aplicáveis ao licenciante, então a licença não seria livre,
pois seria o licenciante impondo uma restrição à qual o licenciado
poderia não estar sujeito.

Por exemplo, uma patente de software, aplicável somente nos EUA, pode
exigir que um distribuidor nos EUA adicione uma cláusula LEGAL
indicando que o uso do software exige licença da tal patente de um
terceiro sobre o qual o distribuidor não tem qualquer controle.

Mas se esse distribuidor exigir que todo usuário obtenha uma licença
dessa patente para só então ter permissão para usar o software, eu,
que vivo no Brasil, onde a patente não se aplica, ficaria obrigado a
obter a licença da patente mesmo sem precisar dela.

De fato, separar joio do trigo não é fácil, mas o fato de a licença
solicitar a presença dessas informações não me parece suficiente para
descaracterizá-la como Software Livre.

Na verdade esta licença está sistematizando uma prática errada de se
misturar software livre com não-livre, dando a entender que estas
precausões resolvem o problema de misturar livre com não-livre. É como
se estivesse dizendo "quando você matar alguém, entregue-se à
polícia", dando a entender que entregar-se a polícia resolveria o
problema de matar alguém.



Pra não tomar mais tempo de vocês, sugiro deixar de lado o texto legal
da licença e se concentrar nos termos não-jurídicos do preâmbulo,
particularmente no "You may not" (proibições) e no "You must"
(obrigações).  É aí que tem mais chance de desrespeito às 4
liberdades, certo? ;-)

No preâmbulo tem assim:

" PREAMBLE

This Preamble is intended to describe, in plain English, the nature,
intent, and scope of this License. However, this Preamble is not a part
of this License. The legal effect of this License is dependent only upon
the terms of the License and not this Preamble."

Em "The legal effect of this License is dependent only upon the terms
of the License and not this Preamble." eu entendo que este preâmbulo é
um zero à esquerda. Se a licença tem finalidade jurídica, então a
finalidade desta licença não está aí.


Vou me adiantar a dizer que a porção "You may", sozinha, salvo engano
meu, parece que já dá uma licença de Software Livre, e ainda por cima
copyleft.

É, mas infelismente é um preâmbulo sem valor legal =(

Era só isso. Se ainda não ficou bem explicado eu escrevo de novo com
outros exemplos.


--
Alexandre Oliva         http://www.lsd.ic.unicamp.br/~oliva/
FSF Latin America Board Member         http://www.fsfla.org/
Red Hat Compiler Engineer   [EMAIL PROTECTED], gcc.gnu.org}
Free Software Evangelist  [EMAIL PROTECTED], gnu.org}



--

A ignorância é um mecanismo que capacita um tomate a saber de tudo.


          "Que os fontes estejam com você..."

Glauber Machado Rodrigues
PSL-MA

jabber: [EMAIL PROTECTED]
_______________________________________________
PSL-Brasil mailing list
PSL-Brasil@listas.softwarelivre.org
http://listas.softwarelivre.org/mailman/listinfo/psl-brasil
Regras da lista:
http://twiki.softwarelivre.org/bin/view/PSLBrasil/RegrasDaListaPSLBrasil

Responder a