Skip to contentSkip to conversation

Resolve duplicate/conflicting MODULE_LICENSE tags

PATCH In review Andreas Gruenbacher 2 participants 2 messages Aug 20, 2004

Subsystems (4)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Resolve duplicate/conflicting MODULE_LICENSE tags

While reviewing module licenses I've noticed the following inconsistencies:

* fs/affs/affs.ko, drivers/media/radio/miropcm20.ko have MODULE_LICENSE("GPL") twice.

* drivers/scsi/pcmcia/fdomain_cs.ko, drivers/scsi/pcmcia/aha152x_cs.ko have both MODULE_LICENSE("GPL") and MODULE_LICENSE("Dual MPL/GPL"). The common denominator seems to be MODULE_LICENSE("GPL") -- right?

* drivers/net/ppp_mppe.ko has MODULE_LICENSE("BSD without advertisement clause"). This is generally considered a GPL compatible license, and should probably be added to license_is_gpl_compatible().

Are we fine with applying the following patch?

Thanks,
Andreas Gruenbacher.

fs/affs/inode.c +0 -1
Index: linux-2.6.8/fs/affs/inode.c
===================================================================
@@ -427,4 +427,3 @@ err:
 	affs_unlock_link(inode);
 	goto done;
 }
-MODULE_LICENSE("GPL");
drivers/scsi/pcmcia/fdomain_stub.c +0 -1
Index: linux-2.6.8/drivers/scsi/pcmcia/fdomain_stub.c
===================================================================
@@ -59,7 +59,6 @@
 
 MODULE_AUTHOR("David Hinds <[email protected]>");
 MODULE_DESCRIPTION("Future Domain PCMCIA SCSI driver");
-MODULE_LICENSE("Dual MPL/GPL");
 
 /* Bit map of interrupts to choose from */
 static int irq_mask = 0xdeb8;
kernel/module.c +2 -1
Index: linux-2.6.8/kernel/module.c
===================================================================
@@ -1380,7 +1380,8 @@ static inline int license_is_gpl_compati
 		|| strcmp(license, "GPL v2") == 0
 		|| strcmp(license, "GPL and additional rights") == 0
 		|| strcmp(license, "Dual BSD/GPL") == 0
-		|| strcmp(license, "Dual MPL/GPL") == 0);
+		|| strcmp(license, "Dual MPL/GPL") == 0
+		|| strcmp(license, "BSD without advertisement clause") == 0);
 }
 
 static void set_license(struct module *mod, const char *license)
drivers/media/radio/miropcm20-radio.c +0 -1
Index: linux-2.6.8/drivers/media/radio/miropcm20-radio.c
===================================================================
@@ -258,7 +258,6 @@ static int __init pcm20_init(void)
 
 MODULE_AUTHOR("Ruurd Reitsma");
 MODULE_DESCRIPTION("A driver for the Miro PCM20 radio card.");
-MODULE_LICENSE("GPL");
 
 static void __exit pcm20_cleanup(void)
 {
drivers/scsi/pcmcia/aha152x_stub.c +0 -2
Index: linux-2.6.8/drivers/scsi/pcmcia/aha152x_stub.c
===================================================================
@@ -91,8 +91,6 @@ MODULE_PARM(synchronous, "i");
 MODULE_PARM(reset_delay, "i");
 MODULE_PARM(ext_trans, "i");
 
-MODULE_LICENSE("Dual MPL/GPL");
-
 /*====================================================================*/
 
 typedef struct scsi_info_t {
#1 lore raw
Quoted 6 lines · Andreas Gruenbacher

* drivers/net/ppp_mppe.ko has MODULE_LICENSE("BSD without advertisement clause"). This is generally considered a GPL compatible license, and should probably be added to license_is_gpl_compatible().

Are we fine with applying the following patch?

This patch destroys the entire value of the module license system unfortunately. I can put any code I like under a BSD license and not give you the source and claim it is BSD licensed. I don't have to give you the source, you can't demand it so anyone can claim that and it would allow arbitary code without taint. Not good at all.

For code which is GPL licensed in the kernel but has other licenses we have the tag "GPL and additional rights". This allows us to cover licenses that are GPL compatible and where the GPL version of the rights is in use in the kernel.

Alan