On 11-01-31 11:30 AM, Tamas Szekeres wrote:
Frank,

I've reviewed the document and it looks good to me, though it seems better to
enforce these constraints rather at deployment time and not at run-time.
However I would have some further questions:

1. With regards to GDAL_APPLICATION_LICENSE_POLICY=DEFAULT does this mean that
GDAL will provide an error if a licensing violation is happening at run-time?
For example when MapServer attempts to display an ECW and a MySQL layer at the
same time?

Tamas,

Note that the intent of the RFC is that in a case of incompatible
drivers and the default policy one or more drivers would be de-registered
to bring things into compliance.  So, for instance the MySQL driver might
be de-registered and that means any effort to use MySQL would result in
an error message about it being an unsupported format since no driver
would recognise it.

It would *not* be a license error.

> If this is not the case, I would prefer changing 'DEFAULT' to
'NONRECIPROCAL' and it would prevent from loading the GPL drivers during the
default operation. Having GDAL_APPLICATION_LICENSE_POLICY=NONRECIPROCAL would
provide better match with the licensing policy of GDAL itself which intends to
be MIT/X.

I can see that "NONRECIPROCAL" might be a better term than "DEFAULT"
but I don't want to avoid loading reciprocal (ie. GPL) drivers in a
default situation.

2. In my opinion the user shouldn't override any specific settings (like
RECIPROCAL or PROPRIETARY) being enforced by the application. In this regard
the user is allowed to violate the GPL like loading proprietary drivers in
QGIS. I don't think if USE_ALL should be a valid environment setting either.
This should only be allowed by a compilation flag which is not intended to be
used for distribution purposes.

I disagree strongly!  The end user always has the legal and moral
right to mix proprietary and free software.  The purpose of the
override operation is for them to knowingly make the decision that
they want to do this.

3. I think the user should only be allowed to override
GDAL_APPLICATION_LICENSE_POLICY=DEFAULT either by the environment settings or
in the SWIG interface.

4. I don't really understand the rationale behind the PREFER_PROPRIETARY and
PREFER_RECIPROCAL settings. Shouldn't we raise an error if a licence violation
is detected? I think we might have to decide which kind of the licensing
enforcement should be applied in GDAL, like:

Version 1, The actual licensing mode is predefined within the scope of the
execution (either by the applevel or environment setting) and GDAL should avoid
to load any incompatible drivers.

This was my intent, though because of the way we get metadata from drivers
to examine their license constraints it is necessary for us to load them
and then deregister them if they are in violation.

Version 2, The actual licensing mode may be controlled by the drivers loaded
and provide an error if an incompatible driver is about to be used.


Best regards,
--
---------------------------------------+--------------------------------------
I set the clouds in motion - turn up   | Frank Warmerdam, warmer...@pobox.com
light and sound - activate the windows | http://pobox.com/~warmerdam
and watch the world go round - Rush    | Geospatial Programmer for Rent

_______________________________________________
gdal-dev mailing list
gdal-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev

Reply via email to