Re: Licensing & copyright of kernel .config files (defconfig, *config)
From: Ken Moffat
Date: Sun Jun 01 2014 - 19:01:55 EST
On Sun, Jun 01, 2014 at 01:43:01AM +0000, Robin H. Johnson wrote:
> (Please CC me on replies, not subscribed to LKML)
>
> Hi,
>
> Somewhat of an odd question, but none of the files in question seem to
> have a copyright header on them...
>
> For a kernel .config file, either from one of the defconfig or any other
> *config option that automates the answer:
> 1. What license does the file fall under?
> 2. Who are the copyright holders?
>
> Naively, since the defconfigs are bundled with the kernel, that could
> fall under GPLv2-only implicitly, but lacking any explicit copyright
> headers makes this interesting (arch/*/configs/* contain lots of files,
> no copyright headers on them).
>
I am not a lawyer, but surely _many_ of the kernel files do not
contain any explicit copyright information ?
> If I manually write the names of some configuration options to a new
> .config file, at that point I logically am the only author and have
> copyright of it. My editor slaps a default license on it of BSD-2.
> Thereafter I run olddefconfig, and now it's a combined work of the
> kernel's defconfig and my manual settings. If GPL-2 was inherited from
> the kernel tree, this is now a combined BSD-GPL2 work, or is it? The
> kernel config tools did consider my file as input, possibly overrode the
> settings if they didn't work with others, and re-output everything.
>
Why does your editor put a default license on anything ? In some
cases, it is bound to be wrong. For example, if you were to ever
submit a kernel patch, in the kernel the license would be GPL-2
although, if you created a new file, you could also license that as
BSD-2 if it was not a derivative of existing kernel code.
Similarly, if you ever create a patch for any other project which
does not use a BSD license, then your patch will have uncertain
status.
If I was being awkward, I would suggest that the config would not
be useful until you had run it through "make oldconfig" or similar,
and that therefore the kernel license of GPL-2 applies.
> If the files are to be marked with a copyright header, who is the holder
> of it that it should be attributed to?
>
Iff the work is copyrightable (I do not have an opinion on that),
surely the license only matters if you breach it ? ;-) If you
distribute a compiled kernel with the source, and all of that source
is GPL-2, then I assume you are in the clear. For "extras" which
include binaries without source, my understanding is that you would
always be vulnerable to kernel copyright holders. So, I suspect
that the attribution of a config file is not particularly important.
> Alternatively, is this a case where the work is not copyrightable, and
> the files should have a notice to that effect?
>
> Background:
> Gentoo has a bunch of "stock" kernel configurations for release
> engineering, our initramfs tool (genkernel), and other endeavors over
> the years. These projects claim BSD, GPL2, LGPL2 on various pieces, and
> I don't think they can all be correct. I'm working on getting them into
> one place, because some of them have been getting stale, but the
> differing licenses raised a red flag to me.
>
To the extent that GPL-2 can include LGPL-2 and BSD, I suggest that
you label them all as GPL-2. That is the licence of the kernel, and
for practical reasons it will not change (this was discussed when
somebody asked about GPL-3 : even if the main copyright holders
wanted to make the change (and many do not), some copyright holders
are no longer contactable). You might be able to dual-license some
of these distro files, but I have no idea if that would be appropriate.
Äen
--
Nanny Ogg usually went to bed early. After all, she was an old lady.
Sometimes she went to bed as early as 6 a.m.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/