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