-
Notifications
You must be signed in to change notification settings - Fork 14.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GPL dependencies #9898
Comments
Should we rise issues in those projects? |
I doubt the projects would be open to changing their licenses, but maybe worth opening an issue to ask. We likely need to look for ways to factor them out of the project.
|
Sure we should review those. I don't think there is anything to raise in those projects ... if they are using GPL licence, that's their choice. And it's not all black@white use/no use. But luckily we are perfectly covered and ASF tells us exactly what to do.
In light of the above:
I think we are good. |
Thanks @potiuk - i'll submit a documentation PR around this. |
Great idea @ryw ! I think by just discussing and documenting/reviewing it we might find some issues we were not aware of. For example I just double checked and I think we should not include "mysql" extra in the binary Docker image of ours. I just re-read the statement "Apache projects may not distribute Category X licensed components, be it in source or binary form; and be it in ASF source code or convenience binaries". The binary Docker image is a "convenience binary" and currently it does contain "mysql" extra as default -> thus the GPL libraries. So we should likely release a new image very soon (and possibly deprecate the old images). I wonder what others think? We can re-release the images again taking released "pypi" package and latest Dockerfiles. That is possible. WDYT? |
We will have to review all the docker dependencies too in that case https://github.com/apache/airflow/blob/master/Dockerfile#L94-L125 We might be good but we should probably start a thread with ASF to check how they treat docker type convenience binaries |
Unidecode has alternatives that use a different license model. |
@mik-laj : Unidecode is a transitive dependency of nvd3 -> slugify, so short of vendoring those in (which we did in the past) we cannot do much about it. But this one of the reasons why we do not have to do it because it actually uses text-unidecode which supports Artistic Licence. While the licence has been criticised in the past for being too vague (https://en.wikipedia.org/wiki/Artistic_License) unlike GPL, IMHO we should not have any problems with it. Here relevant fragment of pipdeptree:
|
@kaxil -> yep I am looking at it now and send an email to discuss at the devlist |
Hey @kaxil. I did a quick review of what we have in the image, and I believe we would not be able to release ANY image which would not contain GPL code :). Starting from Glibc which is LGPL and including those basic tools and libs:
So I really doubt we shoudl worry about binaries included in the Docker image :). I will open an issue with Infra and try to find the right person to talk to at ASF but I think it's not an issue at all. |
Yeah, I agree but also would like to understand more about how ASF treats Docker Images + Helm Chart in general in terms of licensing and releases. And if licensing is not the issue are we ok with using 3rd party docker images. Same for Helm Chart. Can you please send a link or just mention me where you open ticket, I am very much interested to learn more about this too :-) |
I found very similar ticket in ASF legal which is without clear answer for > year now. I commented on it and hope to get some answers and discussions - please add your concerns there as well - I think we should really get some clarification on this. (https://issues.apache.org/jira/browse/LEGAL-437?focusedCommentId=17165258&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-17165258) @kaxil -> I do not think this particular case is about the Helm Chart dependencies. This is quite a bit different story. For me, it's quite clear the images we have now (specifically Astronomer's images) have no GPL problem we discuss above . I am not worried about licence in this case - at least verbally we got confirmation that we can use it. As @mik-laj mentioned - without an official confirmation from Astronomer we simply cannot use those images because we cannot provide our users with capability of building the same binaries from the source code that we have no idea what licence covers them. But I am sure this could be easily solved by Astronomer explicitly adding licencing information in https://github.com/astronomer/ap-vendor/tree/master/statsd-exporter for example (it is currently missing). And there is no doubt it can be solved (and it must be solved this way or the other before we release charts). I think the case with chart images is more about making sure that we can deliver our customers the source code that they can rely on when they want to rebuild all the binary images. It took me basically a weekend to find out how to build and rebuild all the images just from the official images in DockerHub + sources. Result for this is here: #9650. The whole problem I raised is I think the ability to easily rebuild all the binaries for our users. Istrongly feel this is an important property of the ASF software - Binary images are just "convenience" packaging. I am specifically referring to this chapter from http://www.apache.org/legal/release-policy.html#what:
So lack of licencing in Helm chart has to be solved regardless (because we will not be able to release sources) but I think bringing the sources to "apache-airflow" controlled repos where it is not clear/easy/obvious how to build them and making it "easy" is what I am looking for in the Helm Chart dependency discussion. |
Note: do we rely on any of those out of the box without an alternative? Because that's what matters. The default configuration of Airflow should not depend on (L)GPL artifacts and Airflow shouldn't distribute them. We do not consider docker images to be releases of Airflow and as such they dont go through the same release process (we dont vote on them). So what is the real issue here? |
Thanks for mentioning me :) - Hopefully we will get some clarity over this issue. re: Helm Chart license - I wasn't specifically actually talking about Astronomer images but just wanted to get some clarity on how we treat Docker images + Helm chart i.e should they go through release process + all licensing :) |
Thanks @bolkedebruin for commenting. There are 2-3 separate issues we are talking about here.
|
@bolkedebruin -> there are three distinct problems here I think (started to write it in parallel to Kaxil but I think we have very close view on the scope of the questions we have). I renumbered my points to have the same numbers as Kaxil, and add my view/thinking for them.
|
@potiuk i agree on all accounts. As long as we don't stamp the docker images "official" we are not in a gray area. Also the dependencies mentioned for the docker images are either transient (apt, you can remove apt from the image) or optional (freetds). |
@bolkedebruin We are actually marking the Docker Images as "official Images" (in docs and different presentations) and hence we'd like some more clarity around that. (But they are official convenience packages - so I'd agree about GPL binaries being "ok" ) |
Closing this for now -- Since these are not in default requirements. We can reopen if needed |
We need to avoid GPL.
Snyk is reporting the following dependencies in our requirements.txt for python 3.6, 3.7, 3.8 are GPL v3:
I see some previous discussion + mitigation for
unidecode
but not all of these.The text was updated successfully, but these errors were encountered: