[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