* [PATCH v2] module: Clarify usage of MODULE_LICENSE()
@ 2012-04-08 16:46 Luis R. Rodriguez
2012-04-09 8:04 ` Arend van Spriel
2012-05-07 3:00 ` Rusty Russell
0 siblings, 2 replies; 5+ messages in thread
From: Luis R. Rodriguez @ 2012-04-08 16:46 UTC (permalink / raw)
To: rusty
Cc: linux-kernel, Luis R. Rodriguez, Tso Ted, Keith Packard, Al Viro,
Ralf Baechle, Alan Cox, Arend Van Spriel, David Woodhouse,
Stephen Hemminger, John W. Linville, Linus Torvalds,
Greg Kroah-Hartman
From: "Luis R. Rodriguez" <mcgrof@frijolero.org>
While the kernel is GPLv2 individual the MODULE_LICENSE() has allowed for
these tag to be used:
* Dual BSD/GPL
* Dual MIT/GPL
* Dual MPL/GPL
This is done for historical reasons, namely questioning the compatibilty
between the GPL and some old BSD licenses. Some developers and maintainers
tend to use assume the macro is also used to help clarify if the module
source code could be shared with the BSD family, but that is not the case.
The MODULE_LICENSE() declares the module's license at run time and even for
the dual tags the run time license that applies is the GPL.
If sharing share between Linux and permissive licensed Operating Systems such
as the BSDs is desired developers should review the license on the top of
each file being considered to be shared.
Cc: Tso Ted <tytso@mit.edu>
Cc: Keith Packard <keithp@keithp.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Arend Van Spriel <arend@broadcom.com>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Stephen Hemminger <shemminger@vyatta.com>
Cc: "John W. Linville" <linville@tuxdriver.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
---
This v2 takes into consideration the historical context explained by Alan of
introducing the dual tags even fo licenses that are today considered
GPL-Compatible. It also addresses the fact that MODULE_LICENSE() is to address
a run time license, and clarifies that even if a module has all of its files
under a BSD license using MODULE_LICENSE("GPL v2") is perfectly reasonable.
This v2 also does not change any driver's MODULE_LICENSE().
include/linux/module.h | 17 +++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)
diff --git a/include/linux/module.h b/include/linux/module.h
index fbcafe2..8d36d86 100644
--- a/include/linux/module.h
+++ b/include/linux/module.h
@@ -112,11 +112,20 @@ extern const struct gtype##_id __mod_##gtype##_table \
*
* "Proprietary" [Non free products]
*
- * There are dual licensed components, but when running with Linux it is the
- * GPL that is relevant so this is a non issue. Similarly LGPL linked with GPL
- * is a GPL combined work.
+ * The idea of dual licensing with what today are considered valid
+ * GPL-Comatible licenses is due to historical questions on GPL-Compatibility
+ * betwen the GPL and some BSD licenses. The purpose of MODULE_LICENSE() is
+ * to clarify the license of the module at run time. Despite the few
+ * GPL-Compatible dual licensed tags, when running with Linux the GPL
+ * license is the one that holds. Even if a module has all of its files
+ * under a BSD license, the MODULE_LICENSE("GPL v2") can still reasonably be
+ * used, and all files of that module could be shared with the BSD family. If
+ * the goal is to share files with the BSDs the top level license header should
+ * be read for each file that is to be shared. Each file's own license is
+ * maintaned through the usage of the Signed-of-by tag.
*
- * This exists for several reasons
+ * The MODULE_LICENSE() exists for several reasons:
+ * 0. So EXPORT_SYMBOL_GPL() allows the module to use its symbols
* 1. So modinfo can show license info for users wanting to vet their setup
* is free
* 2. So the community can ignore bug reports including proprietary modules
--
1.7.10.rc1.22.gf5241
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v2] module: Clarify usage of MODULE_LICENSE()
2012-04-08 16:46 [PATCH v2] module: Clarify usage of MODULE_LICENSE() Luis R. Rodriguez
@ 2012-04-09 8:04 ` Arend van Spriel
2012-04-09 12:36 ` Luis R. Rodriguez
2012-05-07 3:00 ` Rusty Russell
1 sibling, 1 reply; 5+ messages in thread
From: Arend van Spriel @ 2012-04-09 8:04 UTC (permalink / raw)
To: Luis R. Rodriguez
Cc: rusty@rustcorp.com.au, linux-kernel@vger.kernel.org, Tso Ted,
Keith Packard, Al Viro, Ralf Baechle, Alan Cox, David Woodhouse,
Stephen Hemminger, John W. Linville, Linus Torvalds,
Greg Kroah-Hartman
On 04/08/2012 06:46 PM, Luis R. Rodriguez wrote:
> include/linux/module.h | 17 +++++++++++++----
> 1 file changed, 13 insertions(+), 4 deletions(-)
>
> diff --git a/include/linux/module.h b/include/linux/module.h
> index fbcafe2..8d36d86 100644
> --- a/include/linux/module.h
> +++ b/include/linux/module.h
> - * This exists for several reasons
> + * The MODULE_LICENSE() exists for several reasons:
> + * 0. So EXPORT_SYMBOL_GPL() allows the module to use its symbols
It seems there is some tab/space mixup here. Also not sure if the above
statement is clear or correct. Correct me if I am wrong, but I thought
it put a requirement on other modules to be able to use its symbols.
> * 1. So modinfo can show license info for users wanting to vet their setup
> * is free
> * 2. So the community can ignore bug reports including proprietary modules
Gr. AvS
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v2] module: Clarify usage of MODULE_LICENSE()
2012-04-09 8:04 ` Arend van Spriel
@ 2012-04-09 12:36 ` Luis R. Rodriguez
0 siblings, 0 replies; 5+ messages in thread
From: Luis R. Rodriguez @ 2012-04-09 12:36 UTC (permalink / raw)
To: Arend van Spriel
Cc: rusty@rustcorp.com.au, linux-kernel@vger.kernel.org, Tso Ted,
Keith Packard, Al Viro, Ralf Baechle, Alan Cox, David Woodhouse,
Stephen Hemminger, John W. Linville, Linus Torvalds,
Greg Kroah-Hartman
On Mon, Apr 9, 2012 at 1:04 AM, Arend van Spriel <arend@broadcom.com> wrote:
> On 04/08/2012 06:46 PM, Luis R. Rodriguez wrote:
>>
>> include/linux/module.h | 17 +++++++++++++----
>> 1 file changed, 13 insertions(+), 4 deletions(-)
>>
>> diff --git a/include/linux/module.h b/include/linux/module.h
>> index fbcafe2..8d36d86 100644
>> --- a/include/linux/module.h
>> +++ b/include/linux/module.h
>> - * This exists for several reasons
>> + * The MODULE_LICENSE() exists for several reasons:
>> + * 0. So EXPORT_SYMBOL_GPL() allows the module to use its symbols
>
>
> It seems there is some tab/space mixup here.
Ah yes, I'll send a v3.
> Also not sure if the above statement is clear or correct.
> Correct me if I am wrong, but I thought it
> put a requirement on other modules to be able to use its symbols.
Never heard of this but boy, wouldn't that be nice.
Luis
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v2] module: Clarify usage of MODULE_LICENSE()
2012-04-08 16:46 [PATCH v2] module: Clarify usage of MODULE_LICENSE() Luis R. Rodriguez
2012-04-09 8:04 ` Arend van Spriel
@ 2012-05-07 3:00 ` Rusty Russell
2012-05-07 22:48 ` Luis R. Rodriguez
1 sibling, 1 reply; 5+ messages in thread
From: Rusty Russell @ 2012-05-07 3:00 UTC (permalink / raw)
To: Luis R. Rodriguez
Cc: linux-kernel, Luis R. Rodriguez, Tso Ted, Keith Packard, Al Viro,
Ralf Baechle, Alan Cox, Arend Van Spriel, David Woodhouse,
Stephen Hemminger, John W. Linville, Linus Torvalds,
Greg Kroah-Hartman
On Sun, 8 Apr 2012 09:46:28 -0700, "Luis R. Rodriguez" <mcgrof@frijolero.org> wrote:
> From: "Luis R. Rodriguez" <mcgrof@frijolero.org>
>
> While the kernel is GPLv2 individual the MODULE_LICENSE() has allowed for
> these tag to be used:
>
> * Dual BSD/GPL
> * Dual MIT/GPL
> * Dual MPL/GPL
>
> This is done for historical reasons, namely questioning the compatibilty
> between the GPL and some old BSD licenses. Some developers and maintainers
> tend to use assume the macro is also used to help clarify if the module
> source code could be shared with the BSD family, but that is not the
> case.
Incorrect. When the author clarifies their license it *does* help. If
a tag and license text were to disagree, it would muddy the waters.
> The MODULE_LICENSE() declares the module's license at run time and even for
> the dual tags the run time license that applies is the GPL.
You're probably correct, but it's very hard to care.
> If sharing share between Linux and permissive licensed Operating Systems such
> as the BSDs is desired developers should review the license on the top of
> each file being considered to be shared.
Of course. But having both is nice and clear.
Cheers,
Rusty.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v2] module: Clarify usage of MODULE_LICENSE()
2012-05-07 3:00 ` Rusty Russell
@ 2012-05-07 22:48 ` Luis R. Rodriguez
0 siblings, 0 replies; 5+ messages in thread
From: Luis R. Rodriguez @ 2012-05-07 22:48 UTC (permalink / raw)
To: Rusty Russell
Cc: linux-kernel, Tso Ted, Keith Packard, Al Viro, Ralf Baechle,
Alan Cox, Arend Van Spriel, David Woodhouse, Stephen Hemminger,
John W. Linville, Linus Torvalds, Greg Kroah-Hartman
On Sun, May 6, 2012 at 8:00 PM, Rusty Russell <rusty@rustcorp.com.au> wrote:
> On Sun, 8 Apr 2012 09:46:28 -0700, "Luis R. Rodriguez" <mcgrof@frijolero.org> wrote:
>> From: "Luis R. Rodriguez" <mcgrof@frijolero.org>
>>
>> While the kernel is GPLv2 individual the MODULE_LICENSE() has allowed for
>> these tag to be used:
>>
>> * Dual BSD/GPL
>> * Dual MIT/GPL
>> * Dual MPL/GPL
>>
>> This is done for historical reasons, namely questioning the compatibilty
>> between the GPL and some old BSD licenses. Some developers and maintainers
>> tend to use assume the macro is also used to help clarify if the module
>> source code could be shared with the BSD family, but that is not the
>> case.
>
> Incorrect. When the author clarifies their license it *does* help. If
> a tag and license text were to disagree, it would muddy the waters.
Heh, OK.. sure...
>> The MODULE_LICENSE() declares the module's license at run time and even for
>> the dual tags the run time license that applies is the GPL.
>
> You're probably correct, but it's very hard to care.
Its good that we seem to care to not care, given that I have avoided
addressing this for eons, but we seem to at least care enough to not
want proprietary derivatives for Linux.
>> If sharing share between Linux and permissive licensed Operating Systems such
>> as the BSDs is desired developers should review the license on the top of
>> each file being considered to be shared.
>
> Of course. But having both is nice and clear.
Alrighty.
Luis
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2012-05-07 22:48 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-04-08 16:46 [PATCH v2] module: Clarify usage of MODULE_LICENSE() Luis R. Rodriguez
2012-04-09 8:04 ` Arend van Spriel
2012-04-09 12:36 ` Luis R. Rodriguez
2012-05-07 3:00 ` Rusty Russell
2012-05-07 22:48 ` Luis R. Rodriguez
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox