The "org.apache.sis.non-free" group contains artifacts that can not be
redistributed under Apache 2 license.  For this reason those artifacts
are available in a separated Subversion directory:

    http://svn.apache.org/repos/asf/sis/data/non-free

Artifacts in this group are:

  * sis-epsg: a copy of EPSG geodetic parameters published by the
    International Association of Oil and Gas Producers (IOGP).

Those artifacts can be used for free, but under conditions defined in their
terms of use. Applications that want to use those artifacts need to add the
Maven dependency themselves.
