Opened 6 years ago

Closed 6 years ago

Last modified 4 years ago

#2515 closed task (fixed)

clarify licensing of PostGIS core as GPL2+

Reported by: strk Owned by: pramsey
Priority: medium Milestone: PostGIS 2.0.5
Component: postgis Version: 2.0.x
Keywords: Cc:

Description

The current core of PostGIS is licensed as GPL2 _only_. In turn this makes it illegal to distribute a PostGIS version built with SFCGAL support in, as SFCGAL links against LGPL3+ licensed CGAL library. See https://github.com/Oslandia/SFCGAL/issues/34

Change History (16)

comment:1 Changed 6 years ago by strk

See also #2514

comment:2 Changed 6 years ago by robe

If we have to change license of PostGIS itself, I'd much rather a more permissive license like LGPLv2+ license (or even MIT) that doesn't give me such a massive headache.

strk I know you've been burned before, but I'm personally more concerned about user adoption than someone stealing the code and closed-forking it and not giving back. The capital that is difficult to steal anyway is our knowledge of the inner workings of the code and goodwill with the community around PostGIS.

comment:3 Changed 6 years ago by colivier

Thanks Sandro to put this issue on light !

Changing to GPL2+ is anyway a good idea to allow, in future time, ability to link with others libs using (L)GPL v3 (or more). (so it's not only a CGAL issue)

Once that said, i really like the Regina idea to switch to LGPL or MIT. (at least for liblwgeom)

Question:

  • Who is concerned to decide a licence change ?

Meaning all people listed as contributors ? (cf http://postgis.net/docs/manual-dev/postgis_introduction.html)

comment:4 Changed 6 years ago by VincentP

Note that some former versions of CGAL where licenced under a LGPL 2 licence, which is compatible (see [1]). They switch to LGPL3+ as a second step, I do not know the reason.

If we want to solve that problem on the CGAL side we can :

1/ base SFCGAL on one former CGAL version licenced as LGPL 2

2/ Try to convince CGAL folks to go LGPL2+

As for 1, it's not a good idea, as it would result as a fork, which is not something we can really cope up with in the long term.

As for 2, no idea of the general opinion of CGAL people on that. It may be worth asking, if they changed the licence in the past they can probably do that again easily. Then it's a matter of willing to do it.

Globally, it would be a good idea to have PostGIS under a more permissive licence now that it's a well-established project, that would ease this kind of inter-opensource software compatibility.

[1] : https://web.archive.org/web/20120103081831/http://www.cgal.org/license.html

comment:5 Changed 6 years ago by robe

Is this a problem for pgRouting as well? They are licensed under GPLv2 and use CGAL 3.9+. I guess for users of pgRouting using CGAL 3.9 it's probably not an issue, but higher a problem?

comment:6 Changed 6 years ago by strk

In pgrouting the only .cpp / .h file I can find GPL reference in says "GPL 2 or later": ./src/driving_distance/src/alpha_drivedist.cpp (not lesser). Other files seem to be MIT-like licensed. I don't know why the README says otherwise.

comment:7 Changed 6 years ago by strk

I've run a grep for copyright holders in the whole code base. Here it is:

Individuals:

Andrea Peri <aperi2007@…> Paul Ramsey <pramsey@…> Regina Obe <lr@…> Sandro Santilli <strk@…> Mark Cave-Ayland <mark.cave-ayland@…> Olivier Courtin <olivier.courtin@…> Nicklas Avén <nicklas.aven@…> J Smith <dark.panda@…> David Skea <David.Skea@…> Kashif Rasul <kashif.rasul@…>

Companies:

Arrival 3D Corporacion Autonoma Regional de Santander OpenGeo.org Oslandia <infos@…> Refractions Research Inc.

Irrelevant:

Thamer Alharbash -- only holds (C) on MIT-like licensed file OSGeo -- only holds (C) in libpgcommon/common.h, which is 3 include lines

I shall notice that NONE of the copyright headers explicitly specify a version for the license, but rather point to a COPYING file:

 * This is free software; you can redistribute and/or modify it under
 * the terms of the GNU General Public Licence. See the COPYING file.

According to the GPLv2, which is what we find in the COPYING file, the absence of an explicit version means that the work can be distributed with _any_ version of the GPL licenses. Here's the pointer: https://github.com/postgis/postgis/blob/svn-trunk/COPYING#L246

So I believe we don't really need to change license, but also there should be no problem in releasing a composite work as GPLv3 (ie: there's no "version 2 only" specification anywhere).

We would need to get permission to make GPLv3 the _minimum_ version allowed. But I guess it'll become automatic as time goes by (for SFCGAL dependency or raster or whatever).

See also #2514

comment:8 Changed 6 years ago by rouault

Well, the situation isn't as simple as that. See https://github.com/postgis/postgis/blob/svn-trunk/LICENSE.TXT#L11 .

comment:9 Changed 6 years ago by strk

That LICENSE.TXT file entered the codebase with r7052, in 2011. Way later than most of the copyrighted code. Also, no source file header refers to LICENSE.TXT, but all refers to COPYING.

comment:10 Changed 6 years ago by robe

Yah the License.txt was something I put in to catalog the mix of licenses so someone wouldn't have to check every single file. Anyway I don't realy want to make this GPLv3+ because then it causes an issue with people using currently GPLv2 no?

comment:11 Changed 6 years ago by strk

The ticket asks for GPLv2+, I think simply updating LICENSE.TXT should be enough to remove the ambiguity, for now.

For the future, tweaking source file headers to explicitly refer to "v2 or later" would reduce the confusion generated by referencing external files (and drop support for GPLv1, which is already effectively invalid if you distribute raster in conjunction with core).

comment:12 Changed 6 years ago by robe

Milestone: PostGIS 2.0.5

I'd still rather we change raster to be GPLv2+ or greater and we all agreed to already.

Keeping it GPLV3 effectively forces all of PostGIS to be GPLV3 since now most package maintainers distribute raster with rest of PostGIS core now.

comment:13 Changed 6 years ago by strk

this ticket is not an alternative to raster license change, is in addition. Please don't mix the two issues.

comment:14 Changed 6 years ago by robe

Summary: change licensing to GPL2+clarify licensing of PostGIS core as GPL2+

There we go that clarifies things :)

comment:15 Changed 6 years ago by strk

Resolution: fixed
Status: newclosed

r12064 in trunk (2.2.0), r12065 in 2.1 branch (2.1.1), r12066 in 2.0 branch (2.0.5)

comment:16 Changed 4 years ago by strk

(In [14484]) Update copyright header to add explicit license version

See #2515

Also add header and copyright notice where missing. (missing copyright info extracted from git history)

This commit only touches files under liblwgeom/ and postgis/ dirs.

Note: See TracTickets for help on using tickets.