Entenda os tipos de licença open source e saiba qual usar nos seus projetos

Pachi 🥑 - May 25 '23 - - Dev Community

Se você já criou um repositório no GitHub, deve se lembrar que logo na página de criação do repo, a plataforma pede para que você escolha uma licença, e se você clicar no menu vai ver uma lista enorme!

Mas o que são licenças? Para que preciso de uma? Como escolher a melhor pro meu projeto? Essas perguntas sempre passavam pela minha cabeça, mas eu escolhia a MIT e criava meu projeto sem me preocupar muito com isso.

Mas desde que eu comecei a trabalhar no GitHub, essas perguntas ficaram mais importantes e enquanto explorava licenças e respondia às perguntas da minha mente curiosa, comecei a escrever esse artigo.

O que é e pra que serve uma licença open source?

Você já usou algum software que você pode editar e compartilhar, gratuitamente? Esse software provavelmente é open source, e é graças a licença open source que você pode editá-lo e compartilhar essa edição sem problemas.

A licença open source do projeto dita os termos e condições para o uso daquele software, funcionando como um acordo legal entre quem cria o projeto inicial e quem o usa.

Tipos principais de Licenças: Copyleft e Permissivas

Existem dois tipos principais de licenças open source: Copyleft e Permissivas.

As Permissivas tem poucas restrições do uso do código fonte, enquanto as Copyleft tem mais regras a serem seguidas.

Licença Copyleft

Isso mesmo que você leu, Copyleft e não Copyright. Enquanto uma licença copyright restringe o uso e distribuição de algo, a Copyleft permite o uso e distribuição, mas desde certas condições sejam seguidas.

Você pode usar e distribuir um projeto com licença Copyleft desde que seu trabalho mantenha a mesma licença do projeto inicial, fazendo com que suas modificações sejam distribuídas aberta e gratuitamente, como o projeto inicial.

As licenças Copyleft ainda são subdivididas em duas categorias, strong (forte) e weak (fraca):

- Licenças copyleft fortes

Se um código-fonte for protegido por uma forte licença copyleft, então o software derivado precisa estar disponível publicamente sob a mesma licença. Isso inclui todas as bibliotecas e componentes vinculados dentro do software. Por exemplo, se alguém modifica e distribui software sob uma licença GPL, também deve disponibilizar o código-fonte e licenciar suas modificações sob a mesma licença GPL.

- Licenças copyleft fracas

Os requisitos de uma licença copyleft fraca são semelhantes aos de uma forte, mas se aplicam a um conjunto limitado de códigos. Esta licença de código aberto requer apenas que o código-fonte da obra original ou modificada seja disponibilizado publicamente, enquanto o restante do código usado junto com a obra não precisa ser publicado sob a mesma licença.

Alguns exemplos de licenças Copyleft:

  • GNU General Public License (GPL) - strong

  • Mozilla Public License (MPL) - weak

  • Eclipse Public License (EPL) - weak

Licença Permissiva

Esse tipo de licença dá muita flexibilidade no uso e distribuição do projeto open source, porque elas têm poucas restrições de uso e distribuição. Com essa licença, pessoas usuárias são livres para usar seu software como quiserem, podendo até usá-lo para fins comerciais, sem terem a obrigação de utilizar a mesma licença.

Alguns exemplos de licenças Permissivas:

  • MIT

  • Apache 2.0

  • BSD

Como escolher a melhor licença para seu projeto

Mas e aí, como a gente faz pra escolher o melhor tipo de licença para nosso projeto?

Se você deseja tornar seu código reutilizável e compartilhável, mas garantindo que seu código e seus derivados vão estar sempre acessíveis gratuitamente, você deve escolher uma licença Copyleft. Dessa forma, outras pessoas podem fazer quase tudo o que quiserem com o código, menos distribuir versões de código fechado.

Se você deseja torná-lo fácil e permissivo, para permitir que as pessoas façam o que quiserem com seu código, incluindo a publicação do trabalho derivado como proprietário, você deve optar por uma licença Permissiva.

E se meu projeto não tem licença?

Se o seu projeto não tem nenhuma licença atualmente, ninguém pode usá-lo legalmente, mesmo que seja público e visível para todo o mundo.

Podem usar esse projeto sem uma licença? Sim. Mas não é legal, tecnicamente, portanto, a maioria das empresas e organizações sem fins lucrativos não poderá utilizar seu software até que você adicione uma licença.

Como adicionar a licença ao seu projeto

Agora que você já sabe o que é uma licença open source, para que ela serve e qual o tipo ideal para o seu projeto, vamos adicioná-la ao seu projeto.

Se você ainda não criou o repositório desse projeto, na página inicial de criação de repositório o GitHub vai te dar um menu com várias opções de Licenças para você escolher.

exemplo

Se seu projeto já existe, você precisa criar no root do repositório um arquivo com o nome LICENSE.

Aqui você tem a opção de:

  1. Clicar em Choose a license template, que vai te levar para uma página com várias opções de licenças para você escolher OU

  2. Você pode ir no site da licença de sua escolha, copiar a licença e colar nesse arquivo LICENSE.

exemplo

Não importa o método que você escolheu, se tudo estiver certinho, quando você voltar para a página principal do repositório, vai ver que sua licença está disponível na sessão About, na coluna direita do repo, com o ícone de balança:

exemplo

Como pessoa usuária, se você tem a intenção de editar e distribuir um projeto open source, não esqueça de ler a licença antes para não correr o risco de ter problemas no futuro!

Conclusão

Licenças Open Source são super importantes para qualquer repositório de código aberto, e hoje aprendemos que existem dois tipos principais de licenças: Copyleft e Permissiva, sendo a Permissiva, como o próprio nome diz, a mais permissiva das opções enquanto a Copyleft tem algumas restrições para garantir que qualquer produto do seu projeto continue open source.

Hoje deixo para vocês o desafio de olhar nos seus repositórios principais do GitHub se eles tem licença, e caso sim, se o tipo de licença que eles tem atualmente é o melhor, ou se assim como eu, você apenas colocou MIT em tudo haha

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .