[postgis-devel] Why PostGIS libraries should not be GPL

Sakari A. Maaranen sam at iki.fi
Thu Jan 28 07:08:08 PST 2010


Dear friends at PostGIS,


I am developing a conversion tool that brings data from OpenStreetMap
to a PostgreSQL database that is configured with PostGIS.

The tool is written in Java. I would like to release the tool free
under Apache License V2.0.

PostGIS comes with the JDBC extension library that is released (as
Java source code) inside the PostGIS distribution package. According
to the copyright notices, the JDBC extension library is released under
GPL.

The issue here is with the GPL licensing.  I am not looking to modify
the library.  I would just like to use it as is (i.e. link to it from
my conversion tool.)

My questions are:

1.  Can I link from my Apache License V2.0 licensed conversion tool to
PostGIS GPL licensed JDBC extension library?

2.  If I do link to PostGIS JDBC extension library, what are the
implications to my conversion tool and what licensing options would
that leave me with for my tool?

3.  Can I still release my conversion tool under Apache License V2.0?

4.  I suppose that my Apache License V2.0-licensed tool is allowed to
use the PostGIS database functions, for example for measuring
spheroidal geometry so that I call the function (ST_length_spheroid)
from my conversion tool.  I suppose this because the GeoAPI is
produced by OGC and not by PostGIS.  PostGIS is just an implementation
of the GeoAPI.  So PostGIS licensing does not apply to the API, which
is created by OGC, am I right?

5.  If you do agree to item 4 above, then I can still write my
conversion tool against the OGC GeoAPI and use their GeomFromText
function instead of PostGIS JDBC extension. So, I can still write the
converter, but I will have to discard the GPL 'tainted' PostGIS
library entirely, right? This would be unfortunate and I really cannot
see how it could serve anyone's interest.

Apparently similar issues have been discussed before, for example:
http://postgis.refractions.net/pipermail/postgis-devel/2004-December/000604.html

I think PostGIS should really consider releasing their programming
libraries under licenses that are better suited for libraries. Even
***the very GPL license text itself*** states that LGPL may be better
suited for libraries. Of course BSD, Apache License and other such
licenses also work. There must be a good reason why GPL itself is
recommending that. Why not take that advice?

By the way, the PostGIS JDBC extension itself is using more
permissively licensed software.

The PostGIS JDBC extension is linked to the PostgreSQL JDBC driver
library (its Java API) that is licensed under the BSD License. So you
see, a permissive license does not stop the open source community from
using that software; i.e. it's not lost to the "evil commercial
world". "They" will not ruin it by using it. You know, the "evil
commercial world"... that provides everyone with jobs and livelihoods,
for example...

If some commercial party is using PostgreSQL JDBC driver in their
closed source application, the open source community does not lose
anything by letting them use it.  Quite the opposite:  If this
commercial party finds some bugs or has feedback about the PostgreSQL
JDBC driver, they can use the driver and report the bugs and feedback
to the community. So, the open source community will BENEFIT from the
closed source party that is using open source as a part of their
proprietary, closed source product. The closed world now becomes
dependent on open source. They will appreciate and they will respect
what they depend on.

That is why permissive licensing is good--especially with programming
libraries. As open source developer, you would not lose anything, but
you would gain valuable input and enlarge your user base. More people
would depend on your work. People would grow more familiar with your
software because you let them.

With GPL the situation is different: The commercial party may not be
able to release all their work out to the wild. In so many cases it's
simply out of the question. Now GPL naively prohibits them from using
GPL licensed software in their products, at all. This forces the
commercial party to find an alternative solution. Now this alternative
solution just became a competitor of the open source piece.

By not letting the commercial world use the software, the open source
community just created themselves a competitor.  All the energy and
valuable input from the commercial party now goes to the benefit of
that competitor. Ouch! The commercial party will use their
considerable resources helping the competitor. This is where the GPL
shoots at its own leg.

The GPL restrictions are often directing commercially backed resources
AWAY from open source and TO closed source alternatives.  In other
words, in the real world, the GPL restrictions are endorsing CLOSED
SOURCE.  Exactly the opposite of what they were supposed to do.

Free software developers shouldn't be jealous. GPL is a recipe of
jealousy. Jealousy may be understandable in a competitive commercial
world, where the other competitors' success may be out of your market
share, out of your pocket. However, this should not be a problem for
free software developers, because free software developers are not
competing for money. Free software developers are doing great software
for the sake of its common public value. There is no reason whatsoever
to be jealous. We really don't need to think about the competition. We
don't need to participate or try to "win". What would we win? It's not
money. By not letting everyone use the great free software that we
make, we are only undermining its public value.

Free software does NOT need competitive advantage, because free
software is NOT about competition. There are no losers, only winners.
We are only pursuing to produce great software--without rivals.
There's only rivalry between ideas and principles, but no rivalry of
position for the glory of it on its own.  Every step forward is a win
for everyone.  GPL is designed to provide "competitive advantage" for
free software developers.  Now why would any free software developer
need such "competitive advantage"?  What competition if it's for
everyone?  And what is in there to win?

If you let everyone, also the commercial world use your API's,
programming libraries, (and if they're great) they might become the
next industry standard, because everyone is allowed to use them in
their products, open or proprietary.  It's unwise to exclude the
commercial world.  Otherwise they will most definitely produce a
standard of their own that will become your competitor.

I would like to live in a world with more open standards.  Permissive
licensing like BSD, Apache License, and the like are the key to that
kind of world.  They are the real answer.  Not GPL.

 -  An open standard can never force all its users make their work
public property.

 -  An open standard must allow both open and closed use. Otherwise
it's only half-open.

****

So, IMHO, PostGIS would get more contributions to the JDBC extension
(and other libraries), if the PostGIS project released the libraries
under a more permissive license that is suitable for programming
libraries.  It means that the open source community would benefit more
and PostGIS libraries would get a larger user community.  That should
definitely be in the project's own best interest.

Trying to isolate the Open Source community from the rest of the world
is probably not the best way to endorse free software.  GPL is not
truly open or free in nature, but a bitter man's recipe for an
aggressive kind of pseudo-freedom where everyone who touches it would
be required to surrender all their rights.  That is not real freedom.

In the real world, there are things that are open and things that are
closed.  GPL is too naive to accept the latter.  Freedom means that
you have a choice.  Real projects like Apache or PostgreSQL are not
naive.  They are truly open and truly free.  And they are not using
GPL for a reason.

Please understand that:

 -  It's NOT a threat to open source, if people develope and use
proprietary software.  People who do this, would do it anyway for
various reasons. You cannot realistically expect everyone giving up
all their secrets.  You cannot and you shouldn't try to force people
give.  It's their choice.  Don't worry, people WILL give, even if you
don't try to force them.

 -  By involving also the closed source developers with the open
source offering there is a wealth of chance something useful coming
back from the closed world to the open community. By excluding them,
there is zero chance.


Unless PostGIS changes their libraries away from GPL,

 -  I will be unable to build on them, because I prefer truly free,
truly open standards.

 -  I will be unable to help make PostGIS software more productive for
users (or my work is hindered.)

 -  It's not just I. Others have had similar problems before, as we
can see in earlier discussions on the same topic.

 -  PostGIS is wasting all this energy of the open source community
that also I am a part of.

Simply changing the license would fix this issue.  As simple as that.
It would not cost anyone a penny, but it would considerably benefit
PostGIS for the reasons stated above.  Think about it!  Feel free to
discuss, critique?


With best regards,


Sakari A. Maaranen



More information about the postgis-devel mailing list