Clarification around the DCO

Jeremy Allison jra at
Sat Oct 17 03:21:30 UTC 2020

On Fri, Oct 16, 2020 at 06:20:02PM -0700, James Bottomley wrote:
> On Fri, 2020-10-16 at 17:56 -0700, Jeremy Allison via samba-technical
> > Ah, I've just remembered *why* we have a difference from
> > your "standard" DCO text.
> > 
> > In our text we have the clause:
> > 
> > "(e) I am granting this work to this project under the terms of both
> > the
> >     GNU General Public License and the GNU Lesser General Public
> > License
> >     as published by the Free Software Foundation; either version 3 of
> >     these Licenses, or (at the option of the project) any later
> > version."
> OK, so legally LGPLv3 and GPLv3 are the same licence: LGPLv3 is GPLv3
> with an additional permission.  Your clause (e) effectively requires
> GPLv3 with the additional permission on every contribution.
> > The reason for this is that Samba as a whole is under
> > GPLv3, but there are many useful libraries within Samba
> > (talloc, tevent, tdb etc.) that started life as an integral
> > part of Samba - so GPLv3, but then external projects wanted
> > to use them without being bound by GPLv3 terms, so asked
> > us to re-license under LGPLv3.
> Right so what you really want is some event to trigger the addition of
> the permission that changes the licence from GPL to LGPL.  This more or
> less is why the apache model is broad inbound grant coupled with
> licensing by the project board to the contributor, so the board
> decides.  Without this governance trigger effectively the whole of
> Samba is LGPL because every contribution was required to have the
> additional permission.
> Obviously, a lot of open source projects don't like the apache inbound
> != outbound model (and don't have a real governing board), so something
> else has to be the trigger.  The model I've always liked is all code in
> X (usually lib/) is under the LGPL, so the trigger is accepting a patch
> moving the code under X.  You can see this with the efitools project,
> which is under GPLv2 but shares its lib/ code with shim, which is under
> BSD-2-Clause.  This is how the licence of efitools copes:
> The trigger is very rudimentary and hasn't really been changed for 8
> years, so perhaps we could craft something better for Samba.
> Well, I think the efitools model above shows it can be done within the
> DCO framework so I think we have a basis for exploration of whether
> this can work for Samba as well.

OK, at this point I error out with IANAL, sorry :-).

I think this would be better done via discussions
between lawyers. In the meantime the quickest
way to get to a non-conflicting situation is
to change our name to "Samba Developer's Declaration"
(if everyone on the Team agrees) and add the CC-By-SA
(C) notice so we're fully in compliance.

Better minds than I can then work in the background
to try and unify what we need with the existing DCO.

Sounds like a plan ?


More information about the samba-technical mailing list