[postgis-devel] [geos-devel] GEOS C++ API deprecated?

Mateusz Loskot mateusz at loskot.net
Wed Oct 4 00:14:13 PDT 2017

On 4 October 2017 at 02:15, Greg Troxel <gdt at lexort.com> wrote:
> Sebastiaan Couwenberg <sebastic at xs4all.nl> writes:
>> On 10/01/2017 10:05 PM, Mateusz Loskot wrote:
>>> On 1 October 2017 at 21:47, Sebastiaan Couwenberg <sebastic at xs4all.nl> wrote:
>>>> On 10/01/2017 09:33 PM, Mateusz Loskot wrote:
>>> Just stop accepting such GEOS-based software for packaging
>>> and keep nagging authors of such projects to switch to GEOS C API,
>>> but do not delegate your problem to GEOS.
> Mateusz,
> I really do not understand your view.


I'm no longer part of any GEOS decisions. I no longer care.

However, I'm going to answer, briefely, for sake of decent communication

> One one hand you seem very
> against labeling the C++ API deprecated.  But on the other hand you say
> that packagers should consider any package that uses the C++ API
> sufficiently broken or wrong that it should be rejected from the
> packaging system.

I don't call GEOS C++ API clients broken.
I stated that if such sitaution causes problems for distro packages,
that should be distro maintainers policy to reject such troublemakers.

>> The projects in question have been nagged, but that doesn't solve the
>> issue. It did cause the libosmium & osm2pgsql authors to drop support
>> for GEOS. It did not convince the OSSIM developers to switch to the C API.
> [...]
>    Is it a bug in osm2pgsql that a new version did not appear within 3
>    months, such that the new osm2pgsql works with the new version of
>    geos (perhaps by not calling it at all)?
> and hence to poke geos to declare its norms.

As I explained on IRC last night, IMHO, dropping GEOS by
osm2pgsql and switch to libosmium turned to be good.
The GEOS API breakage just catalised the switch, which
IMO was inevitable anyway.

>>> It is not GEOS problem that someone uses GEOS C++ API.
>>> GEOS is C/C++ library.
> It is a problem to have APIs that are not stable, regardless of
> language.  Others, once they realize this, will try not to use APIs at
> all :-)

Greg, I do understand it. I still keep my position (no longer relevant
for the GEOS decision outcome)
Let me summarise my point,

I develop a software. I use lib X. I use whichever lib X's API I prefer.
Someone spots my software and packages.
After a few released versions, lib X breaks API.
The old version works for me, so I stick to it.
Now, I'm the troublemaker.
Maintainer of the package is trying to force my project to switch.
She/He fails to convince me and turns the spears towards the lib X.
Now, the lib X is the bad guy.

Now, that is a very unacceptable practice for me, no matter how high and
good are intentions of the maintainer.

That, combined with some smaller incidents or commentary
directed to such disobedient open source project(s)
may raise the blood pressure quite a lot.

However, in GEOS, I acknowledge there is significant difference of opinions here
and, without any window dressing, I've now respected that.

Greg and Bas, any disprespect that I might have generated against you
was unintentional, please accept my apologies.

Best regards,
Mateusz Loskot, http://mateusz.loskot.net

More information about the postgis-devel mailing list