Licenas para mdulos no Linux

June 13, 2010

[Warning: This post is a backup recovery from my previous Wordpress blog. All content was automatically converted accessing a MySQL database using a Python script (details). Mostly are in Portuguese but if you are interest I can translate to English. If you found any problem dont’t hesitate to contact me in comments.]

O arquivo /usr/src/linux/include/linux/module.h define as licenas aceitveis para um mdulo (ou driver) seja reconhecido como software livre.

  • GPL -GNU Public License v2 or later
  • GPL v2 -GNU Public License v2
  • GPL and additional rights -GNU Public License v2 rights and more
  • Dual BSD/GPL -GNU Public License v2or BSD license choice
  • Dual MIT/GPL -GNU Public License v2or MIT license choice
  • Dual MPL/GPL - GNU Public License v2or Mozilla license choice
Tambm h um espao (infelizmente) para licenas proprietrias:
  • Proprietary - Non free products

Como vocs podem notar, h componentes que podem ser definidos com licenas duplas, contudo quando executado no Linux apenas a GPL relevante. Algumas razes para definir a licena:

  1. O modinfo pode mostrar informaes para usurios que desejam avaliar as licenas dos mdulos sua instalao.
  2. A comunidade pode ignorar relatrios de bugs dos mdulos proprietrios.
  3. Os fabricantes podem fazer o mesmo com suas prprias polticas.

Para inserir a licena, basta colocar no seu cdigo-fonte a macro “MODULE_LICENCE”. Exemplo:

MODULE_LICENCE("GPL");

Lembre-se que alguns recursos do kernel so disponveis apenas se seu cdigo livre.

Um exemplo o sysfs (atravs da macro EXPORT_SYMBOL_GPL) que por questes demanuteno e consistncia exige que voc licencie seu mdulo em alguma licena compatvel com a GPL.