Thread: GNU GPL license in some of the source files

GNU GPL license in some of the source files

From
Chris Mildebrandt
Date:
Hello,

I just downloaded the source for 2.5.3 (http://initd.org/psycopg/tarballs/PSYCOPG-2-5/psycopg2-2.5.3.tar.gz) and looked through the sources. The following files seem to be under a GPL license:

examples/copy_from.py
examples/lobject.py
examples/copy_to.py
scripts/buildtypes.py
scripts/make_errorcodes.py
scripts/refcounter.py

And there's a copy of the GNU GPL:
doc/COPYING

We're very sensitive to GPL code here and would appreciate some clarification about these files. Was this just an oversight? And is there a plan to provide a source release without GPL code in the package?

Thanks,
-Chris

Re: GNU GPL license in some of the source files

From
Federico Di Gregorio
Date:
On 20/05/14 02:21, Chris Mildebrandt wrote:
> I just downloaded the source for 2.5.3
> (http://initd.org/psycopg/tarballs/PSYCOPG-2-5/psycopg2-2.5.3.tar.gz)
> and looked through the sources. The following files seem to be under a
> GPL license:
>
> examples/copy_from.py
> examples/lobject.py
> examples/copy_to.py
> scripts/buildtypes.py
> scripts/make_errorcodes.py
> scripts/refcounter.py
>
> And there's a copy of the GNU GPL:
> doc/COPYING
>
> We're very sensitive to GPL code here and would appreciate some
> clarification about these files. Was this just an oversight? And is
> there a plan to provide a source release without GPL code in the package?

I don't remember about scripts/refcounter.py and
scripts/make_errorcodes.py, but I am the original author of the other
files and they are supposed to be under the same license as the rest of
psycopg2 code.

federico

--
Federico Di Gregorio                         federico.digregorio@dndg.it
Di Nunzio & Di Gregorio srl                               http://dndg.it
  Qu'est ce que la folie? Juste un sentiment de liberté si
   fort qu'on en oublie ce qui nous rattache au monde... -- J. de Loctra


Re: GNU GPL license in some of the source files

From
Daniele Varrazzo
Date:
On Tue, May 20, 2014 at 1:21 AM, Chris Mildebrandt
<chris@woodenrhino.com> wrote:
> Hello,
>
> I just downloaded the source for 2.5.3
> (http://initd.org/psycopg/tarballs/PSYCOPG-2-5/psycopg2-2.5.3.tar.gz) and
> looked through the sources. The following files seem to be under a GPL
> license:
>
> examples/copy_from.py
> examples/lobject.py
> examples/copy_to.py
> scripts/buildtypes.py
> scripts/make_errorcodes.py
> scripts/refcounter.py

It is an oversight: psycopg license was changed to LGPL about 4 years
ago. Also note that these scripts are only used to develop/test
psycopg and not to build/use it: they are not installed in a system
(where e.g. "python setup.py install" is performed).


> And there's a copy of the GNU GPL:
> doc/COPYING

This file was dropped from the repos
(https://github.com/psycopg/psycopg2/commit/04c09b7b), but apparently
only from the master branch: it still appears in the maint_2_5 branch
(probably because shortly after releasing 2.5 I started clearing up
the package content for the future 2.6 release). It is an oversight
too: only COPYING.LESSER applies.


> We're very sensitive to GPL code here and would appreciate some
> clarification about these files. Was this just an oversight? And is there a
> plan to provide a source release without GPL code in the package?

Yes, they are an incomplete rewording from the GPL to LGPL switch:
these files probably got less attention for the above reason: if you
compile psycopg with "python setup.py build" they don't end up in the
resulting package. I think we can adjust the wording in the next dot
release no problem. If you provide a patch changing the file headers
it would be helpful too.


-- Daniele


Re: GNU GPL license in some of the source files

From
Daniele Varrazzo
Date:
On Tue, May 20, 2014 at 3:43 PM, Chris Mildebrandt
<chris@woodenrhino.com> wrote:
> Hi Daniele,
>
> Thanks for the clarification on the licensing for psycopg. If you can give
> some quick high-level steps on how to submit a patch, I can do that for the
> files mentioned below.

If you want to go through git you can fork the git repos at
https://github.com/psycopg/psycopg2/ (check out the tag 2_5_3), change
the 6 files above and remove the unwanted license, commit then send a
pull request. Otherwise just send me a diff via email of the 6 changed
files and I'll apply it.

-- Daniele


Re: GNU GPL license in some of the source files

From
Chris Mildebrandt
Date:
Hi Daniele,

Thanks for the clarification on the licensing for psycopg. If you can give some quick high-level steps on how to submit a patch, I can do that for the files mentioned below.

Thanks,
-Chris


On Tue, May 20, 2014 at 1:59 AM, Daniele Varrazzo <daniele.varrazzo@gmail.com> wrote:
On Tue, May 20, 2014 at 1:21 AM, Chris Mildebrandt
<chris@woodenrhino.com> wrote:
> Hello,
>
> I just downloaded the source for 2.5.3
> (http://initd.org/psycopg/tarballs/PSYCOPG-2-5/psycopg2-2.5.3.tar.gz) and
> looked through the sources. The following files seem to be under a GPL
> license:
>
> examples/copy_from.py
> examples/lobject.py
> examples/copy_to.py
> scripts/buildtypes.py
> scripts/make_errorcodes.py
> scripts/refcounter.py

It is an oversight: psycopg license was changed to LGPL about 4 years
ago. Also note that these scripts are only used to develop/test
psycopg and not to build/use it: they are not installed in a system
(where e.g. "python setup.py install" is performed).


> And there's a copy of the GNU GPL:
> doc/COPYING

This file was dropped from the repos
(https://github.com/psycopg/psycopg2/commit/04c09b7b), but apparently
only from the master branch: it still appears in the maint_2_5 branch
(probably because shortly after releasing 2.5 I started clearing up
the package content for the future 2.6 release). It is an oversight
too: only COPYING.LESSER applies.


> We're very sensitive to GPL code here and would appreciate some
> clarification about these files. Was this just an oversight? And is there a
> plan to provide a source release without GPL code in the package?

Yes, they are an incomplete rewording from the GPL to LGPL switch:
these files probably got less attention for the above reason: if you
compile psycopg with "python setup.py build" they don't end up in the
resulting package. I think we can adjust the wording in the next dot
release no problem. If you provide a patch changing the file headers
it would be helpful too.


-- Daniele

Re: GNU GPL license in some of the source files

From
Chris Mildebrandt
Date:
There's a file (sandbox/test-psycopg2-datetime-systematic.py) that has the following lines:

# $Source: /sources/gnumed/gnumed/gnumed/client/testing/test-psycopg2-datetime-systematic.py,v $
__version__ = "$Revision: 1.1 $"
__author__  = "K.Hilbert <Karsten.Hilbert@gmx.net>"
__license__ = 'GPL (details at http://www.gnu.org)'
# =======================================================================

How would you like to handle this? Usually we would remove the file or get written permission from the author to change the license. 

Another place is line 571 in setup.py:
license="GPL with exceptions or ZPL",

Can I change that to:
license="LGPL with exceptions or ZPL",

Thanks,
-Chris


On Tue, May 20, 2014 at 8:01 AM, Daniele Varrazzo <daniele.varrazzo@gmail.com> wrote:
On Tue, May 20, 2014 at 3:43 PM, Chris Mildebrandt
<chris@woodenrhino.com> wrote:
> Hi Daniele,
>
> Thanks for the clarification on the licensing for psycopg. If you can give
> some quick high-level steps on how to submit a patch, I can do that for the
> files mentioned below.

If you want to go through git you can fork the git repos at
https://github.com/psycopg/psycopg2/ (check out the tag 2_5_3), change
the 6 files above and remove the unwanted license, commit then send a
pull request. Otherwise just send me a diff via email of the 6 changed
files and I'll apply it.

-- Daniele

Re: GNU GPL license in some of the source files

From
Daniele Varrazzo
Date:
On Tue, May 20, 2014 at 4:49 PM, Chris Mildebrandt
<chris@woodenrhino.com> wrote:
> There's a file (sandbox/test-psycopg2-datetime-systematic.py) that has the
> following lines:
>
> # $Source:
> /sources/gnumed/gnumed/gnumed/client/testing/test-psycopg2-datetime-systematic.py,v
> $
> __version__ = "$Revision: 1.1 $"
> __author__  = "K.Hilbert <Karsten.Hilbert@gmx.net>"
> __license__ = 'GPL (details at http://www.gnu.org)'
> # =======================================================================
>
> How would you like to handle this? Usually we would remove the file or get
> written permission from the author to change the license.

FWIW Karsten has contributed much more than that file to psycopg and
was definitely contacted when we changed license.

I think you can just drop that file. It was testing an issue we had in
the past with historical timezones with seconds in the offset (see
http://initd.org/psycopg/docs/usage.html#time-zones-handling) and is
not regularly run. A test for the same issue was added to the test
suite (https://github.com/psycopg/psycopg2/commit/305d86f3) and that
one gets regularly run instead.

-- Daniele


Re: GNU GPL license in some of the source files

From
Chris Mildebrandt
Date:
Great, I'll get rid of that file. I'll also make the change I mentioned to the license line in setup.py and send a pull request unless I hear differently.

Thanks for your help, we're looking forward to using this package and perhaps contributing to it in the future.

-Chris


On Tue, May 20, 2014 at 9:19 AM, Daniele Varrazzo <daniele.varrazzo@gmail.com> wrote:
On Tue, May 20, 2014 at 4:49 PM, Chris Mildebrandt
<chris@woodenrhino.com> wrote:
> There's a file (sandbox/test-psycopg2-datetime-systematic.py) that has the
> following lines:
>
> # $Source:
> /sources/gnumed/gnumed/gnumed/client/testing/test-psycopg2-datetime-systematic.py,v
> $
> __version__ = "$Revision: 1.1 $"
> __author__  = "K.Hilbert <Karsten.Hilbert@gmx.net>"
> __license__ = 'GPL (details at http://www.gnu.org)'
> # =======================================================================
>
> How would you like to handle this? Usually we would remove the file or get
> written permission from the author to change the license.

FWIW Karsten has contributed much more than that file to psycopg and
was definitely contacted when we changed license.

I think you can just drop that file. It was testing an issue we had in
the past with historical timezones with seconds in the offset (see
http://initd.org/psycopg/docs/usage.html#time-zones-handling) and is
not regularly run. A test for the same issue was added to the test
suite (https://github.com/psycopg/psycopg2/commit/305d86f3) and that
one gets regularly run instead.

-- Daniele

Re: GNU GPL license in some of the source files

From
"Karsten Hilbert"
Date:
There's a file (sandbox/test-psycopg2-datetime-systematic.py) that has the following lines:
 

# $Source: /sources/gnumed/gnumed/gnumed/client/testing/test-psycopg2-datetime-systematic.py,v $
__version__ = "$Revision: 1.1 $"
__author__  = "K.Hilbert <Karsten.Hilbert@gmx.net>"
__license__ = 'GPL (details at http://www.gnu.org[http://www.gnu.org])'
# =======================================================================
 
How would you like to handle this?



You can change it to

   license="LGPL with exceptions or ZPL",



Karsten Hilbert