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

O que todo dev precisa saber sobre licenças de software e nunca pode perguntar

By Kemel Zaidan

O que todo dev precisa saber sobre licenças de software e nunca pode perguntar

Esta palestra foi evoluindo na medida em que foi sendo apresentada. Houve uma versão relâmpago de 15 min. apresentada na trilha Stadium do TDC São Paulo 2016. Em seguida uma versão estendida no FISL 2016 e outra, melhorada na RubyConf 2016.

  • 2,965