3. Licenciamento de software

3.1 - O que é e por quê licenciar?

  • Propriedade intelectual: marcas, patentes, direito autoral.

  • Licença padrão e automática: copyright.

  • No Brasil: Lei 9610/98.

3.2 - Licenças básicas

3.2 - Domínio Público

  • Obras sem direitos autorais, isto é, não protegidas por legislação de autor.

  • Existe direito moral (autores/as podem reinvindicar a autoria).

  • Trabalhos podem ser modificados e vendidos mesmo sem citar a fonte.

  • Obra “doada ao infinito”.

3.2 - MIT

  • Próxima do domínio público.

  • Trabalhos derivados podem se tornar proprietários.

  • Permite sublicenciamento.

  • Exemplos de software sob esta licença: Ruby on Rails, Node.js e jQuery.

Imagens:

  • Licença MIT.

3.2 - Estilo BSD

  • Similar à Licença MIT.

  • Família de licenças.

  • Exemplo: New BSD: permite redistribuição (fontes e binários):

    • Desde que mantido o texto de copyright.

    • Desde que o nome dos/as autores não seja usado para promover produtos derivados.

    • Mas exime autores(as) de quaisquer responsabilidade advindas do software.

Imagens:

  • Licença BSD.

3.2 - Vantagens e desvantagens

Vantagens:

  • Facilmente legíveis (licenças pequenas).

  • Flexibilidade: aderência a modelos de negócios.

Desvantagens:

  • Trabalhos podem se tornar proprietários.

  • Contribuições não necessariamente voltam à origem.

3.3 - Copyleft: GNU GPL

3.3 - Histórico

  • Custo crescente e comodificação do software.

  • Ameaça ao “commons” hacker.

  • Free Software Foundation.

  • Licença copyleft “viral”: garante as liberdades.

3.3 - Quatro liberdades do software livre

    1. Rodar.

    1. Estudar.

    1. Redistribuir.

    1. Melhorar.

Exemplo: licença desta documentação.

3.3 - Sabores

  • GNU GPL: licença padrão.

  • GNU FDL: para documentação.

  • GNU Affero GPL: requer a disponibilização de código fonte por quem roda o software.

3.3 - Open Source versus Free Software

  • Free Software: liberdade como princípio.

  • Open Source: código aberto favorece negócios.

3.4 - Creative Commons

  • Conjunto de licenças (7 licenças padrão).

  • Escopo abrangente. Em geral usado para o que não é software.

  • Formatos curto, longo e compreensível por máquina.

  • Parâmetros:

    • Atribuição.

    • Compartilhamento sob a mesma licença.

    • Se o trabalho é comercial ou não.

    • Permite ou não trabalhos derivados.

3.5 - Outras licenças

3.5 - Apache

  • Similar às licenças BSD e MIT.

  • Linguagem mais adaptada ao direito.

  • Dá permissão ao uso de quaisquer patentes dos autores que estejam no código.

  • Exemplo: Android.

3.5 - MPL (Mozilla)

  • Hibridação da New BSD com a GPL: balanço entre o mundo livre e o proprietário.

  • Código em MPL deve permanecer em MPL.

  • Mas código MPL pode ser mesclado com código proprietário.

  • Exemplo: Mozilla Firefox (integra com plugins proprietários).

3.6 - Licenciando o seu trabalho

3.6 - Escolhendo a licença

  • Compatibilidade entre licençar (distribuição e linkagem).

  • Sublicenciamento.

  • Você pode criar sua própria licença!

  • Você pode licenciar o seu trabalho sob múltiplas licenças.

Roteiro do screencast:

cd ~/projetos/blogatico
wget https://www.gnu.org/licenses/gpl.txt -O LICENSE.txt

3.7 - Atividades

  1. Escolha uma licença para o seu projeto.

  2. Caso seu projeto possua conteúdo que não seja apenas software (ícones, imagens, etc), entre no gerador de licenças do CreativeCommons e gere uma licença. Guarde o código de embarcação da mesma para inseri-la no seu projeto.

  3. Bônus: escreva uma pequena licença de software. Isso pode lhe ajudar a entender melhor o que você acha importante numa licença.