[gdal-dev] New JPEG 2000 Driver
Andrew C Aitchison
andrew at aitchison.me.uk
Mon Mar 1 10:37:54 PST 2021
On Mon, 1 Mar 2021, Greg Troxel wrote:
> I also was unclear on the optional driver situation. Certainly if
> drivers can link with proprietary libraries, there is absolutely no
> reason to object to a driver because it links so an AGPL3 library.
>
> I believe that drivers with non-MIT licenses shouldn't be built by
> default even if the prerequisite libraries are available in the build
> environment. Partly this bias is from pkgsrc, as packaging systems
> typically try to control the build to get a repeatable outcome, and
> partly because having a proprietary library installed is different from
> a decision to make gdal use it and thus end up with possible
> distribrution problems.
>
> I found
> https://gdal.org/download.html#development-source
> https://gdal.org/drivers/vector/index.html#vector-drivers
> https://gdal.org/drivers/raster/index.html#raster-drivers
>
> but didn't from that understand if one needs to pass --enable, or if the
> library being found is enough.
>
> Consulting configure.ac, it seems some drivers are built if the library
> is found, and others are only built if the driver is requested and also
> the library is found.
I take it you are aware of
doc/source/development/rfc/rfc34_license_policy.rst
https://gdal.org/development/rfc/rfc34_license_policy.html
User License Policy
-------------------
The restrictions on mixing proprietary and reciprocally licensed
software generally applies at the point of distribution. In particular,
it is not intended to prevent the end user from assembling a variety of
components for their own use as they see fit, for their own use. To that
end it is important to provide a mechanism for the end user to
deliberately override the restrictions on mixing reciprocally licensed,
and proprietary components. This is accomplished via the
GDAL_LICENSE_POLICY configuration variable which might typically be set
via the environment or via the --config commandline switch to most GDAL
applications. It may have the following values:
- "USE_ALL": do not discard any drivers based on licensing
restrictions.
- "PREFER_PROPRIETARY": If there is a conflict between proprietary and
reciprocally licensed drivers, use the proprietary ones.
- "PREFER_RECIPROCAL": If there is a conflict between proprietary and
reciprocally licensed drivers, use the reciprocally licensed ones.
In addition to setting this via config variables, there will also be a
configure / nmake.opt declaration to alter the default
GDAL_LICENSE_POLICY. Thus a local build could be configured to USE_ALL
at build time instead of having to set environment variables or
commandline switches. This would not be suitable for software that will
be redistributed.
> For pkgsrc this is not a big issue as our build process hides libraries
> that have not been declared as an explicit dependency. But I wonder if
> it would be best to document that libraries that are other than MIT
> (really, not MIT-ish) will not be searched for and used without an
> explicit --enable-foo, and adjust.
--
Andrew C. Aitchison Kendal, UK
andrew at aitchison.me.uk
More information about the gdal-dev
mailing list