I had licensed CRDA under copyleft-next years ago, that project had a
LICENSE file though, no other files had any copyright mention. Nice
and clean. With larger projects though, for instance the Linux kernel,
files are licensed on their own, license-by-file if you will. SUSE
attorneys have agreed with coplyeft-next being GPLv2 compatible, based
on this I recently proposed an amendment upstream for Linux [0] [1]
[2] to include copyleft-next as a possible license we can use as
developers. Given the listed gains of using copyleft-next over GPLv2
described in that patch, if this patch gets accepted upstream
copyleft-next is going to be my license of choice for new code moving
forward in the Linux kernel and as such I would like to ask for
suggestions as what to do about the copyright license header used.
To start off with, we know one gain of having something under
copyleft-next on the kernel, even though GPLv2 would apply there,
would be that I can then changes made to files there downstream to
other existing copyleft-next licensed projects. So for instance I
could take some Linux kernel copyleft-next code and include it under
copyleft-next to some userspace copyleft-next licensed code. Such an
example applies to CRDA, but use of that is far, given firmware
signing support on the kernel still has a long series of other changes
that are needed first, such as the new sysdata API I'm proposing [3].
As another more closer tangible example, I had licensed some new
userspace code I've been working on as a prototype which ultimately
I'm targeting upstream on the Linux kernel on under GPLv2, but given
the current agreement on compatibility I've decided I prefer
copyleft-next as well, so just today I've relicensed that project, the
prototype userspace linker-table work [4], under copyleft-next.
There'a few things to address if license-by-file method is used. To
start off with (refer to my change [5] as an example on the linker
table tree):
a) Do we *really* need to include the full copy of copyleft-next-0.3.1
upstream on a project if its going to use it? I've done that on my
userspace prototype for linker-tables, but would that eventually be
needed upstream on Linux as well ?
b) What should the license-by-file text look like?
I currently have:
* Linux linker tables
*
* Copyright (C) 2015-2016 Luis R. Rodriguez <mcgrof(a)kernel.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the copyleft-next >= 0.3.1 license as published
* online and available at the following URL:
*
*
https://github.com/copyleft-next/copyleft-next
Just to try to match the GPLv2 traditional header. Is an alternative
preferred ? This implicitly tries to avoid referring to a "file" that
has the license, and instead refers to the upstream URL.
c) I've kept the scary disclaimer as I borrowed it from
include/linux/security.h from the Linux kernel, modulo I replaced
"GPL" with "copyleft-next" to indicate the license the file is
licensed under:
* Due to this file being licensed under coplyleft-next there is controversy
* over whether this permits you to write a module that #includes this file
* without placing your module under the GPL. Please consult a lawyer for
* advice before doing this.
However I am not sure if I should just avoid this. My thought was that
since GPLv2 applies upstream on the kernel I think its fair to keep
it.
[0]
https://lkml.kernel.org/r/https://marc.info/?l=linux-kernel&m=1465929...
[1]
https://marc.info/?l=linux-kernel&m=146592937021726
[2]
https://patchwork.kernel.org/patch/9176475/
[3]
https://lkml.kernel.org/r/1466121559-22363-1-git-send-email-mcgrof@kernel...
[4]
https://git.kernel.org/cgit/linux/kernel/git/mcgrof/linker-tables.git/
[5]
https://git.kernel.org/cgit/linux/kernel/git/mcgrof/linker-tables.git/com...
Luis