[kwlug-disc] Switch license or keep it the same?

doug moen doug at moens.org
Thu Apr 12 17:07:47 EDT 2018


If a C program links to a gpl library, then the C source code is not
required to be gpl. If you compile that C source and link it with the gpl
library, then the resulting executable is a combined work under copyright
law, since the executable contains both the gpl library and a transformed
version of the C source. It is this executable, the "combined work", that
is subject to both licences: the gpl licence of the library, and the
copyright licence of the C source code (maybe it is Apache 2).

The gpl requires that if you distribute this executable to someone else,
then all of the source code used to create the executable must be made
available to the recipient, even if some of those source files are not
GPLed. BUT, the GPL does not change or void the licence of those other
source files. AND, the GPL does not generally prohibit you from mixing GPL
and non-GPL source files in a combined work.

THEREFORE, you don't have to change your licence.

On Thursday, 12 April 2018, Paul Nijjar <paul_nijjar at yahoo.ca> wrote:

>
> Licenses are so weird.
>
> In the C/C++ context, I thought that linking to a GPLed library means
> your code has to be GPL as well. That is (I thought) why the LGPL
> exists -- so that a program that is not GPLed can link to a library
> that is without having to be GPL itself.
>
> When I use a GPLed module in Python it is different?
>
> I agree that I am not distributing the source of the library. The
> requirements.txt file specifies the dependency so that my end user can
> pull in the requirements. But I am struggling to understand why
>
> from pyshorteners import Shortener
>
> is not analogous to linking to a C library. Like, if I wrote a program
> that has
>
> #include <pyshorteners.h>
>
> in my C code but do not distribute the code for pyshorteners.c and
> expect end users to download it and compile the program themselves,
> then my C program would not need to be GPL even if pyshorteners.c was?
>
> It is not even clear to me why I couldn't distribute the source to
> pyshorteners.c along with my source. Isn't that how distributions
> ship collections of both GPL and non-GPL code?
>
> - Paul
>
>
> On Thu, Apr 12, 2018 at 03:50:24PM -0400, doug moen wrote:
> > You don't have to change the copyright licence on your files if they
> > reference other files that are GPL3. You own the copyright on your own
> > files, you can attach any licence you want, and the GPL doesn't have the
> > legal power to force you to do otherwise. So keep the Apache 2 licence in
> > place. But you should note the dependency on a GPL'ed library somewhere,
> > perhaps in the README file.
> >
> > The GPL on pyshorteners only affects you if you distribute a combined
> work
> > that incorporates both GPL'ed files and your files in a single work; then
> > the entire combined work must be distributed on the terms of the GPL,
> even
> > though individual files within that combined work may be distributed
> > separately using the Apache 2 licence.
> >
> > If somebody later wants to change your code to remove the pyshorteners
> > dependency, they can do so, and then they will only be subject to Apache
> 2.
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://kwlug.org/pipermail/kwlug-disc_kwlug.org/attachments/20180412/ad4dbb6b/attachment.htm>


More information about the kwlug-disc mailing list