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:
- Executar o software para qualquer finalidade;
- Estudar o software;
- Modificá-lo para atender as suas necessidades;
- Distribuir cópias.
Código fonte acessível é condição, mas somente isso não basta!!!
4 Liberdades (versão FSF)
- Executar o software para qualquer finalidade;
- Estudar seu funcionamento, e modificá-lo como você deseja;
- Distribir cópias de modo que você possa ajudar ao seu próximos;
- 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
- 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,951