Repository: vispy/vispy

Issue:
vispy/util/svg/geometry.py: BSD (2 clause) GPL (v2 or later)
Hello guyes, I am preparing the debian package of the 0.4.0 version took from pypi.
since I need to do a license check before uploading, I found this discrepancy.
The original license is GPL2+ and you added a BSD-2 clauses on top of that. 
Do you have an email of the original author which allow to relicense his code into BSD ?

cheers

Fred



Discussion:
ping @rougier this is from the SVG code

I'm the one that has written this file. It's a translation from the C++ antigrain library 2.4 which was BSD but the 2.5 version switched to GPL (but the code for this file is the same). But anyway, since it is a translation (from C++ to python with a fair amount of work), do we need to keep the original license anyway (I kept it just to point to the original work) ?

And as a matter of fact, the original author of the antigrain library, Maxim Shemanarev, is dead.

To my understanding translation is like a derivativ work of the original author. so yes you need to keep the original verion license. If you started your work from the 2.4 version which was BSD as you said it is ok,but if you started the work from the 2.5 version it is not :(.

frommy point of view having it GPL2+ is not an issue, but from the point of view of the vispy team i could be an issue :) 

Since the source code for that file was identical between 2.4 and 2.5 (other than the license clause), can the code considered dual licensed, then? If it is, then it seems like we should be able to put in either the BSD license clause or the GPL license clause for the translated code. In other words, we can just swap the license notice in `vispy` since the translation was based on dual BSD/GPL licensed code in the first place. @picca does that sound right to you?

I would says that if the file did not changed between 2.4 and 2.5 you selec one license but not dual license.
In you case you should select BSD in order to release vispy as BSD and not GPL.

cheers.
can you put in that case the original  BSD header in te files ?

I know I know this is borring but it is quit eimportant.

cheers

and thanks

@picca I agree. I could push a simple commit and release `0.4.1` to `pip`, would that work?

What is your timeline for inclusion, by the way? If it's a month or two before anything comes of it, we could try to push out a new version `0.5` before then. There have been lots of bugfixes, enhancements, and changes.

I have no time line :),  I can do the 0.4.0 upload with the GPL header now and wait until 0.5.0 to do the correction later.

It would be nice to have also the doc and the examples in the pypi version.
could you check also if all the vispy/ext/*.py are still relevant ?
We (dbian) do ot like embeded code, so it would be great if your could get rid of them as much as possible.

We do not like also minified code, expecially in the documentation, do you think that it would be possible to have in pypi an option during the build which I could use in order to give the debian system path of the twitter javascript code ?

@QuLogic has done some work to make it so that some of the `vispy/ext` packages can be removed. Basically the entire `vispy/ext/_bundled` directory can be deleted:

https://github.com/vispy/vispy/tree/master/vispy/ext/_bundled

Is there some way to mark this as the case for Debian packaging, or otherwise make it easier? We want to have them in the repo for most installs so that our only hard dependency is `numpy`, but for things like Debian we can make use of system packages instead.

I was under the impression that most packages don' include those things with the PyPi versions.

What twitter JavaScript code are you referring to?

> I was under the impression that most packages don' include those things with the PyPi versions.

Stupid early post. What I meant to say was, I was under the impression that most packages don't include `doc` and `examples` with their PyPi versions. Does e.g. `matplotlib` include the `doc` and `examples` in their PyPi uploads?

I was refering to the bootstrap code used in skimage them, but it seems that it is no longer part of the code of vispy.

you are right the debian package of matplotlib comes fromsourceforge
version=3
opts="uversionmangle=s/rc/~rc/" \
http://sf.net/matplotlib/matplotlib-(.+)\.tar.gz

nevertheless it would be great to add the example directory in the pipy lik ein the git repository.
It is great to test vispy  for a new comer.


Resolving patch:
diff --git a/vispy/util/svg/geometry.py b/vispy/util/svg/geometry.py
--- a/vispy/util/svg/geometry.py
+++ b/vispy/util/svg/geometry.py
@@ -1,25 +1,33 @@
-# ----------------------------------------------------------------------------
-#  Anti-Grain Geometry (AGG) - Version 2.5
-#  A high quality rendering engine for C++
-#  Copyright (C) 2002-2006 Maxim Shemanarev
-#  Contact: mcseem@antigrain.com
-#           mcseemagg@yahoo.com
-#           http://antigrain.com
+# Anti-Grain Geometry - Version 2.4
+# Copyright (C) 2002-2005 Maxim Shemanarev (McSeem)
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
 #
-#  AGG is free software; you can redistribute it and/or
-#  modify it under the terms of the GNU General Public License
-#  as published by the Free Software Foundation; either version 2
-#  of the License, or (at your option) any later version.
+#   1. Redistributions of source code must retain the above copyright
+#      notice, this list of conditions and the following disclaimer.
 #
-#  AGG is distributed in the hope that it will be useful,
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#  GNU General Public License for more details.
+#   2. Redistributions in binary form must reproduce the above copyright
+#      notice, this list of conditions and the following disclaimer in
+#      the documentation and/or other materials provided with the
+#      distribution.
 #
-#  You should have received a copy of the GNU General Public License
-#  along with AGG; if not, write to the Free Software
-#  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
-#  MA 02110-1301, USA.
+#   3. The name of the author may not be used to endorse or promote
+#      products derived from this software without specific prior
+#      written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+# IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
 # ----------------------------------------------------------------------------
 #
 # Python translation by Nicolas P. Rougier


Test patch: