[Board] Fwd: On "org.opengis" name usage by OSGeo GeoTools project
Angelos Tzotsos
gcpp.kalxas at gmail.com
Sat Jan 7 02:48:50 PST 2023
Related ticket:
https://git.osgeo.org/gitea/osgeo/todo/issues/142
On 1/3/23 11:31, Angelos Tzotsos wrote:
> Hi all,
>
> I am adding this topic to the next board meeting.
>
> Best,
> Angelos
>
>
> -------- Forwarded Message --------
> Subject: On "org.opengis" name usage by OSGeo GeoTools project
> Date: Fri, 25 Nov 2022 19:29:35 +0100
> From: Martin Desruisseaux <martin.desruisseaux at geomatys.com>
> Organization: Geomatys
> To: Angelos Tzotsos <tzotsos at osgeo.org>, Gobe Hobona
> <ghobona at ogc.org>, Scott Simmons <ssimmons at ogc.org>
>
>
>
> Hello Angelos and all
>
> We have a problem that exists for 10 years, but is hurting us
> increasingly. The OSGeo GeoTools project uses the "org.opengis"
> namespace in a way incompatible with OGC GeoAPI standard. It causes
> conflicts with all projects that use OGC GeoAPI, such as Apache SIS,
> OSGeo PROJ-JNI and IOGP GIGS tests. Because of that, projects such as
> Apache Calcite avoids to use GeoAPI and Apache SIS [1]. They fallback
> on an alternative (OSGeo PROJ4J) which has the problems that harmed
> the geospatial community before PROJ 6 (longitude-latitude axis order,
> early-binding model [2], etc.). PROJ 6 fixed those problems by taking
> inspiration from OGC GeoAPI and Apache SIS [3], which themselves
> follow OGC Topic 2 / ISO 19111 models. PROJ implementation follows the
> good practices that avoid name collisions.
>
> To explain how we got "org.opengis" name collision problem with
> GeoTools, I need to do a little bit of history. "opengis.org" was the
> OGC domain name before OGC renamed itself as "Open Geospatial
> Consortium". Despite the renaming, OGC continues to own the
> "opengis.org" domain name today. The Java interfaces in "org.opengis"
> namespace were initially created as part of OGC 01-009 /Coordinate
> Transformation Services/ in 2001, when OGC was still named OpenGIS. It
> was before the creation of GeoAPI project. The GeoAPI project has been
> launched in 2002 and quickly became a joint project between OGC and
> the opensource community. GeoTools was one participant among others.
> Other contributors were Polexis (now SYS Technologies), Deegree (now
> lat/lon GmbH), Cadcorp and Geomatys. GeoAPI continued the development
> of interfaces in "org.opengis" namespace, expanding on OGC 01-009
> work. This work was done as an OGC working group named "GO-1" leads by
> Polexis [4], not as a GeoTools project. I participated to GO-1.
>
> In the early years, I was also a contributor of the GeoTools project.
> Until my departure in 2009, I was the most active GeoTools contributor
> in terms of line of code [5]. I wrote more than 40% of GeoTools code
> base of that time, including the quasi-totality of metadata and
> referencing modules, and base classes of coverage module. Relationship
> with users was good. Relationship with other developers was good with
> some, more difficult with others, with probably valid reasons to be
> frustrated on both sides. The mailing list archive [6] shows that the
> tone was mostly correct. In our last year at GeoTools, we (Geomatys)
> did a big cleanup effort in the modules that we wrote, which took us a
> full year. It was a response to users and developers request for
> "GeoTools 3", and we code-named the project as "geotidy". We kept
> GeoTools informed about this effort with reports on the mailing list
> [7] and public source code repository. When the result was ready for
> merge in GeoTools, it was criticized by some core developers as a work
> that we did without involving the community. We did not wanted to lost
> one year of cleanup effort, so we decided to leave, and the work
> originally developed as a "GeoTools 3" proposal (geotidy) became a
> fork. It was not the original intent.
>
> The fork has badly damaged our relationship. We can be blamed for at
> least two things: having waited a few months before to announce our
> departure, and to have choose a forked project name (Geotoolkit) too
> similar to GeoTools. We tries to fix the latter by repositioning
> Geotoolkit as a project aimed to disappear in favor of Apache SIS. The
> latter is an independent project initially created by NASA/JPL
> contributors. When we wanted to join them, we asked permission to
> re-license our own work contributed to GeoTools [8], excluding all
> other contributions [9]. Our demand has meet resistance from some
> members of GeoTools Project Management Committee (PMC) [10]. We had to
> appeal to OSGeo board for more impartial arbiter. The sentiment of
> some core GeoTools developers is still hostile today [11] (I tried to
> respond as constructively as I could).
>
> Because OGC GeoAPI is perceived by GeoTools core developers as a
> project under my influence, they forked GeoAPI in 2009. Forking
> happens in open-source world, but the good practice in those
> circumstances is to change the package name for avoiding collision
> with the original project. When Geomatys created Geotoolkit, we
> renamed all "org.geotools" packages to "org.geotoolkit". But the
> GeoTools PMC choose to fork OGC GeoAPI while keeping the "org.opengis"
> namespace as if it was their own. Users complained about this conflict
> [12], but GeoTools developers replied with some disputable claims
> (that GeoAPI is an original outreach project of GeoTools). The
> GeoTools FAQ page [13] referred in the thread is apparently derived
> from Apache SIS developer guide [14], but omitting some important facts.
>
> The "org.opengis" namespace conflict is clearly blocking Apache SIS
> and OGC GeoAPI adoption, as said in comments of [1]. One of us (either
> OGC GeoAPI or GeoTools) must rename their "org.opengis" packages. I
> think that it should be GeoTools to make the change because:
>
> * OGC owns the "opengis.org" domain name.
> * All files in "org.opengis" packages have OGC header, with OGC as the
> sole copyright holder.
> * "org.opengis" package name usage originated in OGC 01-009, not in
> GeoTools "outreach project".
> * "org.opengis" package name is also used in other OGC projects such
> as CITE tests.
> * GeoTools fork of GeoAPI is an hostile fork done in reaction to my
> departure of GeoTools.
> * It is possible for GeoTools to migrate to GeoAPI 3.0.1 with limited
> impact on their code base. I would be happy to provide suggestions
> about how it can be done.
> * GeoTools PMC reluctance to use OGC GeoAPI looks like an attempt to
> block concurrent projects by creating intentional compatibility
> problems such as [1].
>
> If I try to reach the GeoTools PMC myself about this issue, it will be
> received with hostility (c.f. [11]) or ignored on the argument that I
> must pay them for doing this work (I already tried to ask them in the
> past). I believe that for the issue to be addressed seriously, we need
> to have GeoTools PMC to act upon OSGeo board request, maybe itself on
> OGC request if OGC accepts to friendly ask OSGeo to resolve this
> issue. GeoTools can either rename all their "org.opengis" packages, or
> upgrade to GeoAPI 3.0.1, at their choice. If they choose the latter
> option, as said above I would be happy to help with suggestions.
>
> Regarding the future of OGC GeoAPI, since the GeoAPI 3.0 release, we
> have never published a major update, only bug fixes with no change in
> API. Extensive developments have been done on the OGC GitHub
> repository [15] (ISO 19103 and 19115 upgrades, ISO 19109, OGC
> filters) but not released. One reason is that I would like to see a
> new chair or co-chair for "political" reason. I would be happy to have
> a GeoTools contributor as co-chair, if they agree with GeoAPI charter.
> The key charter point is to restrict GeoAPI scope to OGC/ISO standards
> defined by other OGC groups, and not invent new API except for
> integration with host platform. The former GO-1 project was too
> ambitious (created too much new API).
>
> What could be the action for resolving the "org.opengis" package name
> conflict? For example, should we organize a conference call with
> members from OGC, OSGeo board and GeoTools PMC? If considered
> appropriate, OSGeo can forward this email to GeoTools PMC for setting
> the context. This conflict is a major impediment to GeoAPI and Apache
> SIS adoption and needs to be resolved.
>
> Best regards,
>
> Martin
>
> [1]https://issues.apache.org/jira/browse/CALCITE-5399?focusedCommentId=17637991#comment-17637991
>
> [2]https://www.geomatys.com/2017/09/20/proj-4-versus-apache-sis-an-accuracy-comparison-2/
>
> [3]https://gdalbarn.com/
> [4]https://www.ogc.org/standards/go
> [5]https://github.com/desruisseaux/GeoTools-archive/graphs/contributors
> [6]https://sourceforge.net/p/geotools/mailman/geotools-devel/
> [7]https://sourceforge.net/p/geotools/mailman/search/?q=geotidy
> [8]https://sourceforge.net/p/geotools/mailman/message/29572383/
> [9]https://svn.apache.org/repos/asf/sis/ip-review/
> [10]https://sourceforge.net/p/geotools/mailman/geotools-administration/?viewmonth=201207
>
> [11]https://github.com/geotools/geotools/pull/3232#issuecomment-816837563
> [12]https://sourceforge.net/p/geotools/mailman/message/33467346/
> [13]https://docs.geotools.org/latest/userguide/library/opengis/faq.html
> [14]https://sis.apache.org/book/en/developer-guide.html#GeoAPI-history
> [15]https://github.com/opengeospatial/geoapi/
>
--
Angelos Tzotsos, PhD
President
Open Source Geospatial Foundation
http://users.ntua.gr/tzotsos
More information about the Board
mailing list