TIL: @tuxedocomputers released #Linux #kernel drivers for their machines under the #GPLv3, which makes it impossible for competitors and distros to ship them pre-compiled, as that license is incompatible with the #LinuxKernel's #GPLv2 only license.
They did this purposely, allegedly to "keep control of the upstream pacing" – and want to re-license the code while upstreaming.
https://github.com/tuxedocomputers/tuxedo-keyboard/issues/61
https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers/-/issues/137
https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers/-/issues/138
2/ side note: wondering if they require a CLA that allows re-licensing for any meaningful contributions, otherwise they can not upstream contributed code (and wouldn't be allowed to ship the drivers pre-compiled themselves).
3/ It got even stranger: it seems @tuxedocomputers provided the wrong license to the #LinuxKernel's MODULE_LICENSE()[1] macro either by accident or on purpose.
@waldi pointed that out earlier today elsewhere in this thread; PWM maintainer Uwe Kleine-König a little later submitted a bug report asking this to be fixed:
https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers/-/merge_requests/21
[1] they proclaim it's GPL, which according to the #Linux #kernel's docs means "GPLv2" (either -only or -or-later), when in fact the code is GPLv3
4/ TWIMC and for the record:
Werner Sembach from @tuxedocomputers now merged Uwe's proposed changes that make the drivers provide the right license to the #Linux #kernel's MODULE_LICENSE()[1] macro.
(side note: I suspect the kernel will now taint itself as "proprietary" when loading these drivers, but haven't tried)
CC: @waldi
5/ TWIMC and for the record:
Werner Sembach from @tuxedocomputers *reverted* Uwe's changes that made the drivers provide the right license to the #Linux #kernel's MODULE_LICENSE()[1] macro "until the legal stuff is sorted out":
Wondering why that happened – did they only notice now that the drivers do not compile any more because they use GPL-onlyed symbols, which are inaccessible for any non-GPLv2-compatible module?
CC: @waldi
6/ To follow up:
There are now patches under discussion upstream to '"teach the [#Linux #Kernel's] module loader that these modules [from @tuxedocomputers ] are proprietary despite their declaration to be GPLv2 compatible "until the legal stuff is sorted out". "'
https://lore.kernel.org/all/20241114103133.547032-4-ukleinek@kernel.org/t/#u
CC: @waldi #LinuxKernel
6/ To follow up once more:
@tuxedocomputers relicensed all full inhouse code in their driver package to GPLv2+ : https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers/-/commit/dd34594ab880ed477bb75725176c3fb9352a07eb
They are working on doing the same for the remaining drivers.
They also submitted a updated version of the patchset making the #Linux #Kernel's module loader treat some of the modules as proprietary; the list of modules handled that way is much shorter now:
https://lore.kernel.org/all/20241115130139.1244786-1-wse@tuxedocomputers.com/
CC: @waldi
7/ To follow up once more, likely for the last time:
Werner Sembach relicensed the last of the formerly GPL3+ed #Linux #kernel drivers from @tuxedocomputers to #GPLv2 about an hour ago after all external contributors have agreed to that move.
https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers/-/commits/main
Cc: @waldi #LinuxKernel
@kernellogger @tuxedocomputers Of course it will taint itself.
yeah, I expect that, but you know how it is with things you haven't tried yourself: better be careful with your words.
But you are right. Edited the toot to better express what I meant.
@kernellogger
What a shit show!
Get this sorted out! It only hurts your reputation!
@musicmatze Whoa... harsh words for a thing that's obviously work in progress. I mean, sure, the whole story is a bit unfortunate. But wouldn't it be fair to give at least a few days time, especially looking at the commit message?
@vinzv where's the problem with working in a proper, sane way in the first place?
@musicmatze Well... the "problem" is that it's human beings working over here as well.
@kernellogger @tuxedocomputers What a shit show.
I think this can only go two ways now:
The modules will be non-gpl restricted, either be setting the correct license or by force of the module loader, and they have to cope with that.
They quickly announce the re-licensing if the code that the company owns of those drivers and the commitment to get approval from the rest of the contributors within a few weeks.
@waldi @kernellogger I'm just coming from an internal meeting on that topic.
The whole story is pretty heated, which is both unfortunate and unnecessary. I mean, hey, we made a mistake in the past and now are confronted to get called liars. A bit unfair, eh?
However, we just decided to re-license TUXEDO drivers from GPLv3 to GPLv2. Checking code and asking contributors for agreement will take time, so please bear with us - and maybe let go on the heated discussions... ;-)
@pavel Blaming us to lie intentionally (!sic) in a commit message against better knowledge has nothing to do with sensitivity or deserved heat.
@waldi @kernellogger
@vinzv @pavel @kernellogger Could you please quote what you mean? I only see "lie" in regard to the MODULE_LICENSE settings. So the code was blamed, not a you.
@waldi @pavel @kernellogger "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."
" * Tuxedo distributes their kernel modules under GPLv3, but intentially lies in their MODULE_LICENSE() calls."
See https://lore.kernel.org/all/20241114103133.547032-6-ukleinek@kernel.org/
@pavel @waldi @kernellogger You have the timeline wrong:
First we made a mistake, years ago. This only came up by a merge and the discussion. We then realized that this merge would be illegal as it would not respect the rights of external contributors and would be against the licence chosen in the past. So we reverted that and made it clear that things need to be sorted out.
I don't see any lies in there. The whole story is transparent there.
@pavel @waldi @kernellogger And "pending legal review" is no shit (as you call it), it's the absolute bare minimum necessary and was done within working day!
Don't get me wrong, I understand your (the kernel devs) position and can live with harsh calls there. But calling us publicly liars is just plain simply wrong and nothing we will apologize for.
@pavel @waldi @kernellogger Okay, I tried to explain our point of view and made clear, we feel treated unfair by a) allegations made b) in public with the c) to be expected outcome. And I think that came through pretty clearly, while you still have a different opinion and haven't moved in that regard.
So, I don't see this discussion leading to anything and I'll give up on it, yet find it disappointing. If you still want to talk about it, I'm of course open to that.
Have a nice weekend!
@kernellogger @tuxedocomputers @waldi that's pretty cool actually
i guess they technically were right that the relicensing can't happen overnight, but they are pretty close