[quagga-dev 12202] Re: [PATCH 2/2] HACKING: Quagga is a GPL project, all contributions must be compatible with GPL

Paul Jakma paul at jakma.org
Wed Apr 29 11:41:48 BST 2015


On Wed, 29 Apr 2015, Martin Winter wrote:

> Paul (and everyone else on the list)
>
> a few comments:
>
> honestly, I think this is not the right time to discuss these changes.

There never seems to be a right time.

> There are still unresolved difference opinions with some previous code 
> (Babel) and I think that needs to be resolved first.

There are no unresolved differences there, afaik.

That matter was decided in 2012, based on legal advice. The 3 maintainers 
involved in that had different opinions on the specifics, but we 
ultimately agreed on a least-worst way forward.

If there are issues, I'd encourage people to speak up here.

> Personally, I would strongly SUGGEST (but not force) any contributor to 
> submit contributions under “GPLv2 or later”. Otherwise they may get VERY 
> long delays or get rejected because of different views on licenses.

> But I would NOT make this into a forced rule. If someone thinks their 
> “other" license is not an issue, then they can always make their point 
> with the community and/or maintainers of Quagga.

So if it's loosened to stop after "other than where the contribution 
explicitly and clearly indicates otherwise" bit does that address that? 
I.e. remove the "and in all cases under terms that do not conflict with 
the COPYING file in the top-level directory." bit.

The intent there, note, is to cover the implicit cases - where people just 
contribute stuff without indicating licences. Even then, it only matters 
where additional licences are at play. E.g. they modify a non-!GPL 
licensed file in the tree.

> What should be clear is that any changes to existing files follow the 
> existing license and any new files must have a license header (and my 
> above strong suggestion would apply here)

Yes, copyright and licence notices are important. Need to check if that 
that's there, and draw attention to it.

> Anyway, some other clarifications/questions inline (but again, would 
> rather have this discussion on hold for the time being until the 
> existing issue):

Then we need to discuss that issue. I'll reply to this email seperately 
with a new subject for those issues to be raised.

> On Apr 27, 2015, at 12:53 PM, Paul Jakma <paul at jakma.org> wrote:

>> At present, it isn't clear (to me) when a contribution is made to an file with only a permissive licence notification in Quagga, whether that contribution is under the GPLv2 that Quagga generally is under, or whether it is under the terms of the licence notification in that file, or both. Generally, I'd guess most people would think the licence notification of the file itself would take precedence, though maybe it's both, or only the GPL. It isn't clear.
>>
>> So my suggestion was intended to clarify that and make it clear that 
>> when contributors modify stuff, their modifications are made available 
>> under the terms of both any licence of the file and, independently, the 
>> GPLv2 of Quagga generally. At least, unless explicitly indicated 
>> otherwise (which isn't in the text!).

> I believe the license of Quagga is "GPLv2 or later”. And it probably 
> will never change (as it might be impossible to ever get all the 
> contributors to agree). This also means that it must be compatible with 
> the “GPLv2 or later”, or to be specific with both: GPLv2 and any later 
> version. (I see the choice for the or not by the person who contribute 
> to the main quagga project, but the enduser or anyone who might fork 
> it.)

I've been careful to write "GPL" in that changeset to avoid getting into 
the specifics of that.

FWIW, no permission is needed to 'uprev' "GPLv2 or later" (aka GPLv2+) 
code to a later revision. We've discussed this between maintainers in the 
past though, and the desire then was to keep it at v2.

I think "GPL" suffices for the "REQUIRED READING" section, detailed 
discussion of revisions isn't important there - it refers to a specific 
COPYING file in our tree which hasn't changed and is unlikely to change.

> Be careful to not (by mistake) just call it “GPLv2”.

ACK. Indeed! :)

I'll double-check.

>>    * HACKING.tex: Quagga is a GPL project, as the top-level COPYING file has
>>      clearly stated, since inception.  All contributions must be under terms
>>      that are compatible with the GPL.  This is obvious, but good to be
>>      explicit about in the "REQUIRED READING" section.

> I like this form. “Compatible”, but says nothing about forced license 
> change.

> Contributions MUST be compatible with it (for inclusion on GPLv2 _AND_ 
> any later version), but I’m missing the point why they must be under 
> this license. Many contributors might feel like they just give a small 
> piece of code with the “I don’t care” license. They may not care who is 
> reusing their code at all or even include it in a commercial part (who 
> knows, might be just some clever core library). So I think the right 
> thing is to ask for a compatible for including into “GPLv2 or later” 
> project, so the resulting binary is still “GPLv2 or later” and the 
> distributed source is compatible with it.

So, I already know what this is about :), and the specifics of that let's 
try move to a new thread.

If someone contributes to Quagga events have shown it is important they 
are aware that this may mean their code is distributed under the GPL.

Making it "REQUIRED READING" that they give a GPL grant - in addition to 
any other licence - is one way of achieving that awareness.

>> diff --git a/HACKING.tex b/HACKING.tex
>> index f78d451..56f36c6 100644
>> --- a/HACKING.tex
>> +++ b/HACKING.tex
>> @@ -21,19 +21,28 @@ are welcome.
>> \section{REQUIRED READING}
>> \label{sec:required}
>>
>> -Note well: By proposing a change to Quagga, by whatever means, you are implicitly agreeing:
>> +Note well: Quagga generally is a GPL project. By proposing a change to
>> +Quagga, by whatever means, you are implicitly agreeing:
>>
>> \begin{itemize}
>> -  \item To licence your contribution according to the licence of any files in Quagga being
>> -        modified.
>> +
>> +  \item To licence your contribution according to the licence notification
>> +        of any files in Quagga being modified, \textit{and} according to the
>> +        COPYING file in the top-level directory of Quagga, other than where
>> +        the contribution explicitly and clearly indicates otherwise; and in
>> +        all cases under terms that do not conflict with the COPYING file in
>> +        the top-level directory.

> Confusing to me. It does not spell if the contributor agrees on an 
> explicit dual licensing with adding the GPLv2+ license even for 
> different license which are common known as compatible with GPL) for 
> non-GPL code or he just confirms that the license on his code is 
> compatible with the Quagga GPLv2+ license as stated in copying.

The last clause actually can and should be removed I think. Then what it 
says is that for contributions - where not otherwise indicated - the 
contributor is implicitly giving licences under both the COPYING file, and 
the licence notification of the file.

Note that this has no bearing on babeld, which I suspectr is what you and 
David are concerned about.

It wouldn't have affected the contribution from Juliusz and Matthieu, 
because it had MIT/X11 notices.

It /shouldn't/ affect future contributors to babeld/, because the Quagga 
maintainers are (were anyway) agreed to ask babeld/ contributors to give 
an explicit MIT/X11 licence grant by signing the babeld/LICENCE file 
(maintainers shouldn't integrate a babeld change from others without that 
otherwise).

So, that item shouldn't matter.

Indeed, none of this matters to babeld really, other than the "Quagga is a 
GPL project" generalisation, because the babeld thing seems to be about 
something other than the licencing.

>> -  \item That it is your responsibility to ensure you hold whatever rights are required to be -        able to contribute this change under the licenses of the files in Quagga being
>> -        modified.
>> +  \item That it is your responsibility to ensure you hold whatever rights
>> +        are required to be able to contribute this change under the licenses
>> +        of the files in Quagga being modified, and the top-level COPYING
>> +        file.
>>
>> -  \item That it is your responsibility to give with the contribution a full account of all
>> -        interests held and claims in the contribution; such as through copyright, trademark and
>> -        patent laws or otherwise; that are known to you or your associates (e.g. your employer).
>> +  \item That it is your responsibility to give with the contribution a full
>> +        account of all interests held and claims in the contribution; such
>> +        as through copyright, trademark and patent laws or otherwise; that
>> +        are known to you or your associates (e.g.  your employer).
>> +
>> \end{itemize}
>
> By having this in the doc, would that mean that there is no discussion 
> if something is ok to included as the contributor agreed on a 
> distribution under GPLv2+ ? Basically, if the contributor says it’s ok, 
> then there is no discussion on the license anymore, because he agreed to 
> it?

This is "REQUIRED READING" for contributors. It does not say that if the 
contributor chooses some other licence the maintainers could accept it. :)

> I would like that idea…

Except it's not practically possible. :)

regards,
-- 
Paul Jakma	paul at jakma.org	@pjakma	Key ID: 64A2FF6A
Fortune:
Humans are communications junkies.  We just can't get enough.
 		-- Alan Kay


More information about the Quagga-dev mailing list