4. Informações de licenciamento do Taler#

Este ficheiro apresenta uma visão geral do licenciamento de todos os componentes Taler e das respectivas dependências em tempo de execução. Um «componente», neste contexto, deve ser lido como um conjunto de ficheiros fonte que podem ser obtidos a partir de um único repositório Git. Se os componentes consistirem em fontes sob diferentes regimes de licenciamento, ou seja, porque queremos permitir que os desenvolvimentos de terceiros se integrem facilmente com o Taler, estes também são descritos.

Todos os componentes são geralmente lançados sob Lesser GPL, GPL ou Affero GPL. A estratégia principal é que as bibliotecas que terceiros possam precisar integrar com o Taler estejam sob a LGPL, que os binários e casos de teste independentes estejam sob a GPL e que os servidores Web que implementam serviços Web e APIs REST estejam sob a AGPL. O código trivial (como a lógica de compilação) também é ocasionalmente colocado no domínio público. As legislações que não têm um domínio público devem considerar esse código como estando sob a LGPL.

O projeto foi inicialmente iniciado com base no código e na documentação da GNUnet e.V. e do INRIA, e continua a ser desenvolvido pela comunidade GNUnet e pela Taler Systems SA. A INRIA e a GNUnet e.V. cederam ou partilharam os seus direitos de autor com a Taler Systems SA. Assim, deve geralmente dizer-se que o código tem direitos de autor da Taler Systems SA.

Estamos também a trabalhar de perto com o pacote GNU Anastasis. Aqui, a mesma partilha de direitos de autor está em vigor entre os programadores originais da BFH e da GNUnet e.V., exceto que os direitos de autor foram atribuídos ou partilhados com a Anastasis SARL. Existem acordos que permitem aos programadores mover livremente o código entre GNU Anastasis, GNUnet e GNU Taler se tal for tecnicamente justificado (note-se que todos os programadores têm de assinar o acordo de contribuição de direitos de autor da GNUnet e.V.).

Note que este ficheiro pode estar desatualizado. Em caso de dúvida, por favor contacte os mantenedores do GNU envolvidos (atualmente Florian Dold, Christian Grothoff e Martin Schanzenbach), uma vez que eles geralmente têm a responsabilidade e o direito de determinar a licença apropriada para componentes individuais. (Esse direito é tecnicamente concedido e limitado pelos acordos de direitos autorais assinados por contribuidores individuais e possivelmente sujeito a processos de decisão dentro da Anastasis SARL, GNUnet e.V. e Taler Systems SA. No entanto, na prática, isto nunca foi um problema, pois até agora todos concordam com a estratégia de licenciamento e os mantenedores apenas farão pequenos ajustes para implementar consistentemente essa estratégia quando surgirem problemas, tais como código movendo-se entre componentes licenciados LGPL, GPL e AGPL ou desenvolvedores acidentalmente usando a licença errada em um cabeçalho).

4.1. Seguindo a AGPL#

O principal objetivo da AGPL é exigir que um fornecedor de serviços torne o código fonte do serviço facilmente acessível a todos os utilizadores desse serviço.

Para GNUnet, GNU Taler e GNU Anastasis, nós estamos realizando este requisito através da implementação de um endpoint /agpl/ que direciona os usuários da API para o código fonte (seja um TGZ ou um redirecionamento para o repositório Git) do componente e suas dependências (nós acreditamos que é aceitável não incluir dependências não modificadas que já estão facilmente disponíveis e podem ser encontradas em outro lugar). O código fonte (tal como definido na GPL) deve então ser descarregado gratuitamente e sem controlo de acesso a partir desse endereço, numa forma adequada para desenvolvimento (ou seja, incluindo sistema de compilação e instruções). Todas as restrições usuais de distribuição de código sob a GPL também se aplicam.

Ao implantar fontes que foram modificadas a partir das versões upstream lançadas pelo GNU, você deve atualizar o endpoint /agpl/ para apontar para o código fonte modificado. Note que você deve sempre disponibilizar o código da versão realmente implantada, que inclui personalizações, extensões, integrações ou melhorias de segurança ou correções de bugs.

4.2. Seguindo a GPL#

A GPL exige que disponibilize o código fonte do respetivo programa a todos os utilizadores que possam estar a executar o programa. Isto inclui novamente quaisquer personalizações (marca, temas, extensões, integrações ou melhorias de segurança ou correcções de erros) que possa ter feito. O código-fonte do programa modificado deve ser novamente lançado ao abrigo da GPL e deve ser razoavelmente fácil de encontrar gratuitamente por todos os utilizadores do seu programa.

Ao enviar binários de versões não modificadas dos lançamentos GNU, isto é satisfeito pois o GNU torna as fontes disponíveis através dos repositórios Git do projeto e dos espelhos FTP do projeto GNU. Continua a ser-lhe pedido que disponibilize a outros qualquer lógica de empacotamento que tenha escrito para criar os binários.

4.3. Seguindo a LGPL#

Para seguir a LGPL, basicamente faz tudo o que precisa de fazer ao abrigo da GPL no que diz respeito às fontes que lhe foram fornecidas.

No entanto, é-lhe permitido integrar o código fornecido sob a LGPL com outro código que não esteja sob a LGPLv3+. No entanto, as modificações ao nosso código existente devem permanecer sob a LGPLv3+, e encorajamo-lo vivamente a lançar todo o seu código sob uma licença FLOSS apropriada.

4.4. Tutoriais (git://git.taler.net/tutorials)#

A especificação foi originalmente desenvolvida pelo INRIA e por indivíduos que estão sob o sujeito jurídico chamado “GNUnet e.V.”. Para cada ficheiro fonte, o cabeçalho indica quem detém os direitos de autor, uma vez que algumas partes foram retiradas «verbatim» da fundação GNUnet e.V., e outras foram desenvolvidas no INRIA ou na Taler Systems SA «ex novo».

Geralmente, a licença GNU GPLv3 é usada para eles; veja COPYING.GPL.