linux-modules.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] module: Block modules by Tuxedo from accessing GPL symbols
@ 2024-11-14 10:31 ` Uwe Kleine-König
  2024-11-14 10:31   ` [PATCH 1/2] module: Put known GPL offenders in an array Uwe Kleine-König
                     ` (4 more replies)
  0 siblings, 5 replies; 31+ messages in thread
From: Uwe Kleine-König @ 2024-11-14 10:31 UTC (permalink / raw)
  To: Luis Chamberlain
  Cc: Werner Sembach, tux, Petr Pavlu, Sami Tolvanen, Daniel Gomez,
	linux-modules, linux-kernel, Thorsten Leemhuis

Hello,

the kernel modules provided by Tuxedo on
https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers
are licensed under GPLv3 or later. This is incompatible with the
kernel's license and so makes it impossible for distributions and other
third parties to support these at least in pre-compiled form and so
limits user experience and the possibilities to work on mainlining these
drivers.

This incompatibility is created on purpose to control the upstream
process. See https://fosstodon.org/@kernellogger/113423314337991594 for
a nice summary of the situation and some further links about the issue.

Note that the pull request that fixed the MODULE_LICENSE invocations to
stop claiming GPL(v2) compatibility was accepted and then immediately
reverted "for the time being until the legal stuff is sorted out"
(https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers/-/commit/a8c09b6c2ce6393fe39d8652d133af9f06cfb427).

Best regards
Uwe

Uwe Kleine-König (2):
  module: Put known GPL offenders in an array
  module: Block modules by Tuxedo from accessing GPL symbols

 kernel/module/main.c | 56 +++++++++++++++++++++++++++++++++++++-------
 1 file changed, 47 insertions(+), 9 deletions(-)

base-commit: 28955f4fa2823e39f1ecfb3a37a364563527afbc
-- 
2.45.2

^ permalink raw reply	[flat|nested] 31+ messages in thread

* [PATCH 1/2] module: Put known GPL offenders in an array
  2024-11-14 10:31 ` [PATCH 0/2] module: Block modules by Tuxedo from accessing GPL symbols Uwe Kleine-König
@ 2024-11-14 10:31   ` Uwe Kleine-König
  2024-11-14 16:08     ` Christoph Hellwig
  2024-11-15  4:40     ` Greg KH
  2024-11-14 10:31   ` [PATCH 2/2] module: Block modules by Tuxedo from accessing GPL symbols Uwe Kleine-König
                     ` (3 subsequent siblings)
  4 siblings, 2 replies; 31+ messages in thread
From: Uwe Kleine-König @ 2024-11-14 10:31 UTC (permalink / raw)
  To: Luis Chamberlain
  Cc: Werner Sembach, tux, Petr Pavlu, Sami Tolvanen, Daniel Gomez,
	linux-modules, linux-kernel, Thorsten Leemhuis

Instead of repeating the add_taint_module() call for each offender, create
an array and loop over that one. This simplifies adding new entries
considerably.

Signed-off-by: Uwe Kleine-König <ukleinek@kernel.org>
---
 kernel/module/main.c | 23 ++++++++++++++---------
 1 file changed, 14 insertions(+), 9 deletions(-)

diff --git a/kernel/module/main.c b/kernel/module/main.c
index 5399c182b3cb..878191c65efc 100644
--- a/kernel/module/main.c
+++ b/kernel/module/main.c
@@ -2332,11 +2332,20 @@ static int rewrite_section_headers(struct load_info *info, int flags)
 	return 0;
 }
 
+static const char *module_license_offenders[] = {
+	/* driverloader was caught wrongly pretending to be under GPL */
+	"driverloader",
+
+	/* lve claims to be GPL but upstream won't provide source */
+	"lve",
+};
+
 /*
  * These calls taint the kernel depending certain module circumstances */
 static void module_augment_kernel_taints(struct module *mod, struct load_info *info)
 {
 	int prev_taint = test_taint(TAINT_PROPRIETARY_MODULE);
+	size_t i;
 
 	if (!get_modinfo(info, "intree")) {
 		if (!test_taint(TAINT_OOT_MODULE))
@@ -2385,15 +2394,11 @@ static void module_augment_kernel_taints(struct module *mod, struct load_info *i
 	if (strcmp(mod->name, "ndiswrapper") == 0)
 		add_taint(TAINT_PROPRIETARY_MODULE, LOCKDEP_NOW_UNRELIABLE);
 
-	/* driverloader was caught wrongly pretending to be under GPL */
-	if (strcmp(mod->name, "driverloader") == 0)
-		add_taint_module(mod, TAINT_PROPRIETARY_MODULE,
-				 LOCKDEP_NOW_UNRELIABLE);
-
-	/* lve claims to be GPL but upstream won't provide source */
-	if (strcmp(mod->name, "lve") == 0)
-		add_taint_module(mod, TAINT_PROPRIETARY_MODULE,
-				 LOCKDEP_NOW_UNRELIABLE);
+	for (i = 0; i < ARRAY_SIZE(module_license_offenders); ++i) {
+		if (strcmp(mod->name, module_license_offenders[i]) == 0)
+			add_taint_module(mod, TAINT_PROPRIETARY_MODULE,
+					 LOCKDEP_NOW_UNRELIABLE);
+	}
 
 	if (!prev_taint && test_taint(TAINT_PROPRIETARY_MODULE))
 		pr_warn("%s: module license taints kernel.\n", mod->name);
-- 
2.45.2


^ permalink raw reply related	[flat|nested] 31+ messages in thread

* [PATCH 2/2] module: Block modules by Tuxedo from accessing GPL symbols
  2024-11-14 10:31 ` [PATCH 0/2] module: Block modules by Tuxedo from accessing GPL symbols Uwe Kleine-König
  2024-11-14 10:31   ` [PATCH 1/2] module: Put known GPL offenders in an array Uwe Kleine-König
@ 2024-11-14 10:31   ` Uwe Kleine-König
  2024-11-14 11:56     ` Daniel Gomez
                       ` (3 more replies)
  2024-11-14 10:49   ` [PATCH 0/2] " Werner Sembach
                     ` (2 subsequent siblings)
  4 siblings, 4 replies; 31+ messages in thread
From: Uwe Kleine-König @ 2024-11-14 10:31 UTC (permalink / raw)
  To: Luis Chamberlain
  Cc: Werner Sembach, tux, Petr Pavlu, Sami Tolvanen, Daniel Gomez,
	linux-modules, linux-kernel, Thorsten Leemhuis

Tuxedo licenses the modules used on their hardware under GPLv3+, to
"keep control of the upstream pacing" – and want to re-license the code
while upstreaming.

They were asked to then at least not use MODULE_LICENSE("GPL") which
declares compatibility to the kernel's GPLv2. They accepted the pull
request and shortly after reverted the change and so continue to lie
about the license.

So teach the module loader that these modules are proprietary despite
their declaration to be GPLv2 compatible "until the legal stuff is
sorted out".

Link: https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers/-/commit/a8c09b6c2ce6393fe39d8652d133af9f06cfb427
Signed-off-by: Uwe Kleine-König <ukleinek@kernel.org>
---
 kernel/module/main.c | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/kernel/module/main.c b/kernel/module/main.c
index 878191c65efc..46badbb09d5e 100644
--- a/kernel/module/main.c
+++ b/kernel/module/main.c
@@ -2338,6 +2338,39 @@ static const char *module_license_offenders[] = {
 
 	/* lve claims to be GPL but upstream won't provide source */
 	"lve",
+
+	/*
+	 * Tuxedo distributes their kernel modules under GPLv3, but intentially
+	 * lies in their MODULE_LICENSE() calls.
+	 * See https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers/-/commit/a8c09b6c2ce6393fe39d8652d133af9f06cfb427
+	 */
+	"gxtp7380",
+	"ite_8291",
+	"ite_8291_lb",
+	"ite_8297",
+	"ite_829x",
+	"stk8321",
+	"tuxedo_compatibility_check",
+	"tuxedo_io",
+	"tuxedo_nb02_nvidia_power_ctrl",
+	"tuxedo_nb04_keyboard",
+	"tuxedo_nb04_wmi_ab",
+	"tuxedo_nb04_wmi_bs",
+	"tuxedo_nb04_sensors",
+	"tuxedo_nb04_power_profiles",
+	"tuxedo_nb04_kbd_backlight",
+	"tuxedo_nb05_keyboard",
+	"tuxedo_nb05_kbd_backlight",
+	"tuxedo_nb05_power_profiles",
+	"tuxedo_nb05_ec",
+	"tuxedo_nb05_sensors",
+	"tuxedo_nb05_fan_control",
+	"tuxi_acpi",
+	"tuxedo_tuxi_fan_control",
+	"clevo_wmi",
+	"tuxedo_keyboard",
+	"clevo_acpi",
+	"uniwill_wmi",
 };
 
 /*
-- 
2.45.2


^ permalink raw reply related	[flat|nested] 31+ messages in thread

* Re: [PATCH 0/2] module: Block modules by Tuxedo from accessing GPL symbols
  2024-11-14 10:31 ` [PATCH 0/2] module: Block modules by Tuxedo from accessing GPL symbols Uwe Kleine-König
  2024-11-14 10:31   ` [PATCH 1/2] module: Put known GPL offenders in an array Uwe Kleine-König
  2024-11-14 10:31   ` [PATCH 2/2] module: Block modules by Tuxedo from accessing GPL symbols Uwe Kleine-König
@ 2024-11-14 10:49   ` Werner Sembach
  2024-11-14 11:14     ` Uwe Kleine-König
  2024-11-15  4:43     ` Greg KH
  2024-11-14 11:50   ` Daniel Gomez
  2024-11-20 14:11   ` Hans de Goede
  4 siblings, 2 replies; 31+ messages in thread
From: Werner Sembach @ 2024-11-14 10:49 UTC (permalink / raw)
  To: Uwe Kleine-König, Luis Chamberlain
  Cc: tux, Petr Pavlu, Sami Tolvanen, Daniel Gomez, linux-modules,
	linux-kernel, Thorsten Leemhuis

Hello,

Am 14.11.24 um 11:31 schrieb Uwe Kleine-König:
> Hello,
>
> the kernel modules provided by Tuxedo on
> https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers
> are licensed under GPLv3 or later. This is incompatible with the
> kernel's license and so makes it impossible for distributions and other
> third parties to support these at least in pre-compiled form and so
> limits user experience and the possibilities to work on mainlining these
> drivers.
>
> This incompatibility is created on purpose to control the upstream
> process. See https://fosstodon.org/@kernellogger/113423314337991594 for
> a nice summary of the situation and some further links about the issue.
>
> Note that the pull request that fixed the MODULE_LICENSE invocations to
> stop claiming GPL(v2) compatibility was accepted and then immediately
> reverted "for the time being until the legal stuff is sorted out"
> (https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers/-/commit/a8c09b6c2ce6393fe39d8652d133af9f06cfb427).

As already being implied by that commit message, this is sadly not an issue that 
can be sorted out over night.

We ended up in this situation as MODULE_LICENSE("GPL") on its own does not hint 
at GPL v2, if one is not aware of the license definition table in the documentation.

It was and is never our intention to violate neither GPL v2 nor GPL v3 and we 
are working on it.

Kind regards,

Werner Sembach

>
> Best regards
> Uwe
>
> Uwe Kleine-König (2):
>    module: Put known GPL offenders in an array
>    module: Block modules by Tuxedo from accessing GPL symbols
>
>   kernel/module/main.c | 56 +++++++++++++++++++++++++++++++++++++-------
>   1 file changed, 47 insertions(+), 9 deletions(-)
>
> base-commit: 28955f4fa2823e39f1ecfb3a37a364563527afbc

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 0/2] module: Block modules by Tuxedo from accessing GPL symbols
  2024-11-14 10:49   ` [PATCH 0/2] " Werner Sembach
@ 2024-11-14 11:14     ` Uwe Kleine-König
  2024-11-14 11:44       ` Werner Sembach
  2024-11-16 17:49       ` Uwe Kleine-König
  2024-11-15  4:43     ` Greg KH
  1 sibling, 2 replies; 31+ messages in thread
From: Uwe Kleine-König @ 2024-11-14 11:14 UTC (permalink / raw)
  To: Werner Sembach, Luis Chamberlain
  Cc: tux, Petr Pavlu, Sami Tolvanen, Daniel Gomez, linux-modules,
	linux-kernel, Thorsten Leemhuis

Hello,

On 11/14/24 11:49, Werner Sembach wrote:
> Am 14.11.24 um 11:31 schrieb Uwe Kleine-König:
>> the kernel modules provided by Tuxedo on
>> https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers
>> are licensed under GPLv3 or later. This is incompatible with the
>> kernel's license and so makes it impossible for distributions and other
>> third parties to support these at least in pre-compiled form and so
>> limits user experience and the possibilities to work on mainlining these
>> drivers.
>>
>> This incompatibility is created on purpose to control the upstream
>> process. See https://fosstodon.org/@kernellogger/113423314337991594 for
>> a nice summary of the situation and some further links about the issue.
>>
>> Note that the pull request that fixed the MODULE_LICENSE invocations to
>> stop claiming GPL(v2) compatibility was accepted and then immediately
>> reverted "for the time being until the legal stuff is sorted out"
>> (https://gitlab.com/tuxedocomputers/development/packages/tuxedo- 
>> drivers/-/commit/a8c09b6c2ce6393fe39d8652d133af9f06cfb427).
> 
> As already being implied by that commit message, this is sadly not an 
> issue that can be sorted out over night.
> 
> We ended up in this situation as MODULE_LICENSE("GPL") on its own does 
> not hint at GPL v2, if one is not aware of the license definition table 
> in the documentation.

That statement isn't consistent with you saying to pick GPLv3 as an 
explicitly incompatible license to control the mainlining process. So 
you knew that it's legally at least questionable to combine these licenses.

The only thing I could accept here is that you were surprised that the 
incompatibility has some technical enforcement resulting in your modules 
to become nonfunctional. But that's like a thieve in a supermarket who 
asks for forgiveness because while he was aware that steeling is not 
allowed, wasn't aware there is video surveillance that might actually 
catch him.

So I'd claim MODULE_LICENSE("GPL") not being explicit to not apply for 
GPLv3 code is not a valid excuse. (Which doesn't mean the kernel 
couldn't improve here.)

Best regards
Uwe

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 0/2] module: Block modules by Tuxedo from accessing GPL symbols
  2024-11-14 11:14     ` Uwe Kleine-König
@ 2024-11-14 11:44       ` Werner Sembach
  2024-11-16 17:49       ` Uwe Kleine-König
  1 sibling, 0 replies; 31+ messages in thread
From: Werner Sembach @ 2024-11-14 11:44 UTC (permalink / raw)
  To: Uwe Kleine-König, Luis Chamberlain
  Cc: tux, Petr Pavlu, Sami Tolvanen, Daniel Gomez, linux-modules,
	linux-kernel, Thorsten Leemhuis

Hello,

Am 14.11.24 um 12:14 schrieb Uwe Kleine-König:
> Hello,
>
> On 11/14/24 11:49, Werner Sembach wrote:
>> Am 14.11.24 um 11:31 schrieb Uwe Kleine-König:
>>> the kernel modules provided by Tuxedo on
>>> https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers
>>> are licensed under GPLv3 or later. This is incompatible with the
>>> kernel's license and so makes it impossible for distributions and other
>>> third parties to support these at least in pre-compiled form and so
>>> limits user experience and the possibilities to work on mainlining these
>>> drivers.
>>>
>>> This incompatibility is created on purpose to control the upstream
>>> process. See https://fosstodon.org/@kernellogger/113423314337991594 for
>>> a nice summary of the situation and some further links about the issue.
>>>
>>> Note that the pull request that fixed the MODULE_LICENSE invocations to
>>> stop claiming GPL(v2) compatibility was accepted and then immediately
>>> reverted "for the time being until the legal stuff is sorted out"
>>> (https://gitlab.com/tuxedocomputers/development/packages/tuxedo- 
>>> drivers/-/commit/a8c09b6c2ce6393fe39d8652d133af9f06cfb427).
>>
>> As already being implied by that commit message, this is sadly not an issue 
>> that can be sorted out over night.
>>
>> We ended up in this situation as MODULE_LICENSE("GPL") on its own does not 
>> hint at GPL v2, if one is not aware of the license definition table in the 
>> documentation.
>
> That statement isn't consistent with you saying to pick GPLv3 as an explicitly 
> incompatible license to control the mainlining process. So you knew that it's 
> legally at least questionable to combine these licenses.
Put in the time-dimension and you can figure out where this isn't inconsistent.
>
> The only thing I could accept here is that you were surprised that the 
> incompatibility has some technical enforcement resulting in your modules to 
> become nonfunctional. But that's like a thieve in a supermarket who asks for 
> forgiveness because while he was aware that steeling is not allowed, wasn't 
> aware there is video surveillance that might actually catch him.
>
> So I'd claim MODULE_LICENSE("GPL") not being explicit to not apply for GPLv3 
> code is not a valid excuse. (Which doesn't mean the kernel couldn't improve 
> here.)

I can not tell anything else than I wrote above so I probably can't gain your 
trust that it was an honest mistake.

Thing is we are working on rewriting the driver bit by bit directly for upstream 
under GPL v2, e.g. 
https://lore.kernel.org/all/20241001180658.76396-2-wse@tuxedocomputers.com/

And we don't stop anyone else from doing so and actively involve ourself in the 
process, giving advice where we can from our experience with the devices, e.g. 
https://github.com/Wer-Wolf/uniwill-laptop/issues/1

And tuxedo-drivers got code in the past from external contributors under GPL v3 
that also weren't aware of the correct definition of MODULE_LICENSE("GPL") which 
needs to be sorted out.

And no tuxedo-drivers module would get accepted upstream as is at the moment, 
because the focus of the driver package is mainly to get support for new devices 
out as quickly as possible, while upstream rightfully has way stricter 
guidelines on code quality (not implying that tuxedo-drivers has bad code 
quality, it's a spectrum after all).

What I want to say: If the end goal is upstream support for our devices nothing 
is speed up by the relicensing, arguably it's slowed down because someone now 
has to sort out legal stuff. If you want to take on the actual coding work 
yourself, please do so, I will give you advice as I did with Armins uniwill 
laptop driver and several times on the mailing list.

Kind regards,

Werner Sembach

>
> Best regards
> Uwe

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 0/2] module: Block modules by Tuxedo from accessing GPL symbols
  2024-11-14 10:31 ` [PATCH 0/2] module: Block modules by Tuxedo from accessing GPL symbols Uwe Kleine-König
                     ` (2 preceding siblings ...)
  2024-11-14 10:49   ` [PATCH 0/2] " Werner Sembach
@ 2024-11-14 11:50   ` Daniel Gomez
  2024-11-20 14:11   ` Hans de Goede
  4 siblings, 0 replies; 31+ messages in thread
From: Daniel Gomez @ 2024-11-14 11:50 UTC (permalink / raw)
  To: Uwe Kleine-König, Luis Chamberlain
  Cc: Werner Sembach, tux, Petr Pavlu, Sami Tolvanen, linux-modules,
	linux-kernel, Thorsten Leemhuis

On Thu Nov 14, 2024 at 11:31 AM CET, Uwe Kleine-König wrote:
> Hello,
>
> the kernel modules provided by Tuxedo on
> https://protect2.fireeye.com/v1/url?k=2f239e82-70bfb7a8-2f2215cd-000babe598f7-32952349600b722d&q=1&e=9535a8fa-5a9d-4d94-a12d-ff39b9d3b9cf&u=https%3A%2F%2Fgitlab.com%2Ftuxedocomputers%2Fdevelopment%2Fpackages%2Ftuxedo-drivers
> are licensed under GPLv3 or later. This is incompatible with the
> kernel's license and so makes it impossible for distributions and other
> third parties to support these at least in pre-compiled form and so
> limits user experience and the possibilities to work on mainlining these
> drivers.
>
> This incompatibility is created on purpose to control the upstream
> process. See https://protect2.fireeye.com/v1/url?k=12fa0a06-4d66232c-12fb8149-000babe598f7-5be6d19feac11441&q=1&e=9535a8fa-5a9d-4d94-a12d-ff39b9d3b9cf&u=https%3A%2F%2Ffosstodon.org%2F%40kernellogger%2F113423314337991594 for
> a nice summary of the situation and some further links about the issue.
>
> Note that the pull request that fixed the MODULE_LICENSE invocations to
> stop claiming GPL(v2) compatibility was accepted and then immediately
> reverted "for the time being until the legal stuff is sorted out"
> (https://protect2.fireeye.com/v1/url?k=80a9845b-df35ad71-80a80f14-000babe598f7-b5ddbbaedbccb553&q=1&e=9535a8fa-5a9d-4d94-a12d-ff39b9d3b9cf&u=https%3A%2F%2Fgitlab.com%2Ftuxedocomputers%2Fdevelopment%2Fpackages%2Ftuxedo-drivers%2F-%2Fcommit%2Fa8c09b6c2ce6393fe39d8652d133af9f06cfb427).

This commit did not remove the license boilerplate as this other one [1]
upstream did. So I think the license was still inconsistent.

[1] 1a59d1b8e05ea6ab45f7e18897de1ef0e6bc3da6 ("treewide: Replace GPLv2
boilerplate/reference with SPDX - rule 15").

>
> Best regards
> Uwe
>
> Uwe Kleine-König (2):
>   module: Put known GPL offenders in an array
>   module: Block modules by Tuxedo from accessing GPL symbols
>
>  kernel/module/main.c | 56 +++++++++++++++++++++++++++++++++++++-------
>  1 file changed, 47 insertions(+), 9 deletions(-)
>
> base-commit: 28955f4fa2823e39f1ecfb3a37a364563527afbc


^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 2/2] module: Block modules by Tuxedo from accessing GPL symbols
  2024-11-14 10:31   ` [PATCH 2/2] module: Block modules by Tuxedo from accessing GPL symbols Uwe Kleine-König
@ 2024-11-14 11:56     ` Daniel Gomez
  2024-11-15  4:40       ` Greg KH
  2024-11-14 16:09     ` Christoph Hellwig
                       ` (2 subsequent siblings)
  3 siblings, 1 reply; 31+ messages in thread
From: Daniel Gomez @ 2024-11-14 11:56 UTC (permalink / raw)
  To: Uwe Kleine-König, Luis Chamberlain
  Cc: Werner Sembach, tux, Petr Pavlu, Sami Tolvanen, linux-modules,
	linux-kernel, Thorsten Leemhuis

On Thu Nov 14, 2024 at 11:31 AM CET, Uwe Kleine-König wrote:
> Tuxedo licenses the modules used on their hardware under GPLv3+, to
> "keep control of the upstream pacing" – and want to re-license the code
> while upstreaming.
>
> They were asked to then at least not use MODULE_LICENSE("GPL") which
> declares compatibility to the kernel's GPLv2. They accepted the pull
> request and shortly after reverted the change and so continue to lie
> about the license.
>
> So teach the module loader that these modules are proprietary despite
> their declaration to be GPLv2 compatible "until the legal stuff is
> sorted out".
>
> Link: https://protect2.fireeye.com/v1/url?k=02b4686b-633f7d5d-02b5e324-74fe485cbff1-8cd9af635fd1f7c7&q=1&e=5f0a08bc-f529-4e41-a7a1-5aa45c54b8d9&u=https%3A%2F%2Fgitlab.com%2Ftuxedocomputers%2Fdevelopment%2Fpackages%2Ftuxedo-drivers%2F-%2Fcommit%2Fa8c09b6c2ce6393fe39d8652d133af9f06cfb427
> Signed-off-by: Uwe Kleine-König <ukleinek@kernel.org>
> ---
>  kernel/module/main.c | 33 +++++++++++++++++++++++++++++++++
>  1 file changed, 33 insertions(+)
>
> diff --git a/kernel/module/main.c b/kernel/module/main.c
> index 878191c65efc..46badbb09d5e 100644
> --- a/kernel/module/main.c
> +++ b/kernel/module/main.c
> @@ -2338,6 +2338,39 @@ static const char *module_license_offenders[] = {
>  
>  	/* lve claims to be GPL but upstream won't provide source */
>  	"lve",
> +
> +	/*
> +	 * Tuxedo distributes their kernel modules under GPLv3, but intentially
Typo here.
> +	 * lies in their MODULE_LICENSE() calls.
> +	 * See https://protect2.fireeye.com/v1/url?k=60e8a9e4-0163bcd2-60e922ab-74fe485cbff1-eff87fdcdb83953a&q=1&e=5f0a08bc-f529-4e41-a7a1-5aa45c54b8d9&u=https%3A%2F%2Fgitlab.com%2Ftuxedocomputers%2Fdevelopment%2Fpackages%2Ftuxedo-drivers%2F-%2Fcommit%2Fa8c09b6c2ce6393fe39d8652d133af9f06cfb427
> +	 */
> +	"gxtp7380",
> +	"ite_8291",
> +	"ite_8291_lb",
> +	"ite_8297",
> +	"ite_829x",
> +	"stk8321",
> +	"tuxedo_compatibility_check",
> +	"tuxedo_io",
> +	"tuxedo_nb02_nvidia_power_ctrl",
> +	"tuxedo_nb04_keyboard",
> +	"tuxedo_nb04_wmi_ab",
> +	"tuxedo_nb04_wmi_bs",
> +	"tuxedo_nb04_sensors",
> +	"tuxedo_nb04_power_profiles",
> +	"tuxedo_nb04_kbd_backlight",
> +	"tuxedo_nb05_keyboard",
> +	"tuxedo_nb05_kbd_backlight",
> +	"tuxedo_nb05_power_profiles",
> +	"tuxedo_nb05_ec",
> +	"tuxedo_nb05_sensors",
> +	"tuxedo_nb05_fan_control",
> +	"tuxi_acpi",
> +	"tuxedo_tuxi_fan_control",
> +	"clevo_wmi",
> +	"tuxedo_keyboard",
> +	"clevo_acpi",
> +	"uniwill_wmi",
>  };

This does not prevent module rename on their side and still bypass the
module license taint check right?

>  
>  /*


^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 1/2] module: Put known GPL offenders in an array
  2024-11-14 10:31   ` [PATCH 1/2] module: Put known GPL offenders in an array Uwe Kleine-König
@ 2024-11-14 16:08     ` Christoph Hellwig
  2024-11-15  4:40     ` Greg KH
  1 sibling, 0 replies; 31+ messages in thread
From: Christoph Hellwig @ 2024-11-14 16:08 UTC (permalink / raw)
  To: Uwe Kleine-König
  Cc: Luis Chamberlain, Werner Sembach, tux, Petr Pavlu, Sami Tolvanen,
	Daniel Gomez, linux-modules, linux-kernel, Thorsten Leemhuis

On Thu, Nov 14, 2024 at 11:31:33AM +0100, Uwe Kleine-König wrote:
> Instead of repeating the add_taint_module() call for each offender, create
> an array and loop over that one. This simplifies adding new entries
> considerably.
> 
> Signed-off-by: Uwe Kleine-König <ukleinek@kernel.org>

Looks good:

Reviewed-by: Christoph Hellwig <hch@lst.de>


^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 2/2] module: Block modules by Tuxedo from accessing GPL symbols
  2024-11-14 10:31   ` [PATCH 2/2] module: Block modules by Tuxedo from accessing GPL symbols Uwe Kleine-König
  2024-11-14 11:56     ` Daniel Gomez
@ 2024-11-14 16:09     ` Christoph Hellwig
  2024-11-14 19:21       ` Aaron Rainbolt
  2024-11-15  4:40     ` Greg KH
  2024-11-18 10:11     ` Werner Sembach
  3 siblings, 1 reply; 31+ messages in thread
From: Christoph Hellwig @ 2024-11-14 16:09 UTC (permalink / raw)
  To: Uwe Kleine-König
  Cc: Luis Chamberlain, Werner Sembach, tux, Petr Pavlu, Sami Tolvanen,
	Daniel Gomez, linux-modules, linux-kernel, Thorsten Leemhuis

Thanks for doing this!

Reviewed-by: Christoph Hellwig <hch@lst.de>


^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 2/2] module: Block modules by Tuxedo from accessing GPL symbols
  2024-11-14 16:09     ` Christoph Hellwig
@ 2024-11-14 19:21       ` Aaron Rainbolt
  2024-11-14 23:06         ` Al Viro
  0 siblings, 1 reply; 31+ messages in thread
From: Aaron Rainbolt @ 2024-11-14 19:21 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: Uwe Kleine-König, Luis Chamberlain, Werner Sembach, tux,
	Petr Pavlu, Sami Tolvanen, Daniel Gomez, linux-modules,
	linux-kernel, Thorsten Leemhuis

[-- Attachment #1: Type: text/plain, Size: 1378 bytes --]

On Thu, 14 Nov 2024 08:09:17 -0800
Christoph Hellwig <hch@infradead.org> wrote:

> Thanks for doing this!
> 
> Reviewed-by: Christoph Hellwig <hch@lst.de>

(Just as a heads-up, I have no affiliation with Tuxedo. Also, I've
tried to tone down my email a bit, but I am pretty upset after looking
at this, and really, *really* do not want to use a kernel that has this
patch set merged. Also, I'm speaking strictly in my own capacity here.)

I might be misunderstanding things here, but does this patch set
prevent end-users from compiling and using Tuxedo's modules themselves
if they want to? AIUI, it's fine to distribute GPLv3 code that is
intended to link against GPLv2 code as long as you don't distribute the
binary you get after compiling and linking. It looks to me like this
patch will prevent users from compiling Tuxedo's modules for personal
use on their own systems though. I personally dislike that for ethical
reasons - I should be able to use whatever code I legally obtain on my
system, and I don't like my use of Linux being wielded against another
open-source project by requiring them to relicense their code or no one
will be able to use their modules.

--
Aaron
Ubuntu Developer
Launchpad: https://launchpad.net/~arraybolt3
Matrix: @arraybolt3:ubuntu.com
Github: https://github.com/ArrayBolt3
Mastodon: @arraybolt3@theres.life

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 2/2] module: Block modules by Tuxedo from accessing GPL symbols
  2024-11-14 19:21       ` Aaron Rainbolt
@ 2024-11-14 23:06         ` Al Viro
  0 siblings, 0 replies; 31+ messages in thread
From: Al Viro @ 2024-11-14 23:06 UTC (permalink / raw)
  To: Aaron Rainbolt
  Cc: Christoph Hellwig, Uwe Kleine-König, Luis Chamberlain,
	Werner Sembach, tux, Petr Pavlu, Sami Tolvanen, Daniel Gomez,
	linux-modules, linux-kernel, Thorsten Leemhuis

On Thu, Nov 14, 2024 at 01:21:41PM -0600, Aaron Rainbolt wrote:

> binary you get after compiling and linking. It looks to me like this
> patch will prevent users from compiling Tuxedo's modules for personal
> use on their own systems though. I personally dislike that for ethical
> reasons - I should be able to use whatever code I legally obtain on my
> system, and I don't like my use of Linux being wielded against another
> open-source project by requiring them to relicense their code or no one
> will be able to use their modules.

I would question the "open-source" part here, TBH...  I'm no fan of
GPLv3 (to put it mildly), but I really wonder if that use of said
license is in keeping with its, er, spirit.  Ironic, that...

Seriously, WTF had these folks had been thinking when they chose GPLv3
for a kernel module?  I'm yet to see any coherent explanation - and
the ones I have seen would be _really_ incompatible with the stated
goals of GPLv3.  To such a degree that I can't take them as anything
plausible.

Could somebody who'd been there at least explain the rationale for
the license choice made back then?

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 2/2] module: Block modules by Tuxedo from accessing GPL symbols
  2024-11-14 11:56     ` Daniel Gomez
@ 2024-11-15  4:40       ` Greg KH
  0 siblings, 0 replies; 31+ messages in thread
From: Greg KH @ 2024-11-15  4:40 UTC (permalink / raw)
  To: Daniel Gomez
  Cc: Uwe Kleine-König, Luis Chamberlain, Werner Sembach, tux,
	Petr Pavlu, Sami Tolvanen, linux-modules, linux-kernel,
	Thorsten Leemhuis

On Thu, Nov 14, 2024 at 12:56:20PM +0100, Daniel Gomez wrote:
> On Thu Nov 14, 2024 at 11:31 AM CET, Uwe Kleine-König wrote:
> > Tuxedo licenses the modules used on their hardware under GPLv3+, to
> > "keep control of the upstream pacing" – and want to re-license the code
> > while upstreaming.
> >
> > They were asked to then at least not use MODULE_LICENSE("GPL") which
> > declares compatibility to the kernel's GPLv2. They accepted the pull
> > request and shortly after reverted the change and so continue to lie
> > about the license.
> >
> > So teach the module loader that these modules are proprietary despite
> > their declaration to be GPLv2 compatible "until the legal stuff is
> > sorted out".
> >
> > Link: https://protect2.fireeye.com/v1/url?k=02b4686b-633f7d5d-02b5e324-74fe485cbff1-8cd9af635fd1f7c7&q=1&e=5f0a08bc-f529-4e41-a7a1-5aa45c54b8d9&u=https%3A%2F%2Fgitlab.com%2Ftuxedocomputers%2Fdevelopment%2Fpackages%2Ftuxedo-drivers%2F-%2Fcommit%2Fa8c09b6c2ce6393fe39d8652d133af9f06cfb427
> > Signed-off-by: Uwe Kleine-König <ukleinek@kernel.org>
> > ---
> >  kernel/module/main.c | 33 +++++++++++++++++++++++++++++++++
> >  1 file changed, 33 insertions(+)
> >
> > diff --git a/kernel/module/main.c b/kernel/module/main.c
> > index 878191c65efc..46badbb09d5e 100644
> > --- a/kernel/module/main.c
> > +++ b/kernel/module/main.c
> > @@ -2338,6 +2338,39 @@ static const char *module_license_offenders[] = {
> >  
> >  	/* lve claims to be GPL but upstream won't provide source */
> >  	"lve",
> > +
> > +	/*
> > +	 * Tuxedo distributes their kernel modules under GPLv3, but intentially
> Typo here.
> > +	 * lies in their MODULE_LICENSE() calls.
> > +	 * See https://protect2.fireeye.com/v1/url?k=60e8a9e4-0163bcd2-60e922ab-74fe485cbff1-eff87fdcdb83953a&q=1&e=5f0a08bc-f529-4e41-a7a1-5aa45c54b8d9&u=https%3A%2F%2Fgitlab.com%2Ftuxedocomputers%2Fdevelopment%2Fpackages%2Ftuxedo-drivers%2F-%2Fcommit%2Fa8c09b6c2ce6393fe39d8652d133af9f06cfb427
> > +	 */
> > +	"gxtp7380",
> > +	"ite_8291",
> > +	"ite_8291_lb",
> > +	"ite_8297",
> > +	"ite_829x",
> > +	"stk8321",
> > +	"tuxedo_compatibility_check",
> > +	"tuxedo_io",
> > +	"tuxedo_nb02_nvidia_power_ctrl",
> > +	"tuxedo_nb04_keyboard",
> > +	"tuxedo_nb04_wmi_ab",
> > +	"tuxedo_nb04_wmi_bs",
> > +	"tuxedo_nb04_sensors",
> > +	"tuxedo_nb04_power_profiles",
> > +	"tuxedo_nb04_kbd_backlight",
> > +	"tuxedo_nb05_keyboard",
> > +	"tuxedo_nb05_kbd_backlight",
> > +	"tuxedo_nb05_power_profiles",
> > +	"tuxedo_nb05_ec",
> > +	"tuxedo_nb05_sensors",
> > +	"tuxedo_nb05_fan_control",
> > +	"tuxi_acpi",
> > +	"tuxedo_tuxi_fan_control",
> > +	"clevo_wmi",
> > +	"tuxedo_keyboard",
> > +	"clevo_acpi",
> > +	"uniwill_wmi",
> >  };
> 
> This does not prevent module rename on their side and still bypass the
> module license taint check right?

Intent matters.  If people rename their modules just to try to work
around a check like this, and do not actually properly change the
license of the code, it's obvious what they are doing is against the
wishes of the project.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 2/2] module: Block modules by Tuxedo from accessing GPL symbols
  2024-11-14 10:31   ` [PATCH 2/2] module: Block modules by Tuxedo from accessing GPL symbols Uwe Kleine-König
  2024-11-14 11:56     ` Daniel Gomez
  2024-11-14 16:09     ` Christoph Hellwig
@ 2024-11-15  4:40     ` Greg KH
  2024-11-18 10:11     ` Werner Sembach
  3 siblings, 0 replies; 31+ messages in thread
From: Greg KH @ 2024-11-15  4:40 UTC (permalink / raw)
  To: Uwe Kleine-König
  Cc: Luis Chamberlain, Werner Sembach, tux, Petr Pavlu, Sami Tolvanen,
	Daniel Gomez, linux-modules, linux-kernel, Thorsten Leemhuis

On Thu, Nov 14, 2024 at 11:31:34AM +0100, Uwe Kleine-König wrote:
> Tuxedo licenses the modules used on their hardware under GPLv3+, to
> "keep control of the upstream pacing" – and want to re-license the code
> while upstreaming.
> 
> They were asked to then at least not use MODULE_LICENSE("GPL") which
> declares compatibility to the kernel's GPLv2. They accepted the pull
> request and shortly after reverted the change and so continue to lie
> about the license.
> 
> So teach the module loader that these modules are proprietary despite
> their declaration to be GPLv2 compatible "until the legal stuff is
> sorted out".
> 
> Link: https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers/-/commit/a8c09b6c2ce6393fe39d8652d133af9f06cfb427
> Signed-off-by: Uwe Kleine-König <ukleinek@kernel.org>


Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>



^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 1/2] module: Put known GPL offenders in an array
  2024-11-14 10:31   ` [PATCH 1/2] module: Put known GPL offenders in an array Uwe Kleine-König
  2024-11-14 16:08     ` Christoph Hellwig
@ 2024-11-15  4:40     ` Greg KH
  1 sibling, 0 replies; 31+ messages in thread
From: Greg KH @ 2024-11-15  4:40 UTC (permalink / raw)
  To: Uwe Kleine-König
  Cc: Luis Chamberlain, Werner Sembach, tux, Petr Pavlu, Sami Tolvanen,
	Daniel Gomez, linux-modules, linux-kernel, Thorsten Leemhuis

On Thu, Nov 14, 2024 at 11:31:33AM +0100, Uwe Kleine-König wrote:
> Instead of repeating the add_taint_module() call for each offender, create
> an array and loop over that one. This simplifies adding new entries
> considerably.
> 
> Signed-off-by: Uwe Kleine-König <ukleinek@kernel.org>
> ---
>  kernel/module/main.c | 23 ++++++++++++++---------
>  1 file changed, 14 insertions(+), 9 deletions(-)

Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 0/2] module: Block modules by Tuxedo from accessing GPL symbols
  2024-11-14 10:49   ` [PATCH 0/2] " Werner Sembach
  2024-11-14 11:14     ` Uwe Kleine-König
@ 2024-11-15  4:43     ` Greg KH
  2024-11-15  6:09       ` Werner Sembach
  1 sibling, 1 reply; 31+ messages in thread
From: Greg KH @ 2024-11-15  4:43 UTC (permalink / raw)
  To: Werner Sembach
  Cc: Uwe Kleine-König, Luis Chamberlain, tux, Petr Pavlu,
	Sami Tolvanen, Daniel Gomez, linux-modules, linux-kernel,
	Thorsten Leemhuis

On Thu, Nov 14, 2024 at 11:49:04AM +0100, Werner Sembach wrote:
> Hello,
> 
> Am 14.11.24 um 11:31 schrieb Uwe Kleine-König:
> > Hello,
> > 
> > the kernel modules provided by Tuxedo on
> > https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers
> > are licensed under GPLv3 or later. This is incompatible with the
> > kernel's license and so makes it impossible for distributions and other
> > third parties to support these at least in pre-compiled form and so
> > limits user experience and the possibilities to work on mainlining these
> > drivers.
> > 
> > This incompatibility is created on purpose to control the upstream
> > process. See https://fosstodon.org/@kernellogger/113423314337991594 for
> > a nice summary of the situation and some further links about the issue.
> > 
> > Note that the pull request that fixed the MODULE_LICENSE invocations to
> > stop claiming GPL(v2) compatibility was accepted and then immediately
> > reverted "for the time being until the legal stuff is sorted out"
> > (https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers/-/commit/a8c09b6c2ce6393fe39d8652d133af9f06cfb427).
> 
> As already being implied by that commit message, this is sadly not an issue
> that can be sorted out over night.
> 
> We ended up in this situation as MODULE_LICENSE("GPL") on its own does not
> hint at GPL v2, if one is not aware of the license definition table in the
> documentation.

That's why it is documented, to explain this very thing.  Please don't
suggest that documenting this is somehow not providing a hint.  That's
just not going to fly with any lawyer who reads any of this, sorry.

greg k-h

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 0/2] module: Block modules by Tuxedo from accessing GPL symbols
  2024-11-15  4:43     ` Greg KH
@ 2024-11-15  6:09       ` Werner Sembach
  2024-11-15  6:30         ` Greg KH
  2024-11-15  7:29         ` Uwe Kleine-König
  0 siblings, 2 replies; 31+ messages in thread
From: Werner Sembach @ 2024-11-15  6:09 UTC (permalink / raw)
  To: Greg KH
  Cc: Uwe Kleine-König, Luis Chamberlain, tux, Petr Pavlu,
	Sami Tolvanen, Daniel Gomez, linux-modules, linux-kernel,
	Thorsten Leemhuis

Hi,

Am 15.11.24 um 05:43 schrieb Greg KH:
> On Thu, Nov 14, 2024 at 11:49:04AM +0100, Werner Sembach wrote:
>> Hello,
>>
>> Am 14.11.24 um 11:31 schrieb Uwe Kleine-König:
>>> Hello,
>>>
>>> the kernel modules provided by Tuxedo on
>>> https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers
>>> are licensed under GPLv3 or later. This is incompatible with the
>>> kernel's license and so makes it impossible for distributions and other
>>> third parties to support these at least in pre-compiled form and so
>>> limits user experience and the possibilities to work on mainlining these
>>> drivers.
>>>
>>> This incompatibility is created on purpose to control the upstream
>>> process. Seehttps://fosstodon.org/@kernellogger/113423314337991594 for
>>> a nice summary of the situation and some further links about the issue.
>>>
>>> Note that the pull request that fixed the MODULE_LICENSE invocations to
>>> stop claiming GPL(v2) compatibility was accepted and then immediately
>>> reverted "for the time being until the legal stuff is sorted out"
>>> (https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers/-/commit/a8c09b6c2ce6393fe39d8652d133af9f06cfb427).
>> As already being implied by that commit message, this is sadly not an issue
>> that can be sorted out over night.
>>
>> We ended up in this situation as MODULE_LICENSE("GPL") on its own does not
>> hint at GPL v2, if one is not aware of the license definition table in the
>> documentation.
> That's why it is documented, to explain this very thing.  Please don't
> suggest that documenting this is somehow not providing a hint.  That's
> just not going to fly with any lawyer who reads any of this, sorry.

You are right, that's why when I became aware of the situation this Monday 
https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers/-/commit/9db67459510f18084694c597ff1ea57ef1842f4e 
I got the gears to resolve this into moving (me playing devils advocate here is 
directly related to this 
https://lore.kernel.org/all/17276996-dcca-4ab5-a64f-0e76514c5dc7@tuxedocomputers.com/) 
and then returned on working on the code rewrite for upstream ( 
https://lore.kernel.org/all/8847423c-22ec-4775-9119-de3e0ddb5204@tuxedocomputers.com/ 
is directly related to that), because I'm a developer not a lawyer.

Then I get called a liar and hit with the nuclear option not even full 3 days 
later, while I'm working on resolving the issue and in parallel working on 
improving the code for it to be actually accepted by upstream.

If you want prove of my blissful ignorance from just last week please take a 
look at my comment here: 
https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers/-/merge_requests/21#note_2201702758

Now trying to be constructive: Can you give me a timeframe to resolve the 
license issue before this is merged?

Kind regards,

Werner Sembach

> greg k-h

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 0/2] module: Block modules by Tuxedo from accessing GPL symbols
  2024-11-15  6:09       ` Werner Sembach
@ 2024-11-15  6:30         ` Greg KH
  2024-11-15  7:29         ` Uwe Kleine-König
  1 sibling, 0 replies; 31+ messages in thread
From: Greg KH @ 2024-11-15  6:30 UTC (permalink / raw)
  To: Werner Sembach
  Cc: Uwe Kleine-König, Luis Chamberlain, tux, Petr Pavlu,
	Sami Tolvanen, Daniel Gomez, linux-modules, linux-kernel,
	Thorsten Leemhuis

On Fri, Nov 15, 2024 at 07:09:49AM +0100, Werner Sembach wrote:
> Hi,
> 
> Am 15.11.24 um 05:43 schrieb Greg KH:
> > On Thu, Nov 14, 2024 at 11:49:04AM +0100, Werner Sembach wrote:
> > > Hello,
> > > 
> > > Am 14.11.24 um 11:31 schrieb Uwe Kleine-König:
> > > > Hello,
> > > > 
> > > > the kernel modules provided by Tuxedo on
> > > > https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers
> > > > are licensed under GPLv3 or later. This is incompatible with the
> > > > kernel's license and so makes it impossible for distributions and other
> > > > third parties to support these at least in pre-compiled form and so
> > > > limits user experience and the possibilities to work on mainlining these
> > > > drivers.
> > > > 
> > > > This incompatibility is created on purpose to control the upstream
> > > > process. Seehttps://fosstodon.org/@kernellogger/113423314337991594 for
> > > > a nice summary of the situation and some further links about the issue.
> > > > 
> > > > Note that the pull request that fixed the MODULE_LICENSE invocations to
> > > > stop claiming GPL(v2) compatibility was accepted and then immediately
> > > > reverted "for the time being until the legal stuff is sorted out"
> > > > (https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers/-/commit/a8c09b6c2ce6393fe39d8652d133af9f06cfb427).
> > > As already being implied by that commit message, this is sadly not an issue
> > > that can be sorted out over night.
> > > 
> > > We ended up in this situation as MODULE_LICENSE("GPL") on its own does not
> > > hint at GPL v2, if one is not aware of the license definition table in the
> > > documentation.
> > That's why it is documented, to explain this very thing.  Please don't
> > suggest that documenting this is somehow not providing a hint.  That's
> > just not going to fly with any lawyer who reads any of this, sorry.
> 
> You are right, that's why when I became aware of the situation this Monday https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers/-/commit/9db67459510f18084694c597ff1ea57ef1842f4e
> I got the gears to resolve this into moving (me playing devils advocate here
> is directly related to this https://lore.kernel.org/all/17276996-dcca-4ab5-a64f-0e76514c5dc7@tuxedocomputers.com/)
> and then returned on working on the code rewrite for upstream ( https://lore.kernel.org/all/8847423c-22ec-4775-9119-de3e0ddb5204@tuxedocomputers.com/
> is directly related to that), because I'm a developer not a lawyer.

I would strongly suggest you work with your lawyers now as they are the
ones that need to resolve this properly.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 0/2] module: Block modules by Tuxedo from accessing GPL symbols
  2024-11-15  6:09       ` Werner Sembach
  2024-11-15  6:30         ` Greg KH
@ 2024-11-15  7:29         ` Uwe Kleine-König
  2024-11-15  9:00           ` Werner Sembach
  1 sibling, 1 reply; 31+ messages in thread
From: Uwe Kleine-König @ 2024-11-15  7:29 UTC (permalink / raw)
  To: Werner Sembach
  Cc: Greg KH, Luis Chamberlain, tux, Petr Pavlu, Sami Tolvanen,
	Daniel Gomez, linux-modules, linux-kernel, Thorsten Leemhuis

[-- Attachment #1: Type: text/plain, Size: 5652 bytes --]

Hello Werner,

On Fri, Nov 15, 2024 at 07:09:49AM +0100, Werner Sembach wrote:
> Am 15.11.24 um 05:43 schrieb Greg KH:
> > On Thu, Nov 14, 2024 at 11:49:04AM +0100, Werner Sembach wrote:
> > > Am 14.11.24 um 11:31 schrieb Uwe Kleine-König:
> > > > the kernel modules provided by Tuxedo on
> > > > https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers
> > > > are licensed under GPLv3 or later. This is incompatible with the
> > > > kernel's license and so makes it impossible for distributions and other
> > > > third parties to support these at least in pre-compiled form and so
> > > > limits user experience and the possibilities to work on mainlining these
> > > > drivers.
> > > > 
> > > > This incompatibility is created on purpose to control the upstream
> > > > process. Seehttps://fosstodon.org/@kernellogger/113423314337991594 for
> > > > a nice summary of the situation and some further links about the issue.
> > > > 
> > > > Note that the pull request that fixed the MODULE_LICENSE invocations to
> > > > stop claiming GPL(v2) compatibility was accepted and then immediately
> > > > reverted "for the time being until the legal stuff is sorted out"
> > > > (https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers/-/commit/a8c09b6c2ce6393fe39d8652d133af9f06cfb427).
> > > As already being implied by that commit message, this is sadly not an issue
> > > that can be sorted out over night.
> > > 
> > > We ended up in this situation as MODULE_LICENSE("GPL") on its own does not
> > > hint at GPL v2, if one is not aware of the license definition table in the
> > > documentation.
> > That's why it is documented, to explain this very thing.  Please don't
> > suggest that documenting this is somehow not providing a hint.  That's
> > just not going to fly with any lawyer who reads any of this, sorry.
> 
> You are right, that's why when I became aware of the situation this Monday https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers/-/commit/9db67459510f18084694c597ff1ea57ef1842f4e

We should differentiate two situations here: The one is from Monday
when you realised that a non-GPL2 compatible kernel module is unable to
use many functions. The other (and IMHO more relevant) is when GPLv3 was
chosen knowing it's incompatible with the kernel's license. I would
argue that you were aware of that since at least March this year
(https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers/-/issues/137#note_1807179414).

And in my opinion
https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers/-/commit/a8c09b6c2ce6393fe39d8652d133af9f06cfb427
was a wrong reaction. I received this as a statement that your company's
goals are important enough to not adhere to the kernel's license and the
open source spirit. This was what triggered me to create the patch under
discussion.

> I got the gears to resolve this into moving (me playing devils advocate here
> is directly related to this https://lore.kernel.org/all/17276996-dcca-4ab5-a64f-0e76514c5dc7@tuxedocomputers.com/)
> and then returned on working on the code rewrite for upstream ( https://lore.kernel.org/all/8847423c-22ec-4775-9119-de3e0ddb5204@tuxedocomputers.com/
> is directly related to that), because I'm a developer not a lawyer.

I agree that it's unlucky that MODULE_LICENSE("GPL") doesn't apply for
GPLv3. Not sure if it's sensible to deprecate "GPL" and mandate "GPL v2"
though.

> Then I get called a liar

I guess you mean me here saying "That statement isn't consistent with
you saying to pick GPLv3 as an explicitly incompatible license to
control the mainlining process. So you knew that it's legally at least
questionable to combine these licenses."? If so: I understand that this
is discomfortable suggestion. However with my current understanding it's
true. If this is a problem with my understanding, please point out where
I'm wrong.

> and hit with the nuclear option not even full 3 days later,

For now we're in the discussion period for this "option". I would expect
that this patch doesn't go in before 6.12. So 6.13-rc1 should be the
earliest broken ("enforcing") kernel which probably starts to affect
your users starting with 6.13 final. The actual decision if and when to
apply this patch isn't mine though. But you should have at least a few
weeks to work on resolving the licensing.

> while I'm working on resolving the issue

This is good. You have my support to revert the patch under discussion
as soon as this is resolved.

> and in parallel working on improving the code for it to be actually
> accepted by upstream.
> 
> If you want prove of my blissful ignorance from just last week please take a
> look at my comment here: https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers/-/merge_requests/21#note_2201702758

I indeed wondered about your reaction.

> Now trying to be constructive: Can you give me a timeframe to resolve the
> license issue before this is merged?

I would wish that in people's mind open source licensing would be taken
as serious as for example fiscal laws. If my company was caught as tax
evader the officials would rather shut down the company's operation than
to allow another month with unclean bookkeeping.

So if you ask for my opinion, the right thing to do would be to stop
distributing tuxedo-drivers until this is resolved. Then I'd guess it's
your company's officials who would tell you about a time frame. But I'm
aware that I'm on the strong side of the spectrum of possibilities here.

Best regards
Uwe

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 0/2] module: Block modules by Tuxedo from accessing GPL symbols
  2024-11-15  7:29         ` Uwe Kleine-König
@ 2024-11-15  9:00           ` Werner Sembach
  2024-11-15  9:18             ` Greg KH
  0 siblings, 1 reply; 31+ messages in thread
From: Werner Sembach @ 2024-11-15  9:00 UTC (permalink / raw)
  To: Uwe Kleine-König
  Cc: Greg KH, Luis Chamberlain, tux, Petr Pavlu, Sami Tolvanen,
	Daniel Gomez, linux-modules, linux-kernel, Thorsten Leemhuis,
	Vinzenz Vietzke, Christoffer Sandberg

Hello Uwe,

Am 15.11.24 um 08:29 schrieb Uwe Kleine-König:
> Hello Werner,
>
> On Fri, Nov 15, 2024 at 07:09:49AM +0100, Werner Sembach wrote:
>> Am 15.11.24 um 05:43 schrieb Greg KH:
>>> On Thu, Nov 14, 2024 at 11:49:04AM +0100, Werner Sembach wrote:
>>>> Am 14.11.24 um 11:31 schrieb Uwe Kleine-König:
>>>>> the kernel modules provided by Tuxedo on
>>>>> https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers
>>>>> are licensed under GPLv3 or later. This is incompatible with the
>>>>> kernel's license and so makes it impossible for distributions and other
>>>>> third parties to support these at least in pre-compiled form and so
>>>>> limits user experience and the possibilities to work on mainlining these
>>>>> drivers.
>>>>>
>>>>> This incompatibility is created on purpose to control the upstream
>>>>> process. Seehttps://fosstodon.org/@kernellogger/113423314337991594 for
>>>>> a nice summary of the situation and some further links about the issue.
>>>>>
>>>>> Note that the pull request that fixed the MODULE_LICENSE invocations to
>>>>> stop claiming GPL(v2) compatibility was accepted and then immediately
>>>>> reverted "for the time being until the legal stuff is sorted out"
>>>>> (https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers/-/commit/a8c09b6c2ce6393fe39d8652d133af9f06cfb427).
>>>> As already being implied by that commit message, this is sadly not an issue
>>>> that can be sorted out over night.
>>>>
>>>> We ended up in this situation as MODULE_LICENSE("GPL") on its own does not
>>>> hint at GPL v2, if one is not aware of the license definition table in the
>>>> documentation.
>>> That's why it is documented, to explain this very thing.  Please don't
>>> suggest that documenting this is somehow not providing a hint.  That's
>>> just not going to fly with any lawyer who reads any of this, sorry.
>> You are right, that's why when I became aware of the situation this Monday https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers/-/commit/9db67459510f18084694c597ff1ea57ef1842f4e
> We should differentiate two situations here: The one is from Monday
> when you realised that a non-GPL2 compatible kernel module is unable to
> use many functions. The other (and IMHO more relevant) is when GPLv3 was
> chosen knowing it's incompatible with the kernel's license. I would
> argue that you were aware of that since at least March this year
> (https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers/-/issues/137#note_1807179414).

Yes I was aware of this for in-tree modules, I was not aware of this for out of 
tree modules: 
https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers/-/issues/137#note_2066858305

Sadly I did not get corrected on my mistake back then, otherwise I would have 
started then to get things moving and not only last Monday.

>
> And in my opinion
> https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers/-/commit/a8c09b6c2ce6393fe39d8652d133af9f06cfb427
> was a wrong reaction. I received this as a statement that your company's
> goals are important enough to not adhere to the kernel's license and the
> open source spirit. This was what triggered me to create the patch under
> discussion.

The revert was done not to block the release of the fan control for the Sirius, 
and as already mentioned in the commit: It is a temporary action.

I hoped to gain more time. TBH I feel a little bit of regret doing this 
experimentation in public now, as I would have had probably more time if i 
didn't (no offense).

>
>> I got the gears to resolve this into moving (me playing devils advocate here
>> is directly related to this https://lore.kernel.org/all/17276996-dcca-4ab5-a64f-0e76514c5dc7@tuxedocomputers.com/)
>> and then returned on working on the code rewrite for upstream ( https://lore.kernel.org/all/8847423c-22ec-4775-9119-de3e0ddb5204@tuxedocomputers.com/
>> is directly related to that), because I'm a developer not a lawyer.
> I agree that it's unlucky that MODULE_LICENSE("GPL") doesn't apply for
> GPLv3. Not sure if it's sensible to deprecate "GPL" and mandate "GPL v2"
> though.
>
>> Then I get called a liar
> I guess you mean me here saying "That statement isn't consistent with
> you saying to pick GPLv3 as an explicitly incompatible license to
> control the mainlining process. So you knew that it's legally at least
> questionable to combine these licenses."? If so: I understand that this
> is discomfortable suggestion. However with my current understanding it's
> true. If this is a problem with my understanding, please point out where
> I'm wrong.
It's about that second sentence "So you knew that it's legally [...]" which I 
explicitly stated that I was not e.g. 
https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers/-/issues/137#note_2066858305 
from back in august.
>
>> and hit with the nuclear option not even full 3 days later,
> For now we're in the discussion period for this "option". I would expect
> that this patch doesn't go in before 6.12. So 6.13-rc1 should be the
> earliest broken ("enforcing") kernel which probably starts to affect
> your users starting with 6.13 final. The actual decision if and when to
> apply this patch isn't mine though. But you should have at least a few
> weeks to work on resolving the licensing.

Knowing the issue tracker too well, I know that day one of 6.13-rc1 release a 
discussion will might break loose that binds resources not invested in other stuff.

Also can you guarantee that it's not landing in 6.12(.0)?

That's why I asked for a clear timeframe to work with but I don't know if I can 
get one.

>
>> while I'm working on resolving the issue
> This is good. You have my support to revert the patch under discussion
> as soon as this is resolved.
>
>> and in parallel working on improving the code for it to be actually
>> accepted by upstream.
>>
>> If you want prove of my blissful ignorance from just last week please take a
>> look at my comment here: https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers/-/merge_requests/21#note_2201702758
> I indeed wondered about your reaction.
>
>> Now trying to be constructive: Can you give me a timeframe to resolve the
>> license issue before this is merged?
> I would wish that in people's mind open source licensing would be taken
> as serious as for example fiscal laws. If my company was caught as tax
> evader the officials would rather shut down the company's operation than
> to allow another month with unclean bookkeeping.
>
> So if you ask for my opinion, the right thing to do would be to stop
> distributing tuxedo-drivers until this is resolved. Then I'd guess it's
> your company's officials who would tell you about a time frame. But I'm
> aware that I'm on the strong side of the spectrum of possibilities here.

This would break linux installations on many devices and not only fall back on 
TUXEDO I honestly fear.

I was not around when the decision to license tuxedo-drivers (back then called 
tuxedo-cc-wmi) under GPL v3 was made, but I trust the people here that is was 
not done knowingly violating the GPL v2. And you did agree above that 
MODULE_LICENSE("GPL") is somewhat unluckily named.

I guess what I try to convince you and others is that we _are_ taking Open 
Source licenses seriously, but still there are mistakes to be made, especially 
with complex projects like the Linux kernel, e.g. I'm not aware of any other 
project that uses a similar construct to EXPORT_SYMBOL_GPL()/MODULE_LICENSE().

Best regards,

Werner Sembach

>
> Best regards
> Uwe

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 0/2] module: Block modules by Tuxedo from accessing GPL symbols
  2024-11-15  9:00           ` Werner Sembach
@ 2024-11-15  9:18             ` Greg KH
  2024-11-15  9:40               ` Werner Sembach
  0 siblings, 1 reply; 31+ messages in thread
From: Greg KH @ 2024-11-15  9:18 UTC (permalink / raw)
  To: Werner Sembach
  Cc: Uwe Kleine-König, Luis Chamberlain, tux, Petr Pavlu,
	Sami Tolvanen, Daniel Gomez, linux-modules, linux-kernel,
	Thorsten Leemhuis, Vinzenz Vietzke, Christoffer Sandberg

On Fri, Nov 15, 2024 at 10:00:23AM +0100, Werner Sembach wrote:
> I guess what I try to convince you and others is that we _are_ taking Open
> Source licenses seriously, but still there are mistakes to be made,
> especially with complex projects like the Linux kernel, e.g. I'm not aware
> of any other project that uses a similar construct to
> EXPORT_SYMBOL_GPL()/MODULE_LICENSE().

The Linux kernel is very simple from a license point of view, your code
has to be GPLv2 compatible.  That's it, nothing complex or odd about
that at all.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 0/2] module: Block modules by Tuxedo from accessing GPL symbols
  2024-11-15  9:18             ` Greg KH
@ 2024-11-15  9:40               ` Werner Sembach
  2024-11-15 10:22                 ` Greg KH
  2024-11-15 10:51                 ` Uwe Kleine-König
  0 siblings, 2 replies; 31+ messages in thread
From: Werner Sembach @ 2024-11-15  9:40 UTC (permalink / raw)
  To: Greg KH
  Cc: Uwe Kleine-König, Luis Chamberlain, tux, Petr Pavlu,
	Sami Tolvanen, Daniel Gomez, linux-modules, linux-kernel,
	Thorsten Leemhuis, Vinzenz Vietzke, Christoffer Sandberg


Am 15.11.24 um 10:18 schrieb Greg KH:
> On Fri, Nov 15, 2024 at 10:00:23AM +0100, Werner Sembach wrote:
>> I guess what I try to convince you and others is that we _are_ taking Open
>> Source licenses seriously, but still there are mistakes to be made,
>> especially with complex projects like the Linux kernel, e.g. I'm not aware
>> of any other project that uses a similar construct to
>> EXPORT_SYMBOL_GPL()/MODULE_LICENSE().
> The Linux kernel is very simple from a license point of view, your code
> has to be GPLv2 compatible.  That's it, nothing complex or odd about
> that at all.
Then why does the proprietary NVIDIA driver exist?
>
> thanks,
>
> greg k-h

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 0/2] module: Block modules by Tuxedo from accessing GPL symbols
  2024-11-15  9:40               ` Werner Sembach
@ 2024-11-15 10:22                 ` Greg KH
  2024-11-15 10:59                   ` Werner Sembach
  2024-11-15 10:51                 ` Uwe Kleine-König
  1 sibling, 1 reply; 31+ messages in thread
From: Greg KH @ 2024-11-15 10:22 UTC (permalink / raw)
  To: Werner Sembach
  Cc: Uwe Kleine-König, Luis Chamberlain, tux, Petr Pavlu,
	Sami Tolvanen, Daniel Gomez, linux-modules, linux-kernel,
	Thorsten Leemhuis, Vinzenz Vietzke, Christoffer Sandberg

On Fri, Nov 15, 2024 at 10:40:56AM +0100, Werner Sembach wrote:
> 
> Am 15.11.24 um 10:18 schrieb Greg KH:
> > On Fri, Nov 15, 2024 at 10:00:23AM +0100, Werner Sembach wrote:
> > > I guess what I try to convince you and others is that we _are_ taking Open
> > > Source licenses seriously, but still there are mistakes to be made,
> > > especially with complex projects like the Linux kernel, e.g. I'm not aware
> > > of any other project that uses a similar construct to
> > > EXPORT_SYMBOL_GPL()/MODULE_LICENSE().
> > The Linux kernel is very simple from a license point of view, your code
> > has to be GPLv2 compatible.  That's it, nothing complex or odd about
> > that at all.
> Then why does the proprietary NVIDIA driver exist?

You will have to discuss that with that company's lawyers.  That was
their business decision to make, and in my opinion, the contracts they
wrote around that thing were a mastery of license law in "how to pass
the liability onto someone else."

Luckily we now have open drivers for almost all of that hardware, so
it's not so much of an issue anymore.

Again, talk about this with your company lawyers, they can explain it
all much better than I can.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 0/2] module: Block modules by Tuxedo from accessing GPL symbols
  2024-11-15  9:40               ` Werner Sembach
  2024-11-15 10:22                 ` Greg KH
@ 2024-11-15 10:51                 ` Uwe Kleine-König
  2024-11-15 11:01                   ` Werner Sembach
  1 sibling, 1 reply; 31+ messages in thread
From: Uwe Kleine-König @ 2024-11-15 10:51 UTC (permalink / raw)
  To: Werner Sembach
  Cc: Greg KH, Luis Chamberlain, tux, Petr Pavlu, Sami Tolvanen,
	Daniel Gomez, linux-modules, linux-kernel, Thorsten Leemhuis,
	Vinzenz Vietzke, Christoffer Sandberg

[-- Attachment #1: Type: text/plain, Size: 401 bytes --]

Hello Werner,

On Fri, Nov 15, 2024 at 10:40:56AM +0100, Werner Sembach wrote:
> Then why does the proprietary NVIDIA driver exist?

Please don't use NVIDIA's behaviour as a blueprint for your actions.
INAL, but I would not recommend to deduce from "NVIDIA does it and
wasn't tried to stop" (for any value of "it") that "it" is legal, honest
and in line with the open source spirit.

Best regards
Uwe

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 0/2] module: Block modules by Tuxedo from accessing GPL symbols
  2024-11-15 10:22                 ` Greg KH
@ 2024-11-15 10:59                   ` Werner Sembach
  2024-11-15 12:01                     ` Greg KH
  0 siblings, 1 reply; 31+ messages in thread
From: Werner Sembach @ 2024-11-15 10:59 UTC (permalink / raw)
  To: Greg KH
  Cc: Uwe Kleine-König, Luis Chamberlain, tux, Petr Pavlu,
	Sami Tolvanen, Daniel Gomez, linux-modules, linux-kernel,
	Thorsten Leemhuis, Vinzenz Vietzke, Christoffer Sandberg


Am 15.11.24 um 11:22 schrieb Greg KH:
> On Fri, Nov 15, 2024 at 10:40:56AM +0100, Werner Sembach wrote:
>> Am 15.11.24 um 10:18 schrieb Greg KH:
>>> On Fri, Nov 15, 2024 at 10:00:23AM +0100, Werner Sembach wrote:
>>>> I guess what I try to convince you and others is that we _are_ taking Open
>>>> Source licenses seriously, but still there are mistakes to be made,
>>>> especially with complex projects like the Linux kernel, e.g. I'm not aware
>>>> of any other project that uses a similar construct to
>>>> EXPORT_SYMBOL_GPL()/MODULE_LICENSE().
>>> The Linux kernel is very simple from a license point of view, your code
>>> has to be GPLv2 compatible.  That's it, nothing complex or odd about
>>> that at all.
>> Then why does the proprietary NVIDIA driver exist?
> You will have to discuss that with that company's lawyers.  That was
> their business decision to make, and in my opinion, the contracts they
> wrote around that thing were a mastery of license law in "how to pass
> the liability onto someone else."
But you see where there is complexity, and where my misconception stems from?
>
> Luckily we now have open drivers for almost all of that hardware, so
> it's not so much of an issue anymore.
>
> Again, talk about this with your company lawyers, they can explain it
> all much better than I can.
>
> thanks,
>
> greg k-h

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 0/2] module: Block modules by Tuxedo from accessing GPL symbols
  2024-11-15 10:51                 ` Uwe Kleine-König
@ 2024-11-15 11:01                   ` Werner Sembach
  0 siblings, 0 replies; 31+ messages in thread
From: Werner Sembach @ 2024-11-15 11:01 UTC (permalink / raw)
  To: Uwe Kleine-König
  Cc: Greg KH, Luis Chamberlain, tux, Petr Pavlu, Sami Tolvanen,
	Daniel Gomez, linux-modules, linux-kernel, Thorsten Leemhuis,
	Vinzenz Vietzke, Christoffer Sandberg


Am 15.11.24 um 11:51 schrieb Uwe Kleine-König:
> Hello Werner,
>
> On Fri, Nov 15, 2024 at 10:40:56AM +0100, Werner Sembach wrote:
>> Then why does the proprietary NVIDIA driver exist?
> Please don't use NVIDIA's behaviour as a blueprint for your actions.
> INAL, but I would not recommend to deduce from "NVIDIA does it and
> wasn't tried to stop" (for any value of "it") that "it" is legal, honest
> and in line with the open source spirit.
Ofc I don't want to use NVIDIA's behavior as a blueprint, it was just to show 
where my misconception stems from.
>
> Best regards
> Uwe

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 0/2] module: Block modules by Tuxedo from accessing GPL symbols
  2024-11-15 10:59                   ` Werner Sembach
@ 2024-11-15 12:01                     ` Greg KH
  0 siblings, 0 replies; 31+ messages in thread
From: Greg KH @ 2024-11-15 12:01 UTC (permalink / raw)
  To: Werner Sembach
  Cc: Uwe Kleine-König, Luis Chamberlain, tux, Petr Pavlu,
	Sami Tolvanen, Daniel Gomez, linux-modules, linux-kernel,
	Thorsten Leemhuis, Vinzenz Vietzke, Christoffer Sandberg

On Fri, Nov 15, 2024 at 11:59:47AM +0100, Werner Sembach wrote:
> 
> Am 15.11.24 um 11:22 schrieb Greg KH:
> > On Fri, Nov 15, 2024 at 10:40:56AM +0100, Werner Sembach wrote:
> > > Am 15.11.24 um 10:18 schrieb Greg KH:
> > > > On Fri, Nov 15, 2024 at 10:00:23AM +0100, Werner Sembach wrote:
> > > > > I guess what I try to convince you and others is that we _are_ taking Open
> > > > > Source licenses seriously, but still there are mistakes to be made,
> > > > > especially with complex projects like the Linux kernel, e.g. I'm not aware
> > > > > of any other project that uses a similar construct to
> > > > > EXPORT_SYMBOL_GPL()/MODULE_LICENSE().
> > > > The Linux kernel is very simple from a license point of view, your code
> > > > has to be GPLv2 compatible.  That's it, nothing complex or odd about
> > > > that at all.
> > > Then why does the proprietary NVIDIA driver exist?
> > You will have to discuss that with that company's lawyers.  That was
> > their business decision to make, and in my opinion, the contracts they
> > wrote around that thing were a mastery of license law in "how to pass
> > the liability onto someone else."
> But you see where there is complexity, and where my misconception stems from?

No, not at all.  nvidia adds complexity in their contracts with vendors
in order to attempt to circumvent the very simple license rules that we
have.  Again, talk to your lawyers about this, they are the ones that
know this type of thing.

greg k-h

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 0/2] module: Block modules by Tuxedo from accessing GPL symbols
  2024-11-14 11:14     ` Uwe Kleine-König
  2024-11-14 11:44       ` Werner Sembach
@ 2024-11-16 17:49       ` Uwe Kleine-König
  2024-11-16 18:41         ` Werner Sembach
  1 sibling, 1 reply; 31+ messages in thread
From: Uwe Kleine-König @ 2024-11-16 17:49 UTC (permalink / raw)
  To: Werner Sembach
  Cc: Luis Chamberlain, tux, Petr Pavlu, Sami Tolvanen, Daniel Gomez,
	linux-modules, linux-kernel, Thorsten Leemhuis

[-- Attachment #1: Type: text/plain, Size: 2161 bytes --]

Hello,

On Thu, Nov 14, 2024 at 12:14:16PM +0100, Uwe Kleine-König wrote:
> On 11/14/24 11:49, Werner Sembach wrote:
> > Am 14.11.24 um 11:31 schrieb Uwe Kleine-König:
> > > the kernel modules provided by Tuxedo on
> > > https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers
> > > are licensed under GPLv3 or later. This is incompatible with the
> > > kernel's license and so makes it impossible for distributions and other
> > > third parties to support these at least in pre-compiled form and so
> > > limits user experience and the possibilities to work on mainlining these
> > > drivers.
> > > 
> > > This incompatibility is created on purpose to control the upstream
> > > process. See https://fosstodon.org/@kernellogger/113423314337991594 for
> > > a nice summary of the situation and some further links about the issue.
> > > 
> > > Note that the pull request that fixed the MODULE_LICENSE invocations to
> > > stop claiming GPL(v2) compatibility was accepted and then immediately
> > > reverted "for the time being until the legal stuff is sorted out"
> > > (https://gitlab.com/tuxedocomputers/development/packages/tuxedo-
> > > drivers/-/commit/a8c09b6c2ce6393fe39d8652d133af9f06cfb427).
> > 
> > As already being implied by that commit message, this is sadly not an
> > issue that can be sorted out over night.
> > 
> > We ended up in this situation as MODULE_LICENSE("GPL") on its own does
> > not hint at GPL v2, if one is not aware of the license definition table
> > in the documentation.
> 
> That statement isn't consistent with you saying to pick GPLv3 as an
> explicitly incompatible license to control the mainlining process. So you
> knew that it's legally at least questionable to combine these licenses.

When I wrote this mail I missed the possibility that while Werner knew
GPLv3 isn't ok for in-kernel code might still have considered GPLv3 ok
for external modules anyhow. 

So I take back what I said and excuse me for my words. They were not
intended as harsh as Werner obviously took them, but still I regret
having written my reply with this suggestion.

I'm sorry,
Uwe

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 0/2] module: Block modules by Tuxedo from accessing GPL symbols
  2024-11-16 17:49       ` Uwe Kleine-König
@ 2024-11-16 18:41         ` Werner Sembach
  0 siblings, 0 replies; 31+ messages in thread
From: Werner Sembach @ 2024-11-16 18:41 UTC (permalink / raw)
  To: Uwe Kleine-König
  Cc: Luis Chamberlain, tux, Petr Pavlu, Sami Tolvanen, Daniel Gomez,
	linux-modules, linux-kernel, Thorsten Leemhuis

Hello Uwe,

Am 16.11.24 um 18:49 schrieb Uwe Kleine-König:
> Hello,
>
> On Thu, Nov 14, 2024 at 12:14:16PM +0100, Uwe Kleine-König wrote:
>> On 11/14/24 11:49, Werner Sembach wrote:
>>> Am 14.11.24 um 11:31 schrieb Uwe Kleine-König:
>>>> the kernel modules provided by Tuxedo on
>>>> https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers
>>>> are licensed under GPLv3 or later. This is incompatible with the
>>>> kernel's license and so makes it impossible for distributions and other
>>>> third parties to support these at least in pre-compiled form and so
>>>> limits user experience and the possibilities to work on mainlining these
>>>> drivers.
>>>>
>>>> This incompatibility is created on purpose to control the upstream
>>>> process. See https://fosstodon.org/@kernellogger/113423314337991594 for
>>>> a nice summary of the situation and some further links about the issue.
>>>>
>>>> Note that the pull request that fixed the MODULE_LICENSE invocations to
>>>> stop claiming GPL(v2) compatibility was accepted and then immediately
>>>> reverted "for the time being until the legal stuff is sorted out"
>>>> (https://gitlab.com/tuxedocomputers/development/packages/tuxedo-
>>>> drivers/-/commit/a8c09b6c2ce6393fe39d8652d133af9f06cfb427).
>>> As already being implied by that commit message, this is sadly not an
>>> issue that can be sorted out over night.
>>>
>>> We ended up in this situation as MODULE_LICENSE("GPL") on its own does
>>> not hint at GPL v2, if one is not aware of the license definition table
>>> in the documentation.
>> That statement isn't consistent with you saying to pick GPLv3 as an
>> explicitly incompatible license to control the mainlining process. So you
>> knew that it's legally at least questionable to combine these licenses.
> When I wrote this mail I missed the possibility that while Werner knew
> GPLv3 isn't ok for in-kernel code might still have considered GPLv3 ok
> for external modules anyhow.
>
> So I take back what I said and excuse me for my words. They were not
> intended as harsh as Werner obviously took them, but still I regret
> having written my reply with this suggestion.
>
> I'm sorry,
> Uwe
Thank you very much for these words.

I hope that in my replies I wasn't too harsh from my side and if so, I 
too want to apologize for it.

No more bad feelings going forward.

Best regards,

Werner Sembach


^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 2/2] module: Block modules by Tuxedo from accessing GPL symbols
  2024-11-14 10:31   ` [PATCH 2/2] module: Block modules by Tuxedo from accessing GPL symbols Uwe Kleine-König
                       ` (2 preceding siblings ...)
  2024-11-15  4:40     ` Greg KH
@ 2024-11-18 10:11     ` Werner Sembach
  3 siblings, 0 replies; 31+ messages in thread
From: Werner Sembach @ 2024-11-18 10:11 UTC (permalink / raw)
  To: Uwe Kleine-König, Luis Chamberlain
  Cc: tux, Petr Pavlu, Sami Tolvanen, Daniel Gomez, linux-modules,
	linux-kernel, Thorsten Leemhuis

Hi,

Am 14.11.24 um 11:31 schrieb Uwe Kleine-König:
> Tuxedo licenses the modules used on their hardware under GPLv3+, to
> "keep control of the upstream pacing" – and want to re-license the code
> while upstreaming.
>
> They were asked to then at least not use MODULE_LICENSE("GPL") which
> declares compatibility to the kernel's GPLv2. They accepted the pull
> request and shortly after reverted the change and so continue to lie
> about the license.
>
> So teach the module loader that these modules are proprietary despite
> their declaration to be GPLv2 compatible "until the legal stuff is
> sorted out".

The relicensing is complete so this patch can be dropped entirely (everything is 
now GPLv2+)

Regards,

Werner Sembach

>
> Link: https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers/-/commit/a8c09b6c2ce6393fe39d8652d133af9f06cfb427
> Signed-off-by: Uwe Kleine-König <ukleinek@kernel.org>
> ---
>   kernel/module/main.c | 33 +++++++++++++++++++++++++++++++++
>   1 file changed, 33 insertions(+)
>
> diff --git a/kernel/module/main.c b/kernel/module/main.c
> index 878191c65efc..46badbb09d5e 100644
> --- a/kernel/module/main.c
> +++ b/kernel/module/main.c
> @@ -2338,6 +2338,39 @@ static const char *module_license_offenders[] = {
>   
>   	/* lve claims to be GPL but upstream won't provide source */
>   	"lve",
> +
> +	/*
> +	 * Tuxedo distributes their kernel modules under GPLv3, but intentially
> +	 * lies in their MODULE_LICENSE() calls.
> +	 * See https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers/-/commit/a8c09b6c2ce6393fe39d8652d133af9f06cfb427
> +	 */
> +	"gxtp7380",
> +	"ite_8291",
> +	"ite_8291_lb",
> +	"ite_8297",
> +	"ite_829x",
> +	"stk8321",
> +	"tuxedo_compatibility_check",
> +	"tuxedo_io",
> +	"tuxedo_nb02_nvidia_power_ctrl",
> +	"tuxedo_nb04_keyboard",
> +	"tuxedo_nb04_wmi_ab",
> +	"tuxedo_nb04_wmi_bs",
> +	"tuxedo_nb04_sensors",
> +	"tuxedo_nb04_power_profiles",
> +	"tuxedo_nb04_kbd_backlight",
> +	"tuxedo_nb05_keyboard",
> +	"tuxedo_nb05_kbd_backlight",
> +	"tuxedo_nb05_power_profiles",
> +	"tuxedo_nb05_ec",
> +	"tuxedo_nb05_sensors",
> +	"tuxedo_nb05_fan_control",
> +	"tuxi_acpi",
> +	"tuxedo_tuxi_fan_control",
> +	"clevo_wmi",
> +	"tuxedo_keyboard",
> +	"clevo_acpi",
> +	"uniwill_wmi",
>   };
>   
>   /*

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH 0/2] module: Block modules by Tuxedo from accessing GPL symbols
  2024-11-14 10:31 ` [PATCH 0/2] module: Block modules by Tuxedo from accessing GPL symbols Uwe Kleine-König
                     ` (3 preceding siblings ...)
  2024-11-14 11:50   ` Daniel Gomez
@ 2024-11-20 14:11   ` Hans de Goede
  4 siblings, 0 replies; 31+ messages in thread
From: Hans de Goede @ 2024-11-20 14:11 UTC (permalink / raw)
  To: Uwe Kleine-König, Luis Chamberlain
  Cc: Werner Sembach, tux, Petr Pavlu, Sami Tolvanen, Daniel Gomez,
	linux-modules, linux-kernel, Thorsten Leemhuis

Hi All,

On 14-Nov-24 11:31 AM, Uwe Kleine-König wrote:
> Hello,
> 
> the kernel modules provided by Tuxedo on
> https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers
> are licensed under GPLv3 or later. This is incompatible with the
> kernel's license and so makes it impossible for distributions and other
> third parties to support these at least in pre-compiled form and so
> limits user experience and the possibilities to work on mainlining these
> drivers.
> 
> This incompatibility is created on purpose to control the upstream
> process. See https://fosstodon.org/@kernellogger/113423314337991594 for
> a nice summary of the situation and some further links about the issue.
> 
> Note that the pull request that fixed the MODULE_LICENSE invocations to
> stop claiming GPL(v2) compatibility was accepted and then immediately
> reverted "for the time being until the legal stuff is sorted out"
> (https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers/-/commit/a8c09b6c2ce6393fe39d8652d133af9f06cfb427).

I know I'm a bit late to this discussion.

Still I want to point out that Tuxedo and especially Werner has
always been a good upstream actor and I do not believe that they
are operating in bad faith here, but rather that the GPL v3
licensing is just an unfortunate mistake which is hard to fix
after the fact.

As maintainer of drivers/platform/x86 I have worked quite a bit
with Tuxedo/Werner and their contributions there are much
appreciated. They have also helped a lot with sorting out issues
with the PS/2 keyboard driver on Clevo barebones covering not
only their own models but all models and helping out with cleaning
up the quirk code there which was getting a bit messy.

Also as you know Werner has already relicensed  all the out of tree
drivers which Tuxedo could easily relicense to GPL v2 to GPL v2.

TL;DR: I do not believe that Tuxedo/Werner are acting in bad
faith here and IMHO it would be good to give them some leeway
here while they sort this out.

Regards,

Hans



^ permalink raw reply	[flat|nested] 31+ messages in thread

end of thread, other threads:[~2024-11-20 14:11 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <CGME20241114103151eucas1p133de0b231bf06bf8cd42621347a0ed17@eucas1p1.samsung.com>
2024-11-14 10:31 ` [PATCH 0/2] module: Block modules by Tuxedo from accessing GPL symbols Uwe Kleine-König
2024-11-14 10:31   ` [PATCH 1/2] module: Put known GPL offenders in an array Uwe Kleine-König
2024-11-14 16:08     ` Christoph Hellwig
2024-11-15  4:40     ` Greg KH
2024-11-14 10:31   ` [PATCH 2/2] module: Block modules by Tuxedo from accessing GPL symbols Uwe Kleine-König
2024-11-14 11:56     ` Daniel Gomez
2024-11-15  4:40       ` Greg KH
2024-11-14 16:09     ` Christoph Hellwig
2024-11-14 19:21       ` Aaron Rainbolt
2024-11-14 23:06         ` Al Viro
2024-11-15  4:40     ` Greg KH
2024-11-18 10:11     ` Werner Sembach
2024-11-14 10:49   ` [PATCH 0/2] " Werner Sembach
2024-11-14 11:14     ` Uwe Kleine-König
2024-11-14 11:44       ` Werner Sembach
2024-11-16 17:49       ` Uwe Kleine-König
2024-11-16 18:41         ` Werner Sembach
2024-11-15  4:43     ` Greg KH
2024-11-15  6:09       ` Werner Sembach
2024-11-15  6:30         ` Greg KH
2024-11-15  7:29         ` Uwe Kleine-König
2024-11-15  9:00           ` Werner Sembach
2024-11-15  9:18             ` Greg KH
2024-11-15  9:40               ` Werner Sembach
2024-11-15 10:22                 ` Greg KH
2024-11-15 10:59                   ` Werner Sembach
2024-11-15 12:01                     ` Greg KH
2024-11-15 10:51                 ` Uwe Kleine-König
2024-11-15 11:01                   ` Werner Sembach
2024-11-14 11:50   ` Daniel Gomez
2024-11-20 14:11   ` Hans de Goede

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).