Dear all, I'd appreciate help with a licence conundrum I have with the geometry package (https://davidcsterratt.github.io/geometry/) that I maintain.
The geometry package contains some functions (e.g. convhulln(), delaunayn()) that wrap the Qhull library (http://www.qhull.org), which has its own, non-GPL, licence. The geometry package includes this source code, and wraps it in C files that have GPL licence headers. The geometry package also has functions that are not derived from Qhull code and which are licensed under GPL, including a number of functions that are ports of the Matlab distmesh package, and some other useful functions to do with triangulation and coordinate systems (e.g. tsearch() and cart2bary()). I inherited this situation when I took over maintaining the package 8 years ago, though I have added functions to both Qhull-derived and GPL categories. In October last year I submitted the latest version of the geometry package, which adds quite a bit of useful functionality: https://github.com/davidcsterratt/geometry/blob/master/pkg/NEWS I received the following response from the CRAN maintainers: For the license. It is CRAN policy that a package has to have a single license. Can you manage to convince all copyright hoders (e.g. of Qhull) to relicense under GPL? I tried persuading the author of Qhull. He replied: There's only one license and that's the one included with the code (COPYING.txt). Several years ago, I tried to clarify the license with the Univ. of Minn. but had no success. So I think the best approach is to keep the original license as is. It has not been an issue so far. At the same time as I wrote to the Qhull maintainer, I wrote to the CRAN maintainers: I have written to the Qhull maintainer, but I doubt he will want to change the license, since Qhull is used in proprietary software such as MATLAB. Assuming this is the case, we'll have to create a new package - I would need help with managing the change for dependent packages. The CRAN maintainers replied: Please try to find out how this can work. In principle I could create a package containing only the functions derived from Qhull (but still with GPL headers in the wrapper C files, see e.g., https://github.com/davidcsterratt/geometry/blob/master/pkg/src/Rconvhulln.c But wouldn't this package still have to have two licenses, due to the GPL headers? I don't want to start on any package splitting without having a plan agreed that I know will be OK for CRAN. It would be quite a bit of work, as there are a number of packages that depend on geometry, so I would have to check all the revdeps for functions that they call in the geometry package. I would have to then perhaps write wrapper functions in the geometry package to make sure any functions moved to a new package still worked when called from revdeps. I know the CRAN maintainers are busy, so any help from the list would be much appreciated. Best wishes, David. -- David C Sterratt, Senior Research Associate Institute for Adaptive and Neural Computation, School of Informatics University of Edinburgh, 10 Crichton Street, Edinburgh EH8 9AB, Scotland, UK http://homepages.inf.ed.ac.uk/sterratt - tel: +44 131 651 1739 -- The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336. ______________________________________________ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel