Hello Florian

Le 22/11/2022 à 18:44, Florian Micklich a écrit :

I didn't know that proj4j itself uses EPSG data.

The CSV files in [1] are derived from EPSG tables. The file structures are different than EPSG database schema, but the data that they contain are EPSG data. The same information is also provided in WKT format in [2] (this file somewhat duplicates the CSV tables). Some peoples on PROJ mailing list have argued that rewriting EPSG data in a different format free them from EPSG licensing terms, but this is not true. Translating a software in a different language is a derivative work and is still subject to the licensing terms of the copyright owner. In the same way that translating a book does not suppress the rights of the original author on the translated book. In the case of EPSG data, IOGP allows us to reformat the data in a different way, but under some conditions specified in their Terms of Use. And doing so does not give us the right to erase the EPSG terms of use from the derivative work.

The value of EPSG geodetic dataset is not in the database schema (converting that to a different data structure is the easy part), but in the data themselves. Creating a new "EPSG-like" dataset from scratch would be a huge effort, well beyond our capability. We would have to visit all national mapping agencies in the world, ask them to provide documentation about the Coordinate Reference System they have defined (including historical ones), consolidate all those information in some tables, etc. So the CSV files [1] in PROJ4 contain an enormous amount of EPSG work, even if the data structures are different.

[1]https://github.com/locationtech/proj4j/tree/master/src/main/resources/proj4
[2]https://raw.githubusercontent.com/locationtech/proj4j/master/src/main/resources/proj4/wkt/epsg.properties


Until now I thought it would be a good alternative lib besides EPSG approach.

When creating a Coordinate Reference System (CRS) from an EPSG code such as "EPSG:4326", we are using the EPSG geodetic dataset. I think that if a software contains e.g. 10 EPSG codes (compared to the ~6000 definitions in the full dataset), it could be considered Fair Use. But including the full dataset requires that we comply with EPSG Terms Of Use.

However if CRS are created from user-supplied WKT strings (or PROJ4 parameter strings), then no EPSG code is involved. The WKT definition string may contain an AUTHORITY["EPSG", 4326] element, but it only means "see EPSG:4326 for more complete information".


So what would be your advise with proj4(j) and how to handle that kind of implementation in an Apache project?

EPSG geodetic dataset is not needed when the CRS is built from WKT, GML or some file formats like NetCDF and some (not all) GeoTIFF files. So the approach taken in Apache SIS applications (JavaFX and console application) is to start without EPSG data. Then the first time that an EPSG code is really needed, the application popups a dialog box (in JavaFX) or an interactive prompt (in console application) asking users if they want to download the EPSG geodetic dataset. If users click "yes", the EPSG Terms of Use is shown and the application asks users if they accept. If they confirm, then the EPSG geodetic dataset is downloaded and a database is created locally.

Note that above procedure is needed only for software downloaded directly from Apache servers. Anyone can bundle an application outside Apache which contains the Apache software + EPSG data. The only condition for being allowed to do that is to include the EPSG Terms of Use (in addition of Apache license) in the application bundle.


Officially it is running on MIT license.

Yes, this issue has been raised on their mailing list. PROJ maintainers have choose to ignore. Some of them pretended that EPSG Terms of Use do not apply to them anymore because they converted the PostgreSQL scripts to SQLite scripts. I'm not a lawyer, but I think that this argument has zero chance to hold in court. For now they rely on the fact that IOGP (the owner of EPSG database) does not want to upset the geodetic community.

    Martin

Reply via email to