Desenvolvimento

25 out, 2017

Como funcionam as licenças open source?

100 visualizações
Publicidade

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:

  1. Software pode ser modificado, usado comercialmente e distribuído.
  2. Software pode ser modificado e usado de forma privada.
  3. A licença e os direitos precisam ser incluídos no software.
  4. 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:

Diagrama de licenças open source

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