Existem muitos tipos de licenças de software e as penalidades por violação de licença podem ser severas. Se você optar por reutilizar um componente sem seguir suas obrigações de licenciamento, o licenciante tem todo o direito de processá-lo e você pode ser forçado a publicar seu próprio código-fonte.

Para proteger seu código e sua organização, você deve compreender essas licenças de software antes de usar qualquer código, incluindo bibliotecas e estruturas, que você não tenha escrito.

Se você escrever código, também o reutilizará, incluindo fragmentos de código, bibliotecas, funções, estruturas e aplicativos inteiros. Todo código de software vem com certos direitos e obrigações se você quiser adicioná-lo à sua base de código.

O Software Livre e de Código Aberto (FOSS) é gratuito, mas você não está livre para usá-lo como quiser. Mesmo trechos de código não licenciados copiados do Stack Overflow têm obrigações de reutilização.

Você também pode ler: Para que serve a assinatura eletrônica?

O que é uma licença de software?

Uma licença de software é um instrumento legal que permite aos consumidores usar ou redistribuir software. Sem o contrato de licença, o uso do software constituiria uma violação da lei de direitos autorais. O contrato de licença específico explicará ao usuário final como ele pode usar o software.

Todo software deve ser licenciado legalmente antes de ser instalado. As licenças de software ficam confusas nos diferentes tipos de licenças e nos direitos associados às várias licenças.

Quais são os diferentes tipos de licenças de software?

Aqui estão cinco tipos de modelos de licença de software comuns que você deve conhecer. Quatro são exemplos de licenças de código aberto (que permitem a reutilização de código até certo ponto) e uma proíbe qualquer tipo de reutilização.

Quais são os diferentes tipos de licenças de software
Quais são os diferentes tipos de licenças de software

1. Domínio público.

Este é o tipo de licença de software mais permissivo. Quando o software é de domínio público, qualquer pessoa pode modificá-lo e usá-lo sem quaisquer restrições. Mas você deve sempre se certificar de que é seguro antes de adicioná-lo ao seu próprio código. Aviso: o código que não é explicitamente licenciado NÃO é automaticamente de domínio público. Isso inclui trechos de código encontrados na Internet.

2. Permissivo.

As licenças permissivas também são conhecidas como “estilo Apache” ou “estilo BSD”. Eles contêm requisitos mínimos sobre como o software pode ser modificado ou redistribuído. Este tipo de licença de software é talvez a licença mais popular usada com software livre e de código aberto. Além da Licença Apache e da Licença BSD, outra variante comum é a Licença MIT.

3. LGPL.

A GNU Lesser General Public License permite vincular bibliotecas de código aberto em seu software. Se você simplesmente compilar ou vincular uma biblioteca licenciada LGPL com seu próprio código, poderá liberar seu aplicativo sob qualquer licença que desejar, até mesmo uma licença proprietária. Mas se você modificar a biblioteca ou copiar partes dela em seu código, terá que liberar seu aplicativo em termos semelhantes aos da LGPL.

4. Copyleft.

As licenças Copyleft também são conhecidas como licenças recíprocas ou licenças restritivas. O exemplo mais conhecido de copyleft ou licença recíproca é a GPL. Essas licenças permitem que você modifique o código licenciado e distribua novos trabalhos com base nele, desde que novos trabalhos ou adaptações sejam distribuídos sob a mesma licença de software.

Por exemplo, uma licença de componente pode dizer que o trabalho é gratuito para uso e distribuição apenas para uso pessoal. Portanto, quaisquer derivados que você criar também serão limitados ao uso pessoal apenas. (Um derivado é qualquer novo software desenvolvido por você que contenha o componente.)

O problema aqui é que os usuários do seu software também têm o direito de modificar o código. Portanto, você teria que disponibilizar seu próprio código-fonte. Mas é claro que expor seu código-fonte pode não ser do seu interesse.

5. Proprietário.

De todos os tipos de licenças de software, esta é a mais restritiva. A ideia por trás disso é que todos os direitos são reservados. Geralmente é usado para software proprietário em que o trabalho não pode ser modificado ou redistribuído.

Como posso saber quais licenças se aplicam ao meu código de banco de dados?

Antes de determinar quais licenças regem qualquer código reutilizado em seu banco de dados de código, você precisa criar uma lista de materiais de software ou uma lista de todos os componentes de seu código. E a maneira mais rápida de gerar essa lista é com uma ferramenta de análise de composição de software.

Uma boa ferramenta SCA pode localizar componentes completos, bem como fragmentos de código, e informará quais licenças se aplicam a cada parte do código e se você pode estar usando licenças conflitantes.

Como posso saber quais licenças se aplicam ao meu código de banco de dados
Como posso saber quais licenças se aplicam ao meu código de banco de dados

Métodos de licenciamento de software

Um contrato de licença de usuário final (EULA) é uma abordagem que os fornecedores podem adotar para licenciar seu software. Este é um contrato entre o licenciante e o comprador, que estabelece o direito do comprador de usar o software. O contrato pode incluir as diferentes formas em que o software pode ser usado, bem como os direitos que o comprador obteve ao adquirir o software.

Se você estiver usando SaaS e, como resultado, seus aplicativos forem baseados em nuvem, a licença do software geralmente é baseada em uma assinatura. Ou seja, você pagará por cada usuário mensalmente (ou em algum outro período). Este tipo de licença de software oferece maior flexibilidade. É também benéfico no sentido de que só paga pelo que necessita “, o que lhe permite expandir o seu negócio sem repercussões.

Você também pode ler: Como alterar o nome de usuário no Windows 10

Também há a questão de saber se você pode revender sua licença de software se não usá-la mais. Não há uma resposta em preto e branco para essa pergunta. A resposta geralmente pode ser encontrada no EULA.

Do ponto de vista legal, pode haver dúvidas sobre a aplicabilidade do EULA dado aos usuários após a compra do software, uma vez que eles não estavam cientes dessas condições no momento em que o contrato foi firmado. No entanto, não vou entrar em detalhes sobre questões de direito.

Outro método de licenciamento de software é por meio do rótulo branco. Isso ocorre quando um produto é criado por uma empresa e, em seguida, renomeado por outra empresa. Como resultado, o software / produto pertence à empresa que o criou. Existe uma licença de software que permite que a empresa beneficiária de etiqueta branca use o software.