Hello Suryaa

Le 21/01/2026 à 20:52, Suryaa Charan Shivakumar a écrit :

Thank you for the detailed response. I am not sure if it's fully okay (in terms of license compatibility) to bundle "sis-epsg" dependency with apache project by default.

You are right, the EPSG terms of use does not allow "sis-epsg" to be bundled by default in an Apache project. It must be an optional dependency that users add themselves, which is why those artifacts are in "non-free" groupId. The same is true for "sis-embedded-data" or any other project that distribute EPSG data.


Our previous architecture involved the use of our API which offloaded the license agreement terms to asterixDB user who would agree and the API would download the sql scripts and setup derby as an embedded database. Let me check this with other contributors and get back to you.

SIS provides a mechanism for exactly that, I do not know if this is what contributors are already using. This is done by *not* bundling "sis-epsg", and instead create a subclass of the following:

   
https://sis.apache.org/apidocs/org.apache.sis.util/org/apache/sis/setup/OptionalInstallations.html

Example:

   public class ResourcesDownloader extends OptionalInstallations {
        public ResourcesDownloader() {
            super("text/plain");
        }

        // Note: this method will be invoked twice: the first time for asking 
user if she/he wants
        // to download EPSG data, and a second time for asking if she/he agrees 
with EPSG terms of use.
        @Override
        protected boolean askUserAgreement(String authority, String license) {
            // Ask here if the user agrees, and return "true" if yes.
        }
   }

The above class needs to be declared in META-INF/services/org.apache.sis.setup.InstallationResources (or in module-info.java if AsterixDB uses Java modules), and the SIS_DATA environment variable (not to be confused with Java property) must be set to the directory where the downloaded data will be installed. With this approach, Apache SIS will automatically asks for user agreement and download EPSG data when first needed. If the user refuses, SIS will still work but with a small set of hard-coded EPSG codes listed there (assumed to fall in the "fair use" legal exception):

   
https://sis.apache.org/apidocs/org.apache.sis.referencing/org/apache/sis/referencing/CRS.html#forCode(java.lang.String)


In terms of the OGC/OSGeo/ASF code sprint, yes I will send you an email with a couple of slides mentioning the geospatial features of asterixDB and maybe include some details about what we are trying to do to make it better, like using SIS for CRS :)

Thanks, I received the slides and will present them tomorrow :-)


Unfortunately, I will not be able to attend the pre-event webinar as I am travelling and it is a short notice for the team as well. Is it possible that we can present or take a few minutes in the main event instead (I will be able to attend it online)? Asking because I feel bad just sharing slides and troubling you.

I think so, I will put you in touch with the organizer. Thanks!

    Martin

Reply via email to