These clarifications are really interesting. I wasn’t aware of this issue and 
assumed that the license of proj4j (MIT) was compatible with Apache. The terms 
of the EPSG license are restrictive [1]: The data may not be distributed for 
profit by any third party. I’m quite amazed to discover that most geospatial 
solutions out there are probably violating this license.

[1] https://svn.osgeo.org/geotools/trunk/licenses/EPSG.html

>> 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".

Concretely, does this mean that we could include a couple of EPSGs (not the 
full database) without concern? In Baremaps, we mainly require EPSG:4326 and 
EPSG:3857. It not yet clear to me if we can import proj4j and exclude parts of 
the EPSG database.

> 
>> 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.

In the context of a cli, I would prefer to find a solution where the user is 
not prompted to accept the terms of the EPSG license. For instance, could we 
have a command (e.g. ./baremaps non-free) that downloads these jars in the lib 
folder?

>> 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.

I think the Eclipse Foundation did an exception for the locationtech group. 
According to their FAQ [2] they asked the permission to redistribute some 
pervasive dependencies in geospatial projects: “We can re-distribute the 
binaries for certain components. We do have explicit permission to 
re-distribute Geotools, JTS, and GEOS.”.

[2] 
https://wiki.eclipse.org/LocationTech/FAQ#Q:_I.27d_like_to_host_my_project_here.2C_using_another_license_not_mentioned






Attachment: signature.asc
Description: Message signed with OpenPGP

Reply via email to