Re: Kernel modules under new copyleft licence : (was Re: [PATCH v2] module.h: add copyleft-next >= 0.3.1 as GPL compatible)
by Luis R. Rodriguez
On Thu, May 25, 2017 at 1:14 PM, Pavel Machek <pavel(a)ucw.cz> wrote:
> Hi!
>
>> > > So that yields:
>> > >
>> > > * This program is free software; you can redistribute it and/or modify it
>> > > * under the terms of the GNU General Public License as published by the Free
>> > > * Software Foundation; either version 2 of the License, or at your option) any
>> > > * later version; or, when distributed separately from the Linux kernel or
>> > > * incorporated into other software packages, subject to the
>> >
>> > You have more )s there than (s.
>>
>> Thanks just removed that pesky )
>>
>> > Can you get rid of the "when distributed separately from the Linux
>> > kernel or incorporated into other software packages," wording? I'm not
>> > exactly sure what it is trying to say, and if it limits the license
>> > below in any way.
>>
>> I had to pick an "or language" used already upstream and which folks were OK
>> with, this was one and I went with it. I prefer it as it makes it clear the
>> intent is outside of Linux I wish copyleft-next to apply.
>
> Yes, the intent is clear. What is not clear is if the intent is
> legally binding.
Code already is upstream (Xen) with this sort of or language. I think
that's sufficient for me, unless of course you have something better
to recommend.
Luis
6 years, 10 months
Re: Kernel modules under new copyleft licence : (was Re: [PATCH v2] module.h: add copyleft-next >= 0.3.1 as GPL compatible)
by Luis R. Rodriguez
On Thu, May 25, 2017 at 07:05:18PM +0200, Pavel Machek wrote:
> Hi!
>
> > >> Alright, this makes sense.
> > >>
> > >> As noted though there are a few "or" clauses, which upstream file
> > >> is a good template to use for copyleft-next ?
> > >
> > > There seems to be a few "or" clauses. For instance:
> > >
> > > a) you can pick either license [0]
> > > b) gpl on Linux, otherwise this other license below [1]
> > >
> > > To help uplift copyleft will go with b).
> > >
> > > [0] drivers/infiniband/hw/hfi1/driver.c
> > > [1] drivers/block/xen-blkback/blkback.c
> >
> > So that yields:
> >
> > * This program is free software; you can redistribute it and/or modify it
> > * under the terms of the GNU General Public License as published by the Free
> > * Software Foundation; either version 2 of the License, or at your option) any
> > * later version; or, when distributed separately from the Linux kernel or
> > * incorporated into other software packages, subject to the
>
> You have more )s there than (s.
Thanks just removed that pesky )
> Can you get rid of the "when distributed separately from the Linux
> kernel or incorporated into other software packages," wording? I'm not
> exactly sure what it is trying to say, and if it limits the license
> below in any way.
I had to pick an "or language" used already upstream and which folks were OK
with, this was one and I went with it. I prefer it as it makes it clear the
intent is outside of Linux I wish copyleft-next to apply.
Luis
6 years, 10 months
Re: Kernel modules under new copyleft licence : (was Re: [PATCH v2] module.h: add copyleft-next >= 0.3.1 as GPL compatible)
by Luis R. Rodriguez
On Fri, May 19, 2017 at 12:31:50PM +0100, Alan Cox wrote:
> > I really cannot see how you might have an attorney who wants ink on
> > 2A but not 1A.
> > I really cannot see how you might have an attorney who wants ink on
> > 2B but not 1B.
>
> Because their job is to protect their whomsoever they represent. They
> protect them drawing upon case law and providing rules based upon
> caselaw so that people don't have to keep bothering them.
>
> The lawyers have caselaw for "either a or b" licensing. They don't have
> caselaw for licence compatibility with your licence. Therefore it's a
> risk.
Alright, this makes sense.
As noted though there are a few "or" clauses, which upstream file
is a good template to use for copyleft-next ?
Luis
6 years, 10 months
Re: Kernel modules under new copyleft licence : (was Re: [PATCH v2] module.h: add copyleft-next >= 0.3.1 as GPL compatible)
by Luis R. Rodriguez
On Thu, May 18, 2017 at 4:08 PM, David Lang <david(a)lang.hm> wrote:
> On Fri, 19 May 2017, Luis R. Rodriguez wrote:
>
>> On Thu, May 18, 2017 at 06:12:05PM -0400, Theodore Ts'o wrote:
>>>
>>> Sorry, I guess I wasn't clear enough. So there are two major cases,
>>> with three sub-cases for each.
>>>
>>> 1) The driver is dual-licensed GPLv2 and copyleft-next
>>>
>>> 1A) The developer only wants to use the driver, without making
>>> any changes to it.
>>>
>>> 1B) The developer wants to make changes to the driver, and
>>> distribute source and binaries
>>>
>>> 1C) The developer wants to make changes to the driver, and
>>> contribute the changes back to upstream.
>>>
>>> 2) The driver is solely licensed under copyleft-next
>>>
>>> 2A) The developer only wants to use the driver, without making
>>> any changes to it.
>>>
>>> 2B) The developer wants to make changes to the driver, and
>>> distribute source and binaries
>>>
>>> 2C) The developer wants to make changes to the driver, and
>>> contribute the changes back to upstream.
>>>
>>> In cases 1A and 1B, I claim that no additional lawyer ink is required,
>>
>>
>> I really cannot see how you might have an attorney who wants ink on 2A but
>> not 1A.
>> I really cannot see how you might have an attorney who wants ink on 2B but
>> not 1B.
>
>
> If something is under multiple licences, and one is a license that is known,
> you can just use that license and not worry (or even think) about what other
> licenses are available.
>
> But if it's a new license, then it needs to be analyzed, and that takes
> lawyer ink.
>
> That's why 1A and 1B are ok, you can ignore copyleft-next and just use GPLv2
The article I had referred to indicates how there are actually
*several* "or" clauses, and ambiguity between what they might mean.
Hence my surprise attorneys would exist who choose to green light all
code with a magical "or clause".
Luis
6 years, 10 months
Re: Kernel modules under new copyleft licence : (was Re: [PATCH v2] module.h: add copyleft-next >= 0.3.1 as GPL compatible)
by Luis R. Rodriguez
On Mon, May 15, 2017 at 04:18:14PM +0100, Alan Cox wrote:
> > such "or" language can be a bit confusing. My understanding is such "or"
> > language is really is only necessary or helpful for when you have some sort
> > of incompatible licenses, and that's not the case here.
>
> The problem is that it takes a lawyer to decide whether the two are
> compatible.
At the very least 3 attorneys have reviewed this by now. 2 at SUSE and
one at Red Hat. At least.
> If you just stuck the kernel one under GPLv2 with a note
> that you can get a non-GPL one at URL or as dual licence it would be a
> hell of a lot simpler.
>
> There are reasons there is stuff under things like dual BSD/GPL.
I recall -- you clarified this to me a while back.
> It keeps lawyers happier because they don't have to spend time on it and
> the rest of us happy because we don't have to talk to lawyers 8)
I see, makes sense.
> > Since the license *already explicitly states GPLv2 applies* when
> > copyleft-next
>
> Subject to getting your corporate legal team to evaluate it.
But I did, and I did try to go through any other process to vet for it.
The clarity should help us avoid the "dual or" language.
> It's all hassle and friction.
I have done the work though, however I can understand this might mean others
down the chain might need to burn some ink on this. Even if our position is:
"we rather avoid any attorneys burning any ink and we prefer to just always
require this 'dual or' language even for licenses which corporate attorneys
have vetted as compatible"
Wouldn't that still require a bit of ink?
Luis
6 years, 10 months
Re: Kernel modules under new copyleft licence : (was Re: [PATCH v2] module.h: add copyleft-next >= 0.3.1 as GPL compatible)
by Luis R. Rodriguez
Sorry this is an old topic now but a clarification was requested by AKASHI,
so following up.
On Tue, Aug 09, 2016 at 07:58:27PM -0700, Linus Torvalds wrote:
> On Tue, Aug 9, 2016 at 1:14 PM, Luis R. Rodriguez <mcgrof(a)kernel.org> wrote:
> >
> > I'm personally fine with MODULE_LICENSE("GPL") being used with copyleft-next code
> > and find it sensible.
>
> I'd rather have the kernel license be as clear as possible, so I'd
> tend to prefer that
>
> MODULE_LICENSE("GPL")
Great will use this.
> and then if you want to dual-license it, just put something like "or,
> at your option, copyleft-next" in the comment at the top.
The "or" language can be confusing though.
Even though the following document refers to permissive licenses and using them
on GPL projects it does contain some information about using the "or" clauses
on section 4 which may be relevant here:
https://www.softwarefreedom.org/resources/2007/gpl-non-gpl-collaboration....
So experience seems to show that when the licenses are compatible such "or"
language can be a bit confusing. My understanding is such "or" language is
really is only necessary or helpful for when you have some sort of incompatible
licenses, and that's not the case here.
> That makes it clear that as far as the kernel is concerned, it's
> GPLv2, but if somebody finds it useful for other projects, they can
> choose to take that file under copyleft-next (whatever version that
> would be..).
Indeed, my goal is to make it clear GPLv2 applies to copyleft-next material
when used on Linux, and grant the right to use the code either on GPLv2 code or
larger copyleft-next code; that's in fact the neat benefit of copyleft-next: it
lets copyleft advance even when projects are stuck on the old copyleft.
Since the license *already explicitly states GPLv2 applies* when copyleft-next
code is used on a larger GPLv2 project I figured the above macro:
MODULE_LICENSE("GPL")
would suffice to make it even clearer, but to avoid propagating any further
"or" confusion -- I would prefer just using a copyleft-next license header to
suffice for folks use the code on either GPLv2 or copyleft-next code. Ie, the
or clauses would not be needed. Likewise for headers, only the macro would not
be used. That is:
file.c:
/* copyleft-next license header only */
MODULE_LICENSE("GPL")
file.h:
/* copyleft-next license header only */
Linus, is this fine?
Luis
6 years, 10 months