Re: [PATCH v2] module.h: add copyleft-next >= 0.3.1 as GPL compatible
by Luis R. Rodriguez
On Tue, Jul 19, 2016 at 03:38:51PM -0700, Greg KH wrote:
> On Mon, Jul 18, 2016 at 12:56:33PM +0930, Rusty Russell wrote:
> > Greg KH <gregkh(a)linuxfoundation.org> writes:
> > > On Thu, Jun 30, 2016 at 03:53:27PM -0700, Luis R. Rodriguez wrote:
> > >> copyleft-next [0] [1] is an openly evolved copyleft license, its an
> > >> effort to evolve copyleft without participation of the Church (TM)
> > >> or State (R), completley openly to the extend development and
> > >> discussion of copyleft-next by participants of the copyleft-next
> > >> project are governed by the Harvey Birdman Rule [2].
> > >>
> > >> Even though it has been a goal of the project to be GPL-v2 compatible
> > >> to be certain I've asked for a clarification about what makes
> > >> copyleft-next GPLv2 compatible and also asked for a summary of
> > >> benefits. This prompted some small minor changes to make compatiblity
> > >> even further clear and as of copyleft 0.3.1 compatibility should
> > >> be crystal clear [3].
> > >>
> > >> The summary of why copyleft-next 0.3.1 is compatible with GPLv2
> > >> is explained as follows:
> > >>
> > >> Like GPLv2, copyleft-next requires distribution of derivative works
> > >> ("Derived Works" in copyleft-next 0.3.x) to be under the same license.
> > >> Ordinarily this would make the two licenses incompatible. However,
> > >> copyleft-next 0.3.1 says: "If the Derived Work includes material
> > >> licensed under the GPL, You may instead license the Derived Work under
> > >> the GPL." "GPL" is defined to include GPLv2.
> > >>
> > >> In practice this means copyleft-next code in Linux may be licensed
> > >> under the GPL2, however there are additional obvious gains for
> > >> bringing contributins from Linux outbound where copyleft-next is
> > >> preferred. To help review further I've also independently reviewed
> > >> compatiblity with attorneys at SUSE and they agree with the
> > >> compatibility.
> > >>
> > >> A summary of benefits of copyleft-next >= 0.3.1 over GPLv2 is listed
> > >> below, it shows *why* some folks like myself will prefer it over
> > >> GPLv2 for future work.
> > >>
> > >> o It is much shorter and simpler
> > >> o It has an explicit patent license grant, unlike GPLv2
> > >> o Its notice preservation conditions are clearer
> > >> o More free software/open source licenses are compatible
> > >> with it (via section 4)
> > >> o The source code requirement triggered by binary distribution
> > >> is much simpler in a procedural sense
> > >> o Recipients potentially have a contract claim against distributors
> > >> who are noncompliant with the source code requirement
> > >> o There is a built-in inbound=outbound policy for upstream
> > >> contributions (cf. Apache License 2.0 section 5)
> > >> o There are disincentives to engage in the controversial practice
> > >> of copyleft/ proprietary dual-licensing
> > >> o In 15 years copyleft expires, which can be advantageous
> > >> for legacy code
> > >> o There are explicit disincentives to bringing patent infringement
> > >> claims accusing the licensed work of infringement (see 10b)
> > >> o There is a cure period for licensees who are not compliant
> > >> with the license (there is no cure opportunity in GPLv2)
> > >> o copyleft-next has a 'built-in or-later' provision
> > >>
> > >> [0] https://github.com/copyleft-next/copyleft-next
> > >> [1] https://lists.fedorahosted.org/mailman/listinfo/copyleft-next/
> > >> [2] https://github.com/richardfontana/hbr/blob/master/HBR.md
> > >> [3] https://lists.fedorahosted.org/archives/list/copyleft-next@lists.fedoraho...
> > >>
> > >> v2:
> > >>
> > >> o extend checkpatch.pl with copyleft-next as well for
> > >> MODULE_LICENSE() check - as suggested by Paul Bolle.
> > >>
> > >> Cc: copyleft-next(a)lists.fedorahosted.org
> > >> Cc: Richard Fontana <fontana(a)sharpeleven.org>
> > >> Signed-off-by: Ciaran Farrell <Ciaran.Farrell(a)suse.com>
> > >> Signed-off-by: Christopher De Nicolo <Christopher.DeNicolo(a)suse.com>
> > >> Signed-off-by: Luis R. Rodriguez <mcgrof(a)kernel.org>
> > >
> > > Acked-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
> >
> > Adding a license here implies we accept that it's actually GPLv2
> > compatible. And IANAL.
>
> Note, at least lawyer has signed off on this.
Clarification: *2 lawyers* at SUSE had Signed-off on this already.
> I'd like to see Richard do so as well.
With Richard that's 3 attorneys now.
I'll proceed to submit some code with this license as you request, Rusty. Its
however not for modules yet so I would not make use of the
MODULE_LICENSE("copyleft-next") tag yet, however the license will be on top of
a header.
Luis
7 years, 8 months
Re: [PATCH v2] module.h: add copyleft-next >= 0.3.1 as GPL compatible
by Richard Fontana
On 07/19/2016 06:38 PM, Greg KH wrote:
> On Mon, Jul 18, 2016 at 12:56:33PM +0930, Rusty Russell wrote:
>> Greg KH <gregkh(a)linuxfoundation.org> writes:
>>> On Thu, Jun 30, 2016 at 03:53:27PM -0700, Luis R. Rodriguez wrote:
>>>> copyleft-next [0] [1] is an openly evolved copyleft license, its an
>>>> effort to evolve copyleft without participation of the Church (TM)
>>>> or State (R), completley openly to the extend development and
>>>> discussion of copyleft-next by participants of the copyleft-next
>>>> project are governed by the Harvey Birdman Rule [2].
>>>>
>>>> Even though it has been a goal of the project to be GPL-v2 compatible
>>>> to be certain I've asked for a clarification about what makes
>>>> copyleft-next GPLv2 compatible and also asked for a summary of
>>>> benefits. This prompted some small minor changes to make compatiblity
>>>> even further clear and as of copyleft 0.3.1 compatibility should
>>>> be crystal clear [3].
>>>>
>>>> The summary of why copyleft-next 0.3.1 is compatible with GPLv2
>>>> is explained as follows:
>>>>
>>>> Like GPLv2, copyleft-next requires distribution of derivative works
>>>> ("Derived Works" in copyleft-next 0.3.x) to be under the same license.
>>>> Ordinarily this would make the two licenses incompatible. However,
>>>> copyleft-next 0.3.1 says: "If the Derived Work includes material
>>>> licensed under the GPL, You may instead license the Derived Work under
>>>> the GPL." "GPL" is defined to include GPLv2.
>>>>
>>>> In practice this means copyleft-next code in Linux may be licensed
>>>> under the GPL2, however there are additional obvious gains for
>>>> bringing contributins from Linux outbound where copyleft-next is
>>>> preferred. To help review further I've also independently reviewed
>>>> compatiblity with attorneys at SUSE and they agree with the
>>>> compatibility.
>>>>
>>>> A summary of benefits of copyleft-next >= 0.3.1 over GPLv2 is listed
>>>> below, it shows *why* some folks like myself will prefer it over
>>>> GPLv2 for future work.
>>>>
>>>> o It is much shorter and simpler
>>>> o It has an explicit patent license grant, unlike GPLv2
>>>> o Its notice preservation conditions are clearer
>>>> o More free software/open source licenses are compatible
>>>> with it (via section 4)
>>>> o The source code requirement triggered by binary distribution
>>>> is much simpler in a procedural sense
>>>> o Recipients potentially have a contract claim against distributors
>>>> who are noncompliant with the source code requirement
>>>> o There is a built-in inbound=outbound policy for upstream
>>>> contributions (cf. Apache License 2.0 section 5)
>>>> o There are disincentives to engage in the controversial practice
>>>> of copyleft/ proprietary dual-licensing
>>>> o In 15 years copyleft expires, which can be advantageous
>>>> for legacy code
>>>> o There are explicit disincentives to bringing patent infringement
>>>> claims accusing the licensed work of infringement (see 10b)
>>>> o There is a cure period for licensees who are not compliant
>>>> with the license (there is no cure opportunity in GPLv2)
>>>> o copyleft-next has a 'built-in or-later' provision
>>>>
>>>> [0] https://github.com/copyleft-next/copyleft-next
>>>> [1] https://lists.fedorahosted.org/mailman/listinfo/copyleft-next/
>>>> [2] https://github.com/richardfontana/hbr/blob/master/HBR.md
>>>> [3] https://lists.fedorahosted.org/archives/list/copyleft-next@lists.fedoraho...
>>>>
>>>> v2:
>>>>
>>>> o extend checkpatch.pl with copyleft-next as well for
>>>> MODULE_LICENSE() check - as suggested by Paul Bolle.
>>>>
>>>> Cc: copyleft-next(a)lists.fedorahosted.org
>>>> Cc: Richard Fontana <fontana(a)sharpeleven.org>
>>>> Signed-off-by: Ciaran Farrell <Ciaran.Farrell(a)suse.com>
>>>> Signed-off-by: Christopher De Nicolo <Christopher.DeNicolo(a)suse.com>
>>>> Signed-off-by: Luis R. Rodriguez <mcgrof(a)kernel.org>
>>>
>>> Acked-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
>>
>> Adding a license here implies we accept that it's actually GPLv2
>> compatible. And IANAL.
>
> Note, at least lawyer has signed off on this.
>
> I'd like to see Richard do so as well.
Signed-off-by: Richard Fontana <fontana(a)sharpeleven.org>
7 years, 8 months
Using copyleft-next on license by file approach
by Luis R. Rodriguez
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=14659293702...
[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
7 years, 8 months
[PATCH] module.h: add copyleft-next >= 0.3.1 as GPL compatible
by Luis R. Rodriguez
copyleft-next [0] [1] is an openly evolved copyleft license, its an
effort to evolve copyleft without participation of the Church (TM)
or State (R), completley openly to the extend development and
discussion of copyleft-next by participants of the copyleft-next
project are governed by the Harvey Birdman Rule [2].
Even though it has been a goal of the project to be GPL-v2 compatible
to be certain I've asked for a clarification about what makes
copyleft-next GPLv2 compatible and also asked for a summary of
benefits. This prompted some small minor changes to make compatiblity
even further clear and as of copyleft 0.3.1 compatibility should
be crystal clear [3].
The summary of why copyleft-next 0.3.1 is compatible with GPLv2
is explained as follows:
Like GPLv2, copyleft-next requires distribution of derivative works
("Derived Works" in copyleft-next 0.3.x) to be under the same license.
Ordinarily this would make the two licenses incompatible. However,
copyleft-next 0.3.1 says: "If the Derived Work includes material
licensed under the GPL, You may instead license the Derived Work under
the GPL." "GPL" is defined to include GPLv2.
In practice this means copyleft-next code in Linux may be licensed
under the GPL2, however there are additional obvious gains for
bringing contributins from Linux outbound where copyleft-next is
preferred. To help review further I've also independently reviewed
compatiblity with attorneys at SUSE and they agree with the
compatibility.
A summary of benefits of copyleft-next >= 0.3.1 over GPLv2 is listed
below, it shows *why* some folks like myself will prefer it over
GPLv2 for future work.
o It is much shorter and simpler
o It has an explicit patent license grant, unlike GPLv2
o Its notice preservation conditions are clearer
o More free software/open source licenses are compatible
with it (via section 4)
o The source code requirement triggered by binary distribution
is much simpler in a procedural sense
o Recipients potentially have a contract claim against distributors
who are noncompliant with the source code requirement
o There is a built-in inbound=outbound policy for upstream
contributions (cf. Apache License 2.0 section 5)
o There are disincentives to engage in the controversial practice
of copyleft/ proprietary dual-licensing
o In 15 years copyleft expires, which can be advantageous
for legacy code
o There are explicit disincentives to bringing patent infringement
claims accusing the licensed work of infringement (see 10b)
o There is a cure period for licensees who are not compliant
with the license (there is no cure opportunity in GPLv2)
o copyleft-next has a 'built-in or-later' provision
[0] https://github.com/copyleft-next/copyleft-next
[1] https://lists.fedorahosted.org/mailman/listinfo/copyleft-next/
[2] https://github.com/richardfontana/hbr/blob/master/HBR.md
[3] https://lists.fedorahosted.org/archives/list/copyleft-next@lists.fedoraho...
Cc: copyleft-next(a)lists.fedorahosted.org
Cc: Richard Fontana <fontana(a)sharpeleven.org>
Signed-off-by: Ciaran Farrell <Ciaran.Farrell(a)suse.com>
Signed-off-by: Christopher De Nicolo <Christopher.DeNicolo(a)suse.com>
Signed-off-by: Luis R. Rodriguez <mcgrof(a)kernel.org>
---
I've tested its use at run time as well obviously.
include/linux/license.h | 1 +
include/linux/module.h | 1 +
2 files changed, 2 insertions(+)
diff --git a/include/linux/license.h b/include/linux/license.h
index decdbf43cb5c..ed7c13a6b556 100644
--- a/include/linux/license.h
+++ b/include/linux/license.h
@@ -5,6 +5,7 @@ static inline int license_is_gpl_compatible(const char *license)
{
return (strcmp(license, "GPL") == 0
|| strcmp(license, "GPL v2") == 0
+ || strcmp(license, "copyleft-next") == 0
|| strcmp(license, "GPL and additional rights") == 0
|| strcmp(license, "Dual BSD/GPL") == 0
|| strcmp(license, "Dual MIT/GPL") == 0
diff --git a/include/linux/module.h b/include/linux/module.h
index f777164c238b..24c520ff62e1 100644
--- a/include/linux/module.h
+++ b/include/linux/module.h
@@ -182,6 +182,7 @@ void trim_init_extable(struct module *m);
* The following license idents are currently accepted as indicating free
* software modules
*
+ * "copyleft-next" [copyleft-next 0.3.1 or later]
* "GPL" [GNU Public License v2 or later]
* "GPL v2" [GNU Public License v2]
* "GPL and additional rights" [GNU Public License v2 rights and more]
--
2.8.2
7 years, 8 months