Neste artigo, falaremos um pouco sobre direitos autorais, mas principalmente sobre a escolha de uma licença livre para um framework RAD e para produtos open source baseados nele. Iremos falar sobre a licença permissiva Apache 2.0, sobre o que nos levou a ela e com quais soluções nos deparamos ao longo do caminho.
O processo de escolha da licença é bastante trabalhoso e deve ser abordado com certo conhecimento prévio; se você não possui formação jurídica, então está diante de um vasto campo de informações sobre diversas licenças livres. O principal é estabelecer uma série de critérios restritivos. Durante a discussão e reflexão, você e sua equipe poderão entender o que desejam permitir aos usuários do seu produto e o que proibir. Quando você já tiver uma descrição, será necessário aplicá-la às licenças existentes e destacar a que possui o maior número de pontos em comum. Parece simples, mas na realidade, muitas vezes, mesmo após a discussão, permanecem perguntas.

Primeiro — um link para , um site útil que usamos ativamente. Preste especial atenção à de licenças em 13 critérios principais. Que a sorte e a paciência estejam com você.
As dores da escolha
Começaremos com as características gerais das licenças para . O software livre implica exclusivamente uma licença livre que não limita a distribuição comercial e não comercial sob o modelo . Assim, ao disponibilizar software sob uma licença livre, não se pode restringir totalmente sua transferência, distribuição e venda por terceiros, e você deve se preparar moralmente para isso.
Uma licença livre concede ao usuário o direito de participar da engenharia reversa do software ou alterá-lo de outras maneiras disponíveis. A maioria das licenças não permite rebatizar o produto ou realizar qualquer manipulação que altere os direitos do autor e/ou do proprietário do sistema.
As principais questões que nos interessavam sobre licenças livres eram:
- Alterações feitas no software devem ser registradas e não têm nenhuma relação com o titular dos direitos do sistema?
- O nome do software derivado não deve ser igual ao nome do software do titular dos direitos?
- É possível mudar a licença para versões novas, inclusive para uma licença proprietária?
Depois de examinar atentamente a lista das licenças mais comuns, escolhemos algumas que analisamos mais detalhadamente. Licenças potenciais para foram: GNU GPLv3, Apache 2.0, MIT e MРL. MIT praticamente imediatamente excluímos, pois é uma licença permissiva sem copyleft, que permite o uso, modificação e distribuição do código praticamente como quiser, mas essa opção não nos interessava; queríamos que a licença regulasse a relação entre o titular dos direitos e o usuário. A maioria dos projetos menores no GitHub está sob a licença MIT ou suas variações. A própria licença é muito curta, e a única restrição é a atribuição do autor do software.
A seguinte foi a licença MPL 2.0. Para ser honesto, não chegamos a ela imediatamente, mas após uma análise mais detalhada rapidamente a excluímos, uma vez que a principal desvantagem é que a licença se aplica apenas a arquivos específicos, e se o usuário modificar um arquivo, não poderá alterar a licença. De fato, por mais que você se esforce para modificar um projeto de código aberto, você não conseguirá monetizá-lo por causa dessa licença. Isso, aliás, não se aplica ao titular dos direitos.
Um problema semelhante persiste com a licença GNU GPLv3. Ela exige que qualquer arquivo permaneça sob a mesma licença. A GNU GPL é uma licença copyleft que exige que o código-fonte das obras derivadas seja aberto e permaneça sob essa mesma licença. Ou seja, ao reescrever duas linhas de código, você será obrigado a registrar suas mudanças e, ao usar ou distribuir posteriormente, manter o código sob a GNU GPL. Nesse caso, isso é um fator limitante para o usuário do nosso projeto, e não para nós. Mas a mudança de GPL para qualquer outra licença é proibida, mesmo dentro das versões da GPL. Por exemplo, se você mudar LGPL (uma extensão da GPL) para GPL, não haverá retorno à LGPL. E este ponto foi decisivo na votação contra.
No geral, nossa escolha inicialmente tendia para GPL3 isso se deve à distribuição de código modificado sob a mesma licença. Pensávamos que assim poderíamos proteger nosso produto, mas vimos menos riscos na Apache 2.0. De acordo com a Free Software Foundation, a GPLv3 é compatível com a Apache License v2.0, ou seja, sempre há a possibilidade de mudar a licença de Apache License v2.0 para GPL v3.0.
Apache 2.0
— uma licença permissiva equilibrada com foco nos direitos autorais. Aqui estão as respostas que ela forneceu para as perguntas que nos interessam. As alterações no software devem ser documentadas e não têm relação com o titular dos direitos do sistema? Sim, todas as alterações devem ser documentadas e não somos responsáveis nem pelo código original, nem pelo alterado. Um arquivo com as alterações deve ser anexado ao código em que você fez essas modificações. O nome do software derivado não deve coincidir com o nome do software do titular dos direitos? Sim, o software derivado deve ser lançado sob um nome diferente e sob uma marca diferente, mas indicando a autoria do titular dos direitos. É permitido mudar a licença para quaisquer novas versões para outra, inclusive para proprietária? Sim, é possível lançar sob diferentes licenças; a Apache 2.0 não limita a aplicação de licenças não comerciais e comerciais.
Além disso, ao lançar novos produtos baseados em código aberto sob Apache 2.0 ou produtos de funcionalidade adicional, não é obrigatório usar a mesma licença. Abaixo, você pode ver uma imagem com os termos e limitações da licença Apache 2.0.

A licença impõe a exigência de manter e mencionar os direitos autorais e a licença sob a qual o software é lançado. A presença obrigatória do aviso de copyright com o nome do titular dos direitos e a licença protege os direitos do autor original do software, pois mesmo que ele seja renomeado, cedido ou vendido sob outra licença, o sinal do autor ainda permanecerá. Para isso, também pode ser utilizado o arquivo NOTICE e anexá-lo ao código-fonte ou à documentação do projeto.
Estamos lançando publicamente no GitHub todos os nossos produtos sob a licença Apache 2.0, exceto , cujo código-fonte foi publicado em abril deste ano sob a licença GPLv3 no GitHub pelo Centro de Tecnologias Sociais do Extremo Oriente. Até o momento, além do próprio e seu foram publicados feito sobre o framework. Já falamos sobre isso no Habr. e sobre .
Detalhes técnicos sobre o framework
IONDV. Framework – um framework open-source em node.js para a criação de aplicações web de alto nível com base em metadados, que não requer habilidades avançadas em programação.
A base da funcionalidade do aplicativo é o registro de dados – o módulo Registry. Este é um módulo chave, projetado para trabalhar diretamente com dados baseados em estruturas de metadados – incluindo a gestão de projetos, programas, eventos, entre outros. O projeto também utiliza um módulo de portal para exibir templates de dados personalizados – nele está implementada a interface do registro de arquivos arquivados.
Para o SGBD, utiliza-se MongoDB – onde são armazenadas as configurações do aplicativo, metadados e os próprios dados.
Como aplicar a licença ao seu projeto?
Adicione um arquivo LICENSE com o texto da licença no repositório do seu projeto e voilà, o projeto está protegido pela Apache 2.0. É necessário indicar o titular dos direitos, que é o aviso de copyright. Isso pode ser feito no código fonte ou no arquivo NOTICE (um arquivo de texto que lista todas as bibliotecas licenciadas sob a licença Apache junto com os nomes de seus criadores). O arquivo deve ser colocado no código fonte ou na documentação distribuída junto com o trabalho. Aqui está um exemplo:
Copyright © 2018 LLC «ION DV».
Licenciado sob a Licença Apache, Versão 2.0
Texto da Licença Apache 2.0
Licença Apache
Versão 2.0, Janeiro de 2004
TERMOS E CONDIÇÕES PARA USO, REPRODUÇÃO E DISTRIBUIÇÃO
Definições.
«Licença» significa os termos e condições para uso, reprodução,
e distribuição conforme definido nas Seções 1 a 9 deste documento.«Licenciante» significa o proprietário dos direitos autorais ou a entidade autorizada pelo
proprietário dos direitos autorais que está concedendo a Licença.«Entidade Legal» significa a união da entidade em operação e todas
outras entidades que controlam, são controladas por ou estão sob controle comum
com essa entidade. Para os fins desta definição,
«controle» significa (i) o poder, direto ou indireto, de causar a
direção ou gestão de tal entidade, seja por contrato ou
de outra forma, ou (ii) a posse de cinquenta por cento (50%) ou mais das
ações em circulação, ou (iii) propriedade benéfica de tal entidade.«Você» (ou «Seu») significa uma pessoa ou Entidade Legal
exercendo permissões concedidas por esta Licença.A forma «Fonte» significa a forma preferida para fazer modificações,
incluindo, mas não se limitando a, código fonte de software, documentação
fonte e arquivos de configuração.A forma «Objeto» significa qualquer forma resultante de transformação
ou tradução mecânica de uma forma Fonte, incluindo, mas
não se limitando a código objeto compilado, documentação gerada,
e conversões para outros tipos de mídia.«Trabalho» significa a obra de autoria, seja em forma Fonte ou
Objeto, disponibilizada sob a Licença, conforme indicado por um
aviso de copyright que está incluído ou anexado ao trabalho
(um exemplo é fornecido no Apêndice abaixo).«Obras Derivadas» significa qualquer obra, seja em forma Fonte ou Objeto
forma, que é baseada (ou derivada) da Obra e para a qual a
revisões editoriais, anotações, elaborações ou outras modificações
representam, como um todo, uma obra original de autoria. Para os fins
desta Licença, Obras Derivadas não incluirão obras que permaneçam
separáveis de, ou meramente vinculem (ou liguem por nome) às interfaces da
Obra e das Obras Derivadas dela.«Contribuição» significa qualquer trabalho de autoria, incluindo
a versão original da Obra e quaisquer modificações ou adições
a essa Obra ou às Obras Derivadas dela, que é intencionalmente
submetido ao Licenciante para inclusão na Obra pelo proprietário dos direitos autorais
ou por um indivíduo ou Entidade Legal autorizada a submeter em nome do
proprietário dos direitos autorais. Para os fins desta definição, «submetido»
significa qualquer forma de comunicação eletrônica, verbal ou escrita enviada
ao Licenciante ou seus representantes, incluindo, mas não se limitando a
comunicações em listas eletrônicas, sistemas de controle de código-fonte,
e sistemas de rastreamento de problemas que são geridos por ou em nome do
Licenciante para discutir e melhorar a Obra, mas
excluindo comunicações que estejam conspicuamente marcadas ou de outra forma
designadas por escrito pelo proprietário dos direitos autorais como «Não uma Contribuição.»«Contribuidor» significa o Licenciante e qualquer indivíduo ou Entidade Legal
em nome de quem uma Contribuição foi recebida pelo Licenciante e
subsequentemente incorporada dentro da Obra.Concessão de Licença de Direitos Autorais. Sujeito aos termos e condições de
esta Licença, cada Contribuidor, por este meio, concede a Você uma licença de direitos autorais
perpétua, mundial, não exclusiva, sem royalties, irrevogável
para reproduzir, preparar Obras Derivadas de,
exibir publicamente, executar publicamente, sublicenciar e distribuir a
Obra e tais Obras Derivadas em forma de Código Fonte ou Objeto.Concessão de Licença de Patente. Sujeito aos termos e condições de
esta Licença, cada Contribuidor, por este meio, concede a Você uma licença de direitos autorais
perpétua, mundial, não exclusiva, sem royalties, irrevogável
(exceto conforme declarado nesta seção) licença de patente para fazer, ter feito,
usar, oferecer para venda, vender, importar e de outra forma transferir a Obra,
onde tal licença se aplica apenas às reivindicações de patente licenciáveis
por tal Contribuidor que são necessariamente infringidas por suas
Contribuições isoladamente ou pela combinação de suas Contribuições
com a Obra à qual tais Contribuições foram submetidas. Se Você
instituir litígios de patentes contra qualquer entidade (incluindo uma
contra-reclamação ou contrarreclamação em um processo judicial) alegando que a Obra
ou uma Contribuição incorporada dentro da Obra constitui violação de patentes direta
ou contributiva, então quaisquer licenças de patentes
concedidas a Você sob esta Licença para essa Obra terminarão
na data em que tal litígio for apresentado.Redistribuição. Você pode reproduzir e distribuir cópias da
Obra ou Obras Derivadas dela em qualquer meio, com ou sem
modificações, e em forma de Código Fonte ou Objeto, desde que Você
atenda às seguintes condições:(a) Você deve fornecer a qualquer outro destinatário da Obra ou
Obras Derivadas uma cópia desta Licença; e(b) Você deve causar que quaisquer arquivos modificados exibam avisos proeminentes
dizendo que Você alterou os arquivos; e(c) Você deve reter, na forma de Código Fonte de quaisquer Obras Derivadas
que Você distribuir, todos os avisos de direitos autorais, patentes, marcas e
atribuição da forma de Código Fonte da Obra,
excluindo aqueles avisos que não se referem a parte alguma da
Obra Derivada; e(d) Se a Obra incluir um arquivo de texto «NOTICE» como parte de sua
distribuição, então quaisquer Obras Derivadas que Você distribuir devem
incluir uma cópia legível dos avisos de atribuição contidos
dentro desse arquivo de NOTIFICAÇÃO, excluindo aqueles avisos que não
se referem a parte alguma das Obras Derivadas, em pelo menos um
dos seguintes locais: dentro de um arquivo de texto NOTICE distribuído
como parte das Obras Derivadas; dentro da forma de Código Fonte ou
documentação, se fornecida junto com as Obras Derivadas; ou,
dentro de uma exibição gerada pelas Obras Derivadas, se e
onde tais avisos de terceiros normalmente aparecem. O conteúdo
do arquivo NOTICE são apenas para fins informativos e
não modifique a Licença. Você pode adicionar sua própria atribuição
notificações dentro das Obras Derivadas que você distribuir, ao lado
ou como um adendo ao texto da NOTÍCIA da Obra, desde que
tais notificações de atribuição adicionais não podem ser interpretadas
como uma modificação da Licença.Você pode adicionar sua própria declaração de copyright às suas modificações e
pode fornecer termos e condições de licença adicionais ou diferentes
para uso, reprodução ou distribuição de suas modificações, ou
para qualquer uma dessas Obras Derivadas como um todo, desde que seu uso,
reprodução e distribuição da Obra cumpra com
as condições declaradas nesta Licença.Submissão de Contribuições. A menos que você declare explicitamente o contrário,
qualquer Contribuição intencionalmente enviada para inclusão na Obra
por você ao Licenciante será sob os termos e condições da
nesta Licença, sem quaisquer termos ou condições adicionais.
Não obstante o acima, nada aqui deve revogar ou modificar
os termos de qualquer contrato de licença separado que você possa ter assinado
com o Licenciante a respeito de tais Contribuições.Marcas Registradas. Esta Licença não concede permissão para usar os
nomes comerciais, marcas registradas, marcas de serviço ou nomes de produtos do Licenciante,
exceto conforme necessário para uso razoável e costumeiro ao descrever a
origem da Obra e reproduzir o conteúdo do arquivo NOTICE.Isenção de Garantia. A menos que exigido por lei aplicável ou
acordado por escrito, o Licenciante fornece a Obra (e cada
Contribuinte fornece suas Contribuições) em uma BASE "COMO ESTÁ",
SEM GARANTIAS OU CONDIÇÕES DE QUALQUER TIPO, seja expressa ou
implícita, incluindo, sem limitação, quaisquer garantias ou condições
de TITULO, NÃO-INFRAÇÃO, COMERCIALIZAÇÃO, ou ADEQUAÇÃO PARA UM
PROPÓSITO ESPECÍFICO. Você é o único responsável por determinar a
adequação de usar ou redistribuir a Obra e assume quaisquer
riscos associados ao seu exercício de permissões sob esta Licença.Limitação de Responsabilidade. Em nenhum caso e sob nenhuma teoria legal,
seja em delito (incluindo negligência), contrato, ou de outra forma,
a menos que exigido por lei aplicável (como atos deliberados e grosseiramente
negligentes) ou acordado por escrito, qualquer Contribuinte será
responsável a você por danos, incluindo quaisquer danos diretos, indiretos, especiais,
acidentais ou consequenciais de qualquer natureza ocorrendo como um
resultado deste Licença ou do uso ou incapacidade de usar a
Obra (incluindo, mas não se limitando a danos por perda de boa vontade,
interrupção do trabalho, falha ou mau funcionamento do computador, ou quaisquer e todos
outros danos ou perdas comerciais), mesmo que tal Contribuinte
tenha sido avisado da possibilidade de tais danos.Aceitando Garantia ou Responsabilidade Adicional. Ao redistribuir
a Obra ou Obras Derivadas dela, você pode optar por oferecer,
e cobrar uma taxa por, aceitação de suporte, garantia, indenização,
ou outras obrigações e/ou direitos de responsabilidade consistentes com esta
Licença. No entanto, ao aceitar tais obrigações, você pode agir apenas
em seu próprio nome e sob sua exclusiva responsabilidade, não em nome
de qualquer outro Contribuinte, e somente se você concordar em indenizar,
defender e isentar cada Contribuinte de qualquer responsabilidade
incorrida por, ou reivindicações feitas contra, tal Contribuinte em razão
de sua aceitação de qualquer garantia ou responsabilidade adicional.FIM DOS TERMOS E CONDIÇÕES
APÊNDICE: Como aplicar a Licença Apache ao seu trabalho.
Para aplicar a Licença Apache ao seu trabalho, anexe o seguinte
aviso padrão, com os campos delimitados por colchetes «[]»
substituídos por suas próprias informações identificativas. (Não inclua
os colchetes!) O texto deve estar inserido na sintaxe de comentário apropriada
para o formato do arquivo. Também recomendamos que um
nome de arquivo ou classe e descrição do propósito sejam incluídos na
mesma «página impressa» que o aviso de copyright para fácil
identificação dentro de arquivos de terceiros.Copyright [yyyy] [nome do proprietário dos direitos autorais]
Licenciado sob a Licença Apache, Versão 2.0 (a «Licença»);
não é permitido usar este arquivo exceto em conformidade com a Licença.
Você pode obter uma cópia da Licença emExceto quando exigido por lei aplicável ou acordado por escrito, o software
distribuído sob a Licença é distribuído em uma BASE «AS IS»,
SEM GARANTIAS OU CONDIÇÕES DE QUALQUER TIPO, expressas ou implícitas.
Veja a Licença para a linguagem específica que rege permissões e
limitações sob a Licença.
Licença = contrato
Uma licença livre, embora seja livre, não permite a total liberdade e já apresentamos exemplos de restrições. Escolha a licença considerando tanto seus interesses quanto os do usuário, porque o software aberto é projetado exatamente para ele. O usuário do projeto deve ver a licença como um tipo de contrato entre ele e o titular dos direitos, portanto, antes de realizar qualquer ação sobre o código fonte, estude cuidadosamente as restrições impostas pela licença do projeto.
Esperamos que tenhamos iluminado um pouco o tema das licenças e, apesar da complexidade da questão, ela não deve ser um obstáculo em seu caminho para o Open Source. Desenvolva seu projeto e não se esqueça dos direitos, seus e dos outros.
Links Úteis
Por fim, aqui estão alguns recursos úteis que nos ajudaram a encontrar informações sobre as licenças existentes e a escolher a mais adequada para nossos objetivos:
- Super útil de
Fonte: habr.com
