Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Licenças de software: qual escolher?

Licenças de software: qual escolher?

Veja também em vídeo: https://youtu.be/3hVtTnYr0yk

Palestra apresentada no The Developer's Conference (TDC) Florianópolis 2016.

GPL, LGPL, MIT, BSD, Apache, Eclipse, Mozilla... São tantos nomes e versões que é fácil ficar perdido. Nesta palestra, você irá encontrar uma introdução clara e simples ao complexo mundo das licenças de software. O objetivo é que você saia com uma visão mais nítida dos possíveis caminhos a seguir, sabendo responder à pergunta: qual escolha é melhor para o meu projeto?

André Willik Valenti

May 14, 2016
Tweet

More Decks by André Willik Valenti

Other Decks in Technology

Transcript

  1. Globalcode – Open4education
    Licenças de software: qual escolher?
    André Willik Valenti
    Professor de Informática no IFSP Campinas
    To the extent possible under law, André Willik Valenti has waived all copyright and related or
    neighboring rights to Licenças de software: qual escolher?. This work is published from: Brasil.

    View Slide

  2. Globalcode – Open4education
    Licença da apresentação
    To the extent possible under law, André Willik Valenti has
    waived all copyright and related or neighboring rights to
    Licenças de software: qual escolher?. This work is published
    from: Brasil.
    (exceto estilo da apresentação e logotipos Globalcode e TDC,
    cujos direitos pertencem à Globalcode)

    View Slide

  3. Globalcode – Open4education
    Aviso legal chato
    ➢ Sou computeiro, não advogado
    ➢ Este conteúdo é apenas minha interpretação!

    View Slide

  4. Globalcode – Open4education
    Sobre mim
    ➢ André Willik Valenti
    ➢ Professor de Informática no IFSP Campinas
    ➢ Desenvolvedor de software por 5+ anos

    View Slide

  5. Globalcode – Open4education
    Introdução
    ➢ Preciso mesmo escolher uma licença?

    View Slide

  6. Globalcode – Open4education
    Introdução
    ➢ Você que fez o software?
    ➢ Você decide o que podem fazer com ele!
    ➢ Licença facilita o uso dentro da lei

    View Slide

  7. Globalcode – Open4education
    Conceitos-chave
    ➢ Copyright
    ➢ Software proprietário
    ➢ Domínio público
    ➢ Copyleft
    ➢ Grátis x Livre

    View Slide

  8. Globalcode – Open4education
    Copyright
    ➢ Direitos sobre propriedade intelectual
    ➢ Só o autor pode distribuir, alterar, vender etc.
    ➢ Pode autorizar outras pessoas

    View Slide

  9. Globalcode – Open4education
    Copyright
    ➢ É automático
    ➢ Não escolher uma licença ⇒ entrar no copyright
    ➢ Pode ser explícito:
    ➢ Copyright © 2016 Fulano Beltrano
    Todos os direitos reservados

    View Slide

  10. Globalcode – Open4education
    Software proprietário
    ➢ Código fechado, direitos reservados
    ➢ Normalmente, usuário compra licença de uso
    ➢ Não tem acesso ao código-fonte
    ➢ Não pode modificar
    ➢ Não pode redistribuir

    View Slide

  11. Globalcode – Open4education
    Domínio público
    ➢ Opção de renúncia aos direitos
    ➢ Em domínio público ⇒ fora do copyright
    ➢ Qualquer um pode distribuir, modificar, vender etc.

    View Slide

  12. Globalcode – Open4education
    Domínio público
    ➢ "Eu coloco este software em domínio público"
    ➢ Problemas:
    ➢ Alguém pode copiar o software e fechar o código
    ➢ Autor pode ser processado se algo der errado

    View Slide

  13. Globalcode – Open4education
    Copyleft
    ➢ Dentro do copyright, com garantia de liberdades
    ➢ Restringe futuras restrições
    ➢ "Este trabalho garante direitos ao usuário, assim
    como trabalhos derivados deste"

    View Slide

  14. Globalcode – Open4education
    Livre x grátis
    ➢ Livre
    ➢ Propicia liberdades
    ➢ Grátis
    ➢ Não custa dinheiro

    View Slide

  15. Globalcode – Open4education
    Free x free
    ➢ Free
    ➢ Propicia liberdades
    ➢ Free
    ➢ Não custa dinheiro

    View Slide

  16. Globalcode – Open4education
    “And, actually, in Portuguese, you have it much more
    correct: it’s ‘software livre’, software freedom.”
    Jon "Maddog" Hall, 2009
    Roda Viva (TV Cultura)
    (https://www.youtube.com/watch?v=w5Eu7SiIiRQ&t=8m52s)

    View Slide

  17. Globalcode – Open4education
    Licenças comuns
    ➢ MIT
    ➢ Apache
    ➢ GPL (General Public License)
    ➢ LGPL (Lesser General Public License)
    ➢ AGPL (Affero General Public License)
    ➢ Unlicense
    ➢ Creative Commons

    View Slide

  18. Globalcode – Open4education
    MIT
    ➢ Permissiva
    ➢ Simples de entender e de aplicar
    ➢ Exige:
    ➢ Distribuir cópia da licença e do aviso de copyright

    View Slide

  19. Globalcode – Open4education
    Apache
    ➢ Permissiva
    ➢ Equilibra direitos e deveres
    ➢ Mais ou menos simples de entender e de aplicar
    ➢ Definições claras
    ➢ Contribuintes de um projeto automaticamente
    cedem direitos autorais

    View Slide

  20. Globalcode – Open4education
    Apache
    ➢ Exige:
    ➢ Distribuir cópia da licença e aviso(s) de copyright
    ➢ Informar modificações
    ➢ Incluir arquivo "NOTICE", se houver

    View Slide

  21. Globalcode – Open4education
    GPL
    ➢ Copyleft forte
    ➢ Liberdade viral
    ➢ Proíbe uso em software proprietário na maioria
    dos casos

    View Slide

  22. Globalcode – Open4education
    GPL
    ➢ Exige:
    ➢ Licenciar software derivado usando GPL
    ➢ Distribuir código-fonte do software derivado
    ➢ Distribuir cópia da licença e aviso de copyright
    ➢ Informar modificações, com data
    ➢ Mostrar avisos legais na aplicação

    View Slide

  23. Globalcode – Open4education
    LGPL
    ➢ "GPL para bibliotecas"
    ➢ Copyleft fraco
    ➢ Para usar a biblioteca, não precisa abrir o código
    ➢ Se modificar, precisa compartilhar

    View Slide

  24. Globalcode – Open4education
    Affero GPL
    ➢ "GPL para servidores"
    ➢ Software rodando remotamente precisa ter o
    código aberto

    View Slide

  25. Globalcode – Open4education
    Unlicense
    ➢ Permissiva
    ➢ Simplicidade extrema
    ➢ Unlicense = domínio público + não me processe

    View Slide

  26. Globalcode – Open4education
    Outras
    ➢ Artistic License
    ➢ BSD 4-clause / 3-clause / 2-clause
    ➢ Common Development and Distribution License (CDDL)
    ➢ Eclipse Public License
    ➢ Internet Software Consortium (ISC)
    ➢ Microsoft Public License
    ➢ Microsoft Reciprocal License
    ➢ Mozilla Public License
    ➢ …

    View Slide

  27. Globalcode – Open4education
    Creative Commons
    ➢ Não uma licença, mas uma família de licenças
    ➢ Não é para software
    ➢ Uso em imagens, textos, sons, vídeos

    View Slide

  28. Globalcode – Open4education
    Creative Commons
    ➢ 1 atributo sempre presente:
    ➢ BY (By - Atribuição)

    View Slide

  29. Globalcode – Open4education
    CC BY
    ➢ Exige atribuição à autoria original
    ➢ Nome do criador
    ➢ Aviso de copyright
    ➢ Aviso de licença
    ➢ Aviso de isenção de responsabilidade
    ➢ Link para o material

    View Slide

  30. Globalcode – Open4education
    Creative Commons
    ➢ 3 atributos opcionais:
    ➢ SA (ShareAlike - CompartilhaIgual)
    ➢ ND (NonDerivatives - SemDerivações)
    ➢ NC (NonCommercial - NãoComercial)

    View Slide

  31. Globalcode – Open4education
    Creative Commons
    ➢ Combinações existentes:
    ➢ CC BY
    ➢ CC BY-SA
    ➢ CC BY-ND
    ➢ CC BY-NC
    ➢ CC BY-NC-SA
    ➢ CC BY-NC-ND

    View Slide

  32. Globalcode – Open4education
    SA
    ➢ Se criar um trabalho derivado, precisa
    compartilhar
    ➢ Copyleft!

    View Slide

  33. Globalcode – Open4education
    ND
    ➢ Sem trabalhos derivados
    ➢ Não pode usar imagem em apresentações
    ➢ Não pode criar vídeos usando imagem

    View Slide

  34. Globalcode – Open4education
    NC
    ➢ Proíbe uso em trabalhos comerciais

    View Slide

  35. Globalcode – Open4education
    CC0
    ➢ Creative Commons também define a CC0
    ➢ É uma licença de domínio público, com algumas
    poucas restrições (ex: "não me processe")
    ➢ Muito parecida com a Unlicense
    ➢ Não tem nada a ver com CC BY ou as outras
    ➢ Foi a licença usada nesta apresentação!

    View Slide

  36. Globalcode – Open4education
    Resumindo
    ➢ Assunto complexo
    ➢ Todas têm vantagens e desvantagens
    ➢ Cumprir exigências pode dar muito trabalho
    ➢ Quer entender a licença?
    ➢ Leia-a inteira!

    View Slide

  37. Globalcode – Open4education
    Dicas práticas
    ➢ Quer imagens sem restrições? Filtre a busca!
    ➢ Google
    ➢ Iconfinder
    ➢ Pixabay (todas em domínio público)
    ➢ Projeto é seu? A escolha da licença é sua!
    ➢ Pode usar licença dupla
    ➢ Pode mudar a licença (exemplo: Lua)
    ➢ Pode conceder autorizações isoladas

    View Slide

  38. Globalcode – Open4education
    Dicas práticas
    ➢ Quer usar material protegido?
    ➢ Solicite autorização!
    ➢ Mandou conteúdo para um serviço?
    ➢ Está sujeito aos termos de uso do serviço!

    View Slide

  39. Globalcode – Open4education
    Dicas práticas
    ➢ Gerencia um projeto de código aberto?
    ➢ Contribuintes precisam conceder direitos autorais
    ➢ CLA - Contributor License Agreement
    ➢ Licença Apache resolve isso automaticamente

    View Slide

  40. Globalcode – Open4education
    Dicas práticas
    ➢ Quer criar sua própria licença?
    ➢ Pode!
    ➢ Mas é melhor entender de legislação antes!

    View Slide

  41. Globalcode – Open4education
    Dicas práticas
    ➢ Quer usar software GPL com código fechado?
    ➢ Pode, se estiver em um servidor
    ➢ Pode, se for para uso exclusivamente interno
    ➢ Pode, se apenas chamar funcionalidades (???)

    View Slide

  42. Globalcode – Open4education
    ➢ Choose a license (GitHub)
    ➢ http://choosealicense.com
    ➢ Free Software license - Legal Aspects (Miguel Vidal)
    ➢ https://speakerdeck.com/mvidal/open-source-software-licenses
    ➢ FLOSS Licensing in three acts (Randall Hauch)
    ➢ https://speakerdeck.com/rhauch/floss-licensing-in-three-acts
    Referências

    View Slide

  43. Globalcode – Open4education
    Referências
    ➢ Direito autoral brasileiro
    ➢ Legislação geral
    ➢ http://www.planalto.gov.br/ccivil_03/LEIS/L9610.htm
    ➢ Lei do Software
    ➢ http://www.planalto.gov.br/ccivil_03/leis/L9609.htm
    ➢ Entenda o Direito Autoral (Positivo Informática)
    ➢ http://www.aprendebrasil.com.br/pesquisa/swf/DireitoAutoral.pdf

    View Slide

  44. Globalcode – Open4education
    Referências
    ➢ Linus Torvalds não usa GPLv3
    ➢ https://www.youtube.com/watch?v=PaKIZ7gJlRU
    ➢ https://www.youtube.com/watch?v=bw58LZTuZjA
    ➢ David Heinemeier Hansson prefere MIT a GPL
    ➢ https://youtu.be/fGvpy-uqm_w?t=21m20

    View Slide

  45. Globalcode – Open4education
    Contato
    ➢ Prof. André Willik Valenti
    ➢ Campinas - SP
    ➢ Instituto Federal de Educação, Ciência e
    Tecnologia de São Paulo
    [email protected]
    ➢ https://about.me/awvalenti
    ➢ https://awvalenti.wordpress.com

    View Slide