[lxc-devel] Clarifying the licensing of LXC

Stéphane Graber stgraber at ubuntu.com
Fri Sep 6 04:10:23 UTC 2013


Hi,

Well since they're currently shipped out of tree, you're free to do
whatever you want. GPLv2 code is allowed to link with an LGPLv2.1+
library so your code isn't in violation of LXC's license.

However this very likely means that any software using your Go bindings
will have to be GPLv2 in order to respect the binding's license.
While that's your right, it's fairly uncommon and that's why I tend to
prefer having bindings under a more permissive license with regard to
linking, such as LGPLv2.1+.

Btw, speaking of those bindings, do they have to remain out of tree to
be easily usable with go or could they be merged into LXC upstream at
some point?

On Fri, Sep 06, 2013 at 12:01:15AM -0400, S.Çağlar Onur wrote:
> Hey Stéphane,
> 
> I realized that Go bindings are licensed as GPLv2. I've no objection to
> re-licensing them with LGPL v2.1 but wanted to clarify it with you first.
> Should I go ahead and change the license or is it ok to stay with GPLv2?
> 
> Best,
> 
> On Fri, Aug 30, 2013 at 3:42 PM, Stéphane Graber <stgraber at ubuntu.com>wrote:
> 
> > Hello,
> >
> > First of all, sorry for the boring e-mail, nobody likes to deal with
> > licenses but it's an unfortunate thing we have to deal with from time to
> > time.
> >
> > Thomas Moschny reported some inconsistencies in the way LXC is currently
> > licensed.
> > The bug report is available here: https://github.com/lxc/lxc/issues/36
> >
> >
> > Basically the way I see it, LXC is made of 4 different bits:
> >  - The main library
> >  - The language bindings
> >  - The binary tools/scripts
> >  - The templates
> >
> > In order to make the library easily usable by others, LXC was originally
> > licensed entirely under the LGPL v2.1 and higher and that certainly
> > makes sense for any bit in the main library as well as for the bindings.
> >
> > Most of the tools, scripts and templates followed course and are also
> > under LGPLv2.1+, some are under GPLv2 and that's all fine since they're
> > tools and not libraries.
> >
> >
> > The problem is that we currently have some files that are part of the
> > library or part of bindings which are licensed under the wrong license,
> > namely, they're currently under GPLv2.
> >
> > I believe this was an oversight and that we should get those switched to
> > the proper license immediately. But I'm not simply going to go ahead and
> > do that myself since I'm not the actual copyright holder for those.
> >
> > Instead, I'd like the original/main author of those to confirm it's fine
> > by them and then we can do that.
> >
> >
> > This still means we'll effectively re-license the code of some of our
> > contributors without explicitly asking them about it. As I said, I'm
> > convinced that this isn't a problem since we're just talking about a
> > handful of files and it's always been clear that the LXC library is
> > licensed under LGPLv2.1+.
> >
> > Nevertheless, if anyone contributed to one of those files we're about to
> > re-license and do not wish their contributions re-licensed, please get
> > in touch as soon as possible so we can remove the affected code from the
> > project.
> >
> >
> > The following files will be re-licensed from GPLv2 to LGPLv2.1+:
> >  - src/lua-lxc/core.c (Dwight)
> >  - src/lxc/lxccontainer.c (Serge)
> >  - src/lxc/lxclock.c (Serge)
> >  - src/lxc/lxclock.h (Serge)
> >  - src/tests/cgpath.c (Serge)
> >  - src/tests/containertests.c (Serge)
> >  - src/tests/createtest.c (Serge)
> >  - src/tests/destroytest.c (Serge)
> >  - src/tests/getkeys.c (Serge)
> >  - src/tests/get_item.c (Serge)
> >  - src/tests/locktests.c (Serge)
> >  - src/tests/lxcpath.c (Serge)
> >  - src/tests/saveconfig.c (Serge)
> >  - src/tests/shutdowntest.c (Serge)
> >  - src/tests/startone.c (Serge)
> >  - templates/lxc-ubuntu.in (Serge)
> >  - templates/lxc-ubuntu-cloud.in (Serge)
> >
> > Any file that currently doesn't contain a licensing header is assumed to
> > be under the LGPLv2.1+ (as specified in COPYING).
> >
> >
> > Additionally, some of the Android compatibility bits under lxc/includes/
> > are licensed under a two-clause BSD license. To the best of my
> > knowledge, there are no restrictions in linking LGPLv2 code to BSD code.
> >
> >
> > While processing that bug report, I've also noticed some cases where our
> > license headers are out of date (wrong FSF address) or inconsistent (in
> > the form, not the content). I'll be fixing those too before I send the
> > alpha1 pull-request.
> >
> > --
> > Stéphane Graber
> > Ubuntu developer
> > http://www.ubuntu.com
> >
> >
> > ------------------------------------------------------------------------------
> > Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
> > Discover the easy way to master current and previous Microsoft technologies
> > and advance your career. Get an incredible 1,500+ hours of step-by-step
> > tutorial videos with LearnDevNow. Subscribe today and save!
> > http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk
> > _______________________________________________
> > Lxc-devel mailing list
> > Lxc-devel at lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/lxc-devel
> >
> >
> 
> 
> -- 
> S.Çağlar Onur <caglar at 10ur.org>

-- 
Stéphane Graber
Ubuntu developer
http://www.ubuntu.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.linuxcontainers.org/pipermail/lxc-devel/attachments/20130906/9fe5394c/attachment.pgp>


More information about the lxc-devel mailing list