Hi Justin,

Thank you for the thorough review! I have created AIRFLOW-2779 to track most of 
the issues you have raised. 

On the GPL dependency you mentioned. We are not distributing GPL sources, not 
in source or in binary form. This has never been the case. In the third degree 
there potentially was a GPL issue during runtime. The author of the package in 
question (unidecode) when asked mentioned several times that he considered the 
usage equal to an API (ie. like the Linux kernel exposing a set of generic 
calls) and the API could be implemented by an alternative. This was discussed 
in LEGAL-362, which you took part in.

We managed to convince the upstream package maintainers (python-slugify and 
python-nvd3) to allow a patch that allowed switching to a different API 
implementation by setting a environment variable while installing their 
packages and to release new versions. However it is not the default for them. 
This means at least that the situation we are now in is an improvement over the 
previous releases (1.8.0 -> 1.8.1 -> 1.8.2 -> 1.9.0) as there was no way switch 
and avoid the package before.

As to our solution (for now). Python packages are often installed site-wide and 
can be part of the dependencies of other packages. While we maybe could enforce 
the installation of the non-GPL API it would/could 1) interfere with other 
packages on the same system that do not set this environment variable 
explicitly. 2) If any the other packages upgrades without setting this variable 
it would pull in the GPL API. So we decided that it would be better to educate 
the user and make it part of the install instructions.

We can reconsider, but we cannot solve #1 and #2. Which, in my opinion, would 
make it more opaque to the users. 

Given the current situation is at least improvement over the old situation can 
you reconsider your -1 for this release and preferably agree with our approach 
(or maybe have an improvement over it)?   

Cheers
Bolke



> On 21 Jul 2018, at 03:03, Justin Mclean <jus...@classsoftware.com> wrote:
> 
> Hi,
> 
> -1 (binding) because of GPL dependancy
> 
> I checked the source release:
> - incubating in name
> - signatures and hash good but please remove md5 hashes and don’t publish then
> - DISCLAIMER exists
> - Year in NOTICE is not correct "2016 and onwards” isn’t valid as copyright 
> has an expiry date
> - NOTICE and LICENSE have a couple of minor issues (see below)
> - Several files look to have incorrect headers with copyright lines 
> [8][9][10] Are these actually 3rd party files?
> - No unexpected binary files
> - Failed to install, probably my set up. Would be nice to note python version 
> required and supported OS’s in INSTALL.
> 
> LICENSE is:
> - missing jQuery clock [3] and typeahead [4], as they are ALv2 it’s not 
> required to list them but it’s a good idea to do so.
> - missing the license for this [5]
> - this file [7] oddly has © 2016 GitHub, Inc.at the bottom of it
> 
> This files [1][2] seem to be 3rd party ALv2 licensed files that refers to a 
> NOTICE file, that information in that NOTICE file (at the very least the 
> copyright into) should be in your NOTICE file. This should also be noted in 
> LICENSE.
> 
> I also find it very odd that the GPL dependancy unidecode is opt out, rather 
> than opt in (ie the user has to do something to not get it) and that makes it 
> non optional IMO [6].  Can you explain why it was done this way and I’ll 
> consider changing my vote.
> 
> Thanks,
> Justin
> 
> 1. /airflow/security/utils.py
> 2. ./airflow/security/kerberos.py
> 3. ./airflow/www_rbac/static/jqClock.min.js
> 4. ./airflow/www/static/bootstrap3-typeahead.min.js
> 5. ./apache-airflow-1.10.0rc2+incubating/scripts/ci/flake8_diff.sh
> 6. https://www.apache.org/legal/resolved.html#optional
> 7. ./docs/license.rst
> 8. airflow/contrib/auth/backends/google_auth.py
> 9. /airflow/contrib/auth/backends/github_enterprise_auth.py
> 10. /airflow/contrib/hooks/ssh_hook.py
> 11. /airflow/minihivecluster.py
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org
> For additional commands, e-mail: general-h...@incubator.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org
For additional commands, e-mail: general-h...@incubator.apache.org

Reply via email to