[Board] Fwd: On "org.opengis" name usage by OSGeo GeoTools project

Angelos Tzotsos gcpp.kalxas at gmail.com
Tue Oct 17 01:19:50 PDT 2023


Given the latest release of GeoTools 
(http://geotoolsnews.blogspot.com/2023/10/geotools-300-released.html), I 
think we should consider the issue resolved.

Big thank you to the GeoTools team for their efforts!

Best,
Angelos

On 1/7/23 12:48, Angelos Tzotsos wrote:
> 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