jun
13
2010

Licenças para módulos no Linux

O arquivo /usr/src/linux/include/linux/module.h define as licenças aceitáveis para um módulo (ou driver) seja reconhecido como software livre.

  • GPLGNU Public License v2 or later
  • GPL v2GNU Public License v2
  • GPL and additional rightsGNU Public License v2 rights and more
  • Dual BSD/GPLGNU Public License v2  or BSD license choice
  • Dual MIT/GPLGNU Public License v2 or MIT license choice
  • Dual MPL/GPL - GNU Public License v2 or Mozilla license choice
Também há um espaço (infelizmente) para licenças proprietárias:
  • Proprietary - Non free products

Como vocês podem notar, há componentes que podem ser definidos com licenças duplas, contudo quando executado no Linux apenas a GPL é relevante. Algumas razões para definir a licença:

  1. O modinfo pode mostrar informações para usuários que desejam avaliar as licenças dos módulos sua instalação.
  2. A comunidade pode ignorar relatórios de bugs dos módulos proprietários.
  3. Os fabricantes podem fazer o mesmo com suas próprias políticas.

Para inserir a licença, basta colocar no seu código-fonte a macro  ”MODULE_LICENCE”. Exemplo:

  MODULE_LICENCE("GPL");

Lembre-se que alguns recursos do kernel são disponíveis apenas se seu código é livre.

Um exemplo é o sysfs (através da macro EXPORT_SYMBOL_GPL) que por questões de manutenção e consistência exige que você licencie seu módulo em alguma licença compatível com a GPL.

tags: ,
posted in kernel by Tiago Maluta

Follow comments via the RSS Feed | Deixe um comentário | Trackback URL

Leave Your Comment