Desde que o Facebook mudou a licença dos projetos React, Flow, Jest e Immutable.js de BSD-3 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. Tanto que o WordPress anunciou, um pouco antes da licença mudar, que eles abandonaram o React por causa dela.
Para entender um pouco mais 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
A maior parte das licenças seguem os mesmos princípios:
- 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.
Além disso, todas elas possuem um aspecto importante em comum: A Open Source Initiative (OSI) (Iniciativa código aberto) aprovaram elas. A OSI é uma organização fundada em 1998 com o intuito de definir o que significa código livre.
Com isso em mente, vamos partir para as particularidades de cada uma.
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 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 o material patenteado for usado na criação do software, ele concede aos usuários o direito 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: Bash, GIMP e o Linux (GPLv2).
Apache License 2.0
Esta licença já oferece muito mais flexibilidade aos usuários.
- 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: 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ão podem ser usados para promover produtos derivados do software sem permissão explícita.
Alguns projetos famosos com esta licença sã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. Comparada à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.
Alguns projetos famosos com esta licença sã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 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.
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 seus projetos.
Referências
- 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/