Tudo o que você precisa saber sobre as licenças de projetos open source
Desde que o Facebook mudou a licença dos projetos React, Flow, Jest e Immutable.js de BSD-3+Patents para MIT, a discussão sobre licenças open source entrou em alta. Essa mudança foi um grande alívio para a comunidade e o mercado. Isso porque a licença anterior tinha algumas cláusulas que poderiam causar problemas aos projetos (veremos o porque no final do artigo). Tanto que o Wordpress anunciou, um pouco antes da licença mudar, que eles abandonaram o React por causa dela.
Para que possamos entender melhor como as licenças open source funcionam, vou te dar uma ideia geral das mais conhecidas: GPLv3, Apache License 2.0, BSD e MIT.
As licenças open source
Mesmo tendo suas particularidades, grande maior parte das licenças de código aberto seguem os mesmos princípios, e isso não é por acaso. Esses princípios são:
- Software pode ser modificado, usado comercialmente e distribuído.
- Software pode ser modificado e usado de forma privada.
- A licença e os direitos precisam ser incluídos no software.
- Os autores dos software não provêm garantias.
Todas elas possuem um aspecto importante em comum: A Open Source Initiative (OSI) (Iniciativa pelo código aberto) aprovaram elas. A OSI é uma organização fundada em 1998 com a meta de definir o que significa código livre.
Com isso em mente, vamos dar uma olhada nas principais “regras” de cada uma delas.
GNU General Public License, version 3 (GPLv3)
Esta é a opção para quem quer deixar o seu código aberto mas ao mesmo tempo quer segurança. Das mais famosas, esta é a licença mais restritiva. As suas principais regras são:
- O código-fonte obrigatoriamente deve ser público sempre que uma distribuição do software é feita. Ou seja, se você lançar um produto que é uma modificação de um projeto deste tipo, você precisa tornar o seu código público também.
- Modificações do software devem ser lançadas sob a mesma licença.
- Mudanças feitas no código-fonte precisam obrigatoriamente ser documentadas.
- Se material patenteado for usado na criação do software, ele concede o direito aos usuários de usá-lo. Se o usuário processar qualquer pessoa com o uso do material patenteado, eles perderão o direito de usar o software.
Alguns projetos famosos com esta licença são o Bash, GIMP e o Linux (GPLv2).
Apache License 2.0
Esta licença já oferece bem mais flexibilidade aos usuários. Isso porque:
- O código-fonte não precisa ser necessariamente público quando a distribuição do software é feita.
- Modificações podem ser lançadas sob qualquer licença.
- Mudanças feitas no código-fonte precisam ser documentadas.
- Oferece a mesma proteção de uso de patente da GPLv3 que vimos acima.
- Proíbe explicitamente o uso de nomes de marcas registradas encontrados no projeto.
Alguns projetos famosos com esta licença são o Android, Apache e o Swift.
Berkeley Software Distribution (BSD)
Esta é a licença que o React estava adotando até então. Ela possui duas versões principais: 2-clause e 3-clause. Vamos dar uma olhada no que ela oferece:
- O código-fonte não precisa ser necessariamente público quando a distribuição do software é feita.
- Modificações podem ser lançadas sob qualquer licença.
- Mudanças feitas no código-fonte não precisam ser documentadas.
- Não tem nenhuma posição em relação ao uso de patentes.
- A licença e os direitos de uso precisam ser incluídos na documentação da versão compilada do código-fonte.
- O BSD 3-clause afirma que os nomes dos autores e colaboradores nãopodem ser usados para promover produtos derivados do software sem permissão explícita.
Alguns projetos famosos com esta licença são o Go, Pure.css e o Sentry.
MIT License
Por fim, a licença MIT. Dentre todas as que listamos, ela é a mais permissiva de todas, além de ser a mais famosa. Comparado às demais, ela oferece pouquíssima proteção aos autores do software. Vamos dar uma olhada nas principais cláusulas:
- O código-fonte não precisa ser necessariamente público quando a distribuição do software é feita.
- Modificações podem ser lançadas sob qualquer licença.
- Mudanças feitas no código-fonte não precisam ser documentadas.
- Não tem nenhuma posição em relação ao uso de patentes.
Um grande projeto com essa licença é o próprio Training Center! Além disso, há outros famosos como o: jQuery, Bootstrap e o Rails.
Em resumo, temos o seguinte:
No final das contas, o que mudou no Facebook?
Os produtos do Facebook eram distribuídos sob a licença BSD-3 com algumas proteções a mais de patentes. Com isso, caso o seu projeto se envolvesse em uma ação legal contra o Facebook (ou suas empresas subsidiárias), você perderia o direito de usar a tecnologia. Em empresas com operações gigantes — como o já citado Wordpress — isso poderia ser fatal. Com a mudança da licença para MIT, isso não é mais um problema :) (ou não, rs)
Conclusão
Agora que você já conhece melhor o funcionamento das principais licenças para projetos open source disponíveis, pode escolher com muito mais consciência a licença para o seu projeto.
E este artigo também quase é um caso de open source! Ele é uma versão modificada do artigo publicado na Code Prestige! ;)
Referências
- https://medium.com/code-prestige/como-funcionam-as-licen%C3%A7as-open-source-9ff1da677ccd
- https://medium.freecodecamp.org/how-open-source-licenses-work-and-how-to-add-them-to-your-projects-34310c3cf94
- https://choosealicense.com/licenses/
- https://opensource.org/licenses
- https://en.wikipedia.org/wiki/Comparison_of_free_and_open-source_software_licenses
- http://www.fernandoquadro.com.br/html/2016/06/30/entenda-como-funciona-o-licenciamento-open-source/
Gostou? Recomende 👏 este artigo , comente, acompanhe nossa publicação e compartilhe!