On Thu, Jun 11, 2026 at 10:54 PM Tim Bird <[email protected]> wrote:
>
> I believe the nls files were previously assigned a MODULE_LICENSE
> of "Dual BSD/GPL" incorrectly.  At no time in the history
> of the files in the kernel source tree is there mention or reference
> to the BSD license being applicable to these files.
>
> The license "BSD without advertising clause" was introduced in a
> set of changes for Linux version v2.4.10.2, in September of 2001
> (right as MODULE_LICENSE was being introduced into the kernel).
>
> I have searched lore and other lkml archives to see who was originally
> responsible for the assignment of the 'BSD...' license string,
> and I cannot find any stand-alone patch or any reference to this
> string or to the nls files for this time period, nor any justification
> for this license assignment.  At this point, the nls files had
> been in the kernel tree for 4 years, with few modifications from
> their original submission in 1997.
>
> Later in 2001, because this license string tainted the kernel,
> the license in the MODULE_LICENSE macro was changed to "Dual BSD/GPL".
> However, I believe the original "BSD without advertising clause" was
> assigned by mistake.
>
> Correct this mistake and use what I believe is the correct license
> of "Dual Unicode/GPL" for these files.  Also, add that string
> to the list of acceptable licenses for loading kernel modules in
> both the kernel and checkpatch.pl.

I haven't attempted to try to understand this nonsuperficially but I
understand the "Dual BSD/GPL" tradition here to mean something
corresponding to what SPDX would call `BSD-3-Clause OR GPL-2.0`, i.e.
"Dual" refers to a disjunctive dual license, the module can be
regarded as licensed under either BSD or GPL, but you've characterized
the license of these files as `Unicode-3.0 AND GPL-2.0`, i.e. a
conjunctive license (meaning "some of this stuff is under Unicode-3.0
and some of this stuff is under GPL-2.0"). I.e. from my admittedly
naive perspective this looks wrong, or else sort of arbitrary. I.e. it
feels to me like you're taking the conclusion you reached as to the
license of the file - let's just say "Foo AND Bar" -- and then
shoehorning that into the MODULE_LICENSE macro in a context that ought
to mean "Foo OR Bar".

Also, I'm not actually sure why you took the source files that had the
old Unicode license and concluded that they should be represented as
'Unicode-3.0 AND GPL-2.0' instead of just 'Unicode-3.0'. What are you
asserting is under the GPL in these files that is not (purportedly)
under the Unicode license?

Not sure whether this ultimately matters, to be sure.

Richard


Reply via email to