Como escolher uma licença para seu projeto

Como escolher uma licença para seu projeto
Imagem de destaque #cover

Há algum tempo, desenvolvi um projeto em Python de gerador de dados aleatórios de um cidadão brasileiro, chamado cidadaobr. O intuito do projeto era que outros desenvolvedores pudessem usar para testes de aplicações, como em simulações de cadastros de clientes de algum serviço, por exemplo.

Para compartilhar com a comunidade, coloquei o código em um repositório no GitHub, para que todo mundo pudesse usar… ou era isso que eu pensava!

Meu código ganhou um pouco de popularidade e logo recebi mensagens de alguns desenvolvedores pedindo permissão de uso do programa.

Na hora que li as mensagens, fiquei confuso! Mas ué, eu até pus no GitHub para todo mundo usar, por que será que eles estão vindo me pedir permissão? Perguntei e me explicaram: o código não tinha licença!

A necessidade de uma licença

Quando passamos pelo processo de publicar um pacote Python no PyPI, entendemos um pouco a necessidade de se ter uma licença definida para nosso projeto.

Na verdade, em algumas jurisdições, é até proibido usar um software que não tenha licença definida sem a autorização expressa do dono dele! Bem, isso realmente não é o que queremos…

Então vamos definir uma licença! Mas… qual? Será que vamos precisar contratar um advogado para isso? Bom, tratando-se de temas jurídicos, pode ser o caso procurar ajuda de um advogado, mas não é necessário!

O pessoal do GitHub, com o apoio da comunidade, criou uma ferramenta web muito bacana, que nos ajuda a escolher uma licença para nosso projeto - o choosealicense.com. Nele, temos uma breve explicação de algumas das principais licenças que podemos usar, o que já nos ajuda muito! De cara, vi três que me chamaram a atenção:

Banner da promoção da black friday, com os dizeres: A Black Friday Alura está chegando. Faça parte da Lista VIP, receba o maior desconto do ano em primeira mão e garanta bônus exclusivos. Quero ser VIP

GNU General Public License v3.0 (GNU GPLv3)

A GNU GPLv3 permite que meu software seja usado e distribuído, contanto que, quando distribuído, o código fonte esteja abertamente disponível.

Essa licença também exige uma cópia dela mesma, com um aviso de copyright, sempre que o software for distribuído de alguma forma.

Se houver alguma modificação no código de nosso software, essa licença faz com que essas modificações tenham que ser lançadas com uma licença no mínimo similar. Além do mais, qualquer mudança no código tem que ser documentada.

Achei a licença interessante, mas com regras demais. Será que existem outras mais livres?

The Unlicense

The Unlicense é uma licença cheia de permissões, com nenhuma condição. Qualquer pessoa é livre para copiar, modificar, publicar, usar, vender ou distribuir nosso software de qualquer maneira possível, sem nenhuma pendência.

Apesar de não trazer mais as complicações de muitas regras da GNU GPLv3, senti que essa licença poderia ser um pouco prejudicial para mim, já que ela não exige nem mais um aviso de copyright ou cópia dela mesma. E agora?

Licença MIT

A MIT é uma licença que se encaixa muito bem nos meus objetivos. No geral, é bem permissiva, sendo o requisito uma atribuição de volta a mim, com um aviso de copyright, e uma cópia dela incluída.

Essa licença não carrega muitas regras e também não chega a me prejudicar em nada, atribuindo meu trabalho a mim. Assim, percebi que era, de fato, a que melhor se encaixa para meus objetivos. Em meu projeto, então, defini o uso dela!

Licenciando o projeto em prol da comunidade!

No começo do post, tínhamos um projeto público que queríamos compartilhar com a comunidade de desenvolvedores do Brasil. O projeto já até estava disponível publicamente no GitHub.

Depois de publicado, entretanto, acabei recebendo mensagens de desenvolvedores experientes pedindo minha autorização para usar o software! Isso é porque ele não tinha uma licença definida…

Assim, dei uma olhada no site choosealicense.com. Ao final da pesquisa, decidi que a Licença MIT era a que mais se encaixava em meu projeto! Adicionei ela no GitHub e agora está tudo certo ;)!

E aí, o que você achou do post? Deixe um feedback nos comentários! Dê uma olhada em nossos cursos de programação na Alura, para criar (e licenciar!) seus próprios projetos!

Veja outros artigos sobre Inovação & Gestão