[R-sig-Geo] Status of gpclib license

Roger Bivand Roger.Bivand at nhh.no
Sun Jan 17 20:07:58 CET 2010

On Sun, 17 Jan 2010, Nicholas Lewin-Koh wrote:

> Hi,
> Thanks, I must be remembering something else then. I hope I am not APOE4
> +/+.

Hi Nicholas,

I wouldn't worry more than we all have to! About 5 years ago an attempt 
was made to find out what the license of the underlying C code was, but 
did not resolve the situation. The gpc C code states:

"This software is free for non-commercial use. It may be copied, modified, 
and redistributed provided that this copyright notice is preserved on all 
copies. The intellectual property rights of the algorithms used reside 
with the University of Manchester Advanced Interfaces Group.

You may not use this software, in whole or in part, in support of any 
commercial product without the express consent of the author.

There is no warranty or other guarantee of fitness of this software for 
any purpose. It is provided solely "as is"."

The meaning of "in support of any commercial product" is not clear, so 
gpclib is non-free.

When CRAN had few packages, and packages had few dependencies, users could 
control the licenses of packages loaded into the R engine manually (if 
they cared - they should!). Now it needs automating, so that from 2.10.0, 
R ships with a database of known licenses (in share/licences), which are 
linked in CRAN too. The License: field is now parsed automatically, and 
will, as I mentioned before but repeat as a "heads up" to others reading 
this reply, be used to allow users installing packages to set thresholds 
such as "only free" before long.

Best wishes,


> Nicholas
> On Sun, 17 Jan 2010 17:44 +0100, "Edzer Pebesma"
> <edzer.pebesma at uni-muenster.de> wrote:
>> Nicholas,
>> this is unlikely; if true, the author would have done well to update his
>> software page http://www.cs.manchester.ac.uk/~toby/alan/software/ and
>> the corresponding wikipedia entry,
>> http://en.wikipedia.org/wiki/GPC_General_Polygon_Clipper_Library
>> Even (some) universities can these days be very picky with licensing
>> when someone at the administration level smells money revenues from
>> software developed by one of the employees; they might claim that
>> anything produced by the employees in work time is owned by the
>> university.
>> Best wishes,
>> --
>> Edzer
>> Nicholas Lewin-Koh wrote:
>>> Hi Roger,
>>> I thought I remembered that at some point you had contacted the author
>>> of gpclib and gotten permission to release the package under gpl. Has
>>> that changed or is senility completely catching up with me.
>>> Nicholas
>>>> Date: Fri, 15 Jan 2010 20:00:30 +0100 (CET)
>>>> From: Roger Bivand <Roger.Bivand at nhh.no>
>>>> To: rick reeves <reeves at nceas.ucsb.edu>
>>>> Cc: "r-sig-geo at stat.math.ethz.ch" <r-sig-geo at stat.math.ethz.ch>
>>>> Subject: Re: [R-sig-Geo] Alternate methods: Polygon Algebra / Polygon
>>>> 	Overlay with R Spatial objects..
>>>> Message-ID: <alpine.LRH.2.00.1001151932080.18465 at reclus.nhh.no>
>>>> Content-Type: TEXT/PLAIN; format=flowed; charset=US-ASCII
>>>> On Fri, 15 Jan 2010, rick reeves wrote:
>>>>> Hello List:
>>>>> I have been reviewing techniques within R for performing the GIS-like
>>>>> operation 'polygon algebra' (computing the union and intersection of
>>>>> polygons within two SpatialPolygonDataFrame objects). The goal is to
>>>>> combine two polygon data frames, to produce a new polygon data frames
>>>>> that contain the union or intersection of the two input sets.
>>>>> Thus far, the only method that I have found for this is the
>>>>> combinePolys() method within the PBSmapping package. The PBSmapping
>>>>> routines work well, but require the transformation out of the
>>>>> SpatialXXXDataFrame classes.
>>>> For union, aka dissolve, see unionSpatialPolygons() in maptools. Perhaps
>>>> better, don't look yet. The underlying problem is the license of the
>>>> gpclib package, which should be avoided. The reason for attention to
>>>> package licenses is that CRAN is getting very large, and taking
>>>> responsibility for distributing non-free software through package
>>>> dependencies needs to be automated. So GPL and other free packages should
>>>> not depend on or suggest non-free packages, because users (including
>>>> commercial users) may not be aware that they are using packages with
>>>> non-free licences. Some of these users already block the installation of
>>>> free packages with "upstream" non-free dependencies, and more will do so
>>>> in the future.
>>>> One solution is the R-Forge rgeos package, which I'm working on.
>>>> https://r-forge.r-project.org/projects/rgeos/
>>>> Before long, again thanks to Uwe Ligges and others, we should have a
>>>> working production line for Windows binary packages with GEOS 3.1.1
>>>> included. Linux distributions have binaries or can install from source;
>>>> OSX has a Kyngchaos framework to handle the external dependency on GEOS.
>>>> rgeos has unionSpatialPolygonsGEOS(), which, when rgeos reaches CRAN,
>>>> will
>>>> be used by maptools in unionSpatialPolygons() if rgeos is available.
>>>> GEOS has the necessary functions to do what you would like, but someone
>>>> has to write the R and C code and add it to rgeos. The current
>>>> SpatialLinesIntersections() function returns a SpatialPointsDataFrame
>>>> object with the IDs if the intersecting lines, but more is needed for
>>>> SpatialPolygons intersection. The handling of the data frame variables is
>>>> far from obvious too - just copying across count or rate variables isn't
>>>> appropriate. Most likely the handling of the data slots would have to be
>>>> done by hand for the new SpatialPolygons objects based on the
>>>> intersecting
>>>> ID values.
>>>> R-Forge has the possibility for new developers to join projects ...
>>>> Hope this helps,
>>>> Roger
>>>>> The overlay() method within sp seems like the best routine for this job as it
>>>>> performs intersection operations on pairs of Spatial objects, but it
>>>>> does not appear to operate on two SpatialPolygonDataFrame objects.
>>>>> So I have not tried to use it for this.
>>>>> Do other packages contain polygon algebra routines that operate on the
>>>>> Spatial classes?
>>>>> If not, are there any alternatives to the PBSmapping methods?
>>>>> Thanks,
>>>>> Rick R
>>>> --
>>>> Roger Bivand
>>>> Economic Geography Section, Department of Economics, Norwegian School of
>>>> Economics and Business Administration, Helleveien 30, N-5045 Bergen,
>>>> Norway. voice: +47 55 95 93 55; fax +47 55 95 95 43
>>>> e-mail: Roger.Bivand at nhh.no
>>>> ------------------------------
>>>> _______________________________________________
>>>> R-sig-Geo mailing list
>>>> R-sig-Geo at stat.math.ethz.ch
>>>> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>>>> End of R-sig-Geo Digest, Vol 77, Issue 13
>>>> *****************************************
>>> _______________________________________________
>>> R-sig-Geo mailing list
>>> R-sig-Geo at stat.math.ethz.ch
>>> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>> --
>> Edzer Pebesma
>> Institute for Geoinformatics (ifgi), University of Münster
>> Weseler Straße 253, 48151 Münster, Germany. Phone: +49 251
>> 8333081, Fax: +49 251 8339763  http://ifgi.uni-muenster.de
>> http://www.52north.org/geostatistics      e.pebesma at wwu.de

Roger Bivand
Economic Geography Section, Department of Economics, Norwegian School of
Economics and Business Administration, Helleveien 30, N-5045 Bergen,
Norway. voice: +47 55 95 93 55; fax +47 55 95 95 43
e-mail: Roger.Bivand at nhh.no

More information about the R-sig-Geo mailing list