O que todo dev precisa saber sobre licenças de software

(e nunca pode perguntar)

Disclaimer

ERRO #1

direito autoral != patentes

No Brasil, software é protegido pelo Direito Autoral

  • leis nacionais
  • convenções de Berna e Paris

Direito Industrial X Direito Autoral

  • patentes;
  • marcas;
  • desenho industrial.
  • obras intelectuais, literárias e artísticas;
  • programas de computador;
  • domínios na Internet.

Propriedade Intelectual

Patentes = Royalties

Patente:

é uma concessão pública, conferida pelo Estado, que garante ao seu titular a exclusividade ao explorar comercialmente a sua criação. Em contrapartida, é disponibilizado acesso ao público sobre o conhecimento dos pontos essenciais e as reivindicações que caracterizam a novidade no invento.

Patentes de Software não são válidas no Brasil!

ERRO #2

Software Patents are evil!

Patentes = Royalties

open source implementations

4 Liberdades:

  1. Executar o software para qualquer finalidade;
  2. Estudar o software;
  3. Modificá-lo para atender as suas necessidades;
  4. Distribuir cópias.

Código fonte acessível é condição, mas somente isso não basta!!!

4 Liberdades (versão FSF)

  1. Executar o software para qualquer finalidade;
  2. Estudar seu funcionamento, e modificá-lo como você deseja;
  3. Distribir cópias de modo que você possa ajudar ao seu próximos;
  4. Distribuir cópias de suas versões modificadas para os outros.

Ex: Ubuntu repositories

  • Main: core packages
  • Universe: pacotes mantidos pela comunidade
  • Multiverse: software protegido por patente
  • Restricted: software proprietário

Free Software vs. Patentes

  • DVD
  • MP3
  • Samba
  • UEFI

Open Specifications != Open Source

Formatos proprietários podem ter implementações livres e

implementações livres podem ser passíveis de patentes.

  • "Royalty-free" patents;
  • Especificações abertas ou engenharia reversa.
  • Originadas em países onde patentes de software são inválidas;

Open Source

Implementations Examples

  • PDF
  • ZIP
  • C# (até outro dia) -> Mono
  • VP8 e VP9 codecs
  • Java: OpenJDK & Oracle JRE
  • Linux <- Unix

Direito de Autor x Direito de Cópia

  • foco no autor
  • romano-germânica
  • Droit d'auteur
  • foco na obra
  • anglo-saxão
  • Common Law

ERRO #3

Copyright

All rights reserved

Se o autor não expressa a licença, ela está em Copyright!!!

Licenças de Software são contratos

  • Qualquer um pode escrever uma licença;
  • Uma EULA é uma licença;
  • Licenças padronizadas facilitam muito;

Patentes de Software

Impactam diretamente no ambiente de

Inovação e Competição

  • mercado globalizado;
  • alcance limitado;
  • desvantagem competitiva:
    • p/ o software livre
    • p/ países que não detêm patentes

General Public License - GPLv2

  • Garante as 4 liberdades
  • Adiciona +1 regra:
    • redistribuição pela mesma licença (share-alike) 
  • Big Hack! -> Foco no usuário.

Contratos são restritivos

Como garantir a liberdade?

Copyleft

All rights reversed

Ex: Linux Kernel, GCC, Bash, etc..

General Public License - GPLv3

  • Caso TiVo e a "Tivolização";
  • Tenta impedir o DRM;
  • Publicação obrigatória da chave criptográfica;
  • Ex: KDE, Qt, Samba, Drupal, etc.

Affero GPL - AGPL

  • Igual a GPL, mas...
  • Para o ambiente de nuvem;
  • Define o usuário também como aquele que usa o serviço.
  • Ex. Owncloud, MediaGoblin, Launchpad, MongoDB, etc.

Lesser GPL - LGPL

  • Compatibilidade com a licença BSD
  • Permite o uso em software proprietários;
  • Exige apenas a disponibilidade do código-fonte;
  • Não é copyleft!
  • Muito utilizada em bibliotecas;
  • Ex. Vorbis (ogg, ogv), libav, etc.

MIT License 

  • Exige apenas a inclusão dos termos da licença e a autoria;
  • Permite fechar o código-fonte;
  • Pode ser incluída em software GPL mas não o contrário;
  • Ex. Ruby on Rails, JQuery, Node.js, Mono, etc.

BSD License

  • Foi criada para o sistema operacional BSD;
  • Possui várias versões: 2-clause, 3-clause;
  • Permite fechar o código-fonte e uso em software proprietário;
  • Usada pela Apple para o Mac OSX e Safari;
  • Ex. FreeBSD, Redis, OpenSSH, Webkit, etc.

Apache License 2.0

  • Preserva as 4 liberdades;
  • Declara a não imposição de royalties;
  • É compatível com a licença GPLv3;
  • Não exige mudanças sobre a mesma licença;
  • Partes não-modificadas devem permanecer sob a mesma licença; 
  • Ex. Apache Web Server, Android, SourceForge, etc.

Mozilla License 2.0

  • Meio termo entre BSD e GPL
  • Preserva as 4 liberdades;
  • Permite a interoperabilidade com software proprietário, mas não o relicenciamento do código;
  • É copyleft;
  • Modificações devem distribuir sobre outro nome;
  • Ex. Firefox, Thunderbird; LibreOffice, etc.

Outras Licenças

  • Eclipse License;
  • Common Development Distribution License (CDDL);
  • Microsoft Reciprocal License;
  • Beer-ware License;
  • Artistic License;
  • SIL Open Font License;
  • Creative Commons (CC);

Referências

  • opensource.org
  • choosealicense.com
  • gnu.org/licenses/license-list.html
  • LEMOS, Ronaldo. Direito Tecnologia e Cultura. Rio de Janeiro: Editora da FGV, 2005. Coleção Direito RIO - CTS.
  • BRANCO, Sérgio; PARANAGUÁ, Pedro. Direitos Autorais. Rio de Janeiro: Editora da FGV, 2012. Série FGV Jurídica.
  • PARANAGUÁ, Pedro; REIS, Renata. Patentes e Criações Industriais. Rio de Janeiro: Editora da FGV, 2009. Série FGV Jurídica.

Obrigado!!!

@kemelzaidan - kemelzaidan.com.br - about.me/kemel