Thread: GNU GPL license in some of the source files
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
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
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
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
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 MildebrandtIt is an oversight: psycopg license was changed to LGPL about 4 years
<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
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).This file was dropped from the repos
> And there's a copy of the GNU GPL:
> doc/COPYING
(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.Yes, they are an incomplete rewording from the GPL to LGPL switch:
> 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?
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
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 MildebrandtIf you want to go through git you can fork the git repos at
<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.
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
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
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 MildebrandtFWIW Karsten has contributed much more than that file to psycopg and
<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.
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
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