-
Notifications
You must be signed in to change notification settings - Fork 6.8k
License issue with 1.6.0.rc1 #17329
Comments
@PatricZhao could you help with the "Copyright 2019 Intel Corporation” and 3 and 4 under mkldnn? Thanks |
@hzfan @reminisce @haojin2 Looks like we need to remove the ASF header if this file is directly copied from numpy, and add it to whitelist of the header check. |
@aaronmarkham any idea how to fix the font files in #2? Can we move it to s3 and download it when building the docs? |
I'd research the fonts' licenses, add the appropriate license references, and leave them where they are. Moving to s3 would just add to site latency, and we don't want that. |
@roywei The file includes modifications, such as It seems valid to re-license the file under Apache license given that the original license header is included. (Above link suggests this approach is not recommended though) If we choose not to relicense files with minor modifications, https://github.com/apache/incubator-mxnet/blob/master/cmake/Modules/FindCUDAToolkit.cmake also needs to be updated to remove the ASF header. |
I'll leave the authors to decide whether to add Apache license if it's modified by MXNet contributors. Either way, we also need to acknowledge the original License and CopyRight in the LICENSE file. |
@roywei thanks. When removing the ASF header from incubator-mxnet/cmake/Modules/FindCUDAToolkit.cmake, how to pass the RAT license check? There is no |
here it is: https://github.com/apache/incubator-mxnet/blob/master/tests/nightly/apache_rat_license_check/rat-excludes It's used by CI step here: https://github.com/apache/incubator-mxnet/blob/master/ci/docker/runtime_functions.sh#L1457 More reference and history: https://cwiki.apache.org/confluence/display/MXNET/MXNet+Source+Licenses |
@roywei Regarding [3], [4], do you think we need list the copyrights/license in MXNet top LICENSE file or ask MKL-DNN itself to change? I noticed that in the latest version of MKL-DNN, it already added MathJax copyrights/license to its LICENSE file. See https://github.com/intel/mkl-dnn/blob/master/LICENSE#L352 |
Hi @TaoLv , yes, the existing MathJax is for the docs file, we need to also include mkldnn part(add additional file path that use the same license). Basically for all newly added source files, if there is a different license or copyright statement (different than the Apache contributor copyright) we need to state in the top level license file clearly: which file used what license and what’s the copyright. So we also need to list all files or file paths that has intel copyright |
Hi @skylook , could you update your copyright on the file listed as No. 7 above? This file was contributed by you before MXNet was donated to Apache Software Foundation. This file only has your copyright, but there is no license. The Apache Software Foundation does not require individual copyright notice from contributors. If you choose to license this file under Apache-2.0, do you mind adding the license ? Thanks a lot! |
Now we have either created a PR to fix the above issues or contacted the original author to help with files we can't directly change. Next step is find a script to automatically find files with license/copyright issue. |
Note that the list from Justin is not an exhaustive one and we will still need to search for issues again by ourselves. |
There are multiple files with multiple headers and an automated tool that checks for multiple headers would have helped. In addition, the checks for these files (except 6) are currently ignored by the following rat-exclude rules:
It means that these rules should be revisited and we may find more issues hidden by these rules. |
Yes, agree we need a script and the exclude rules for rat-check need to be revisited. We should avoid bulk exclusion entire folder. Anything in the exclusion need to be manually checked for license and copyright compliance. It's quite tricky to translate the following rules to scripts. Right now I can think of the following rules. Any suggestion is welcome.
For 3rd party source files, it's more tricky and each dependency may come with files with several license and copy right. We may need to rely on some existing tools. |
Let's adopt the work-in-progress disclaimer as suggested by Justin, restart the vote once the disclaimer and the above known issues are updated, and continue to work on this. |
Now that mshadow is donated to mxnet, its license should be updated: https://github.com/apache/incubator-mxnet/blob/master/3rdparty/mshadow/LICENSE#L1 |
And the license in all the source files. Thanks @szha |
Also should update the following, unsure if these are being tracked elsewhere
|
@szha do you know if there's anyone working on updating mshadow license? I can update this part if it's still not started. |
@mjwall , |
Hi @szha @roywei @leezu @TaoLv , as almost all of the listed issues here were addressed. I tried to enhance the current license check tool to cover multiple license issue in PR #18478, please help to take a review.
Regarding 1 and 2, not sure it's covered by https://github.com/apache/incubator-mxnet/blob/v1.7.x/LICENSE#L475 or not, or do we need to update the header? Regarding 3 and 4, should we need to remove the ASF header and add them in top level license file similar to https://github.com/apache/incubator-mxnet/blob/v1.7.x/LICENSE#L389-L395 Regarding 5 and 6, based on the discussion here, I'm going to remove the ASF header and add them in top level license file, is it ok? What do you think? |
@ciyongch in general the following applies:
https://www.apache.org/legal/src-headers.html I would thus recommend to remove the ASF headers from the files that do not contain substantial modifications compared to their 3rd-party original. This will need to be checked for each file and can only happen with agreement of the code authors (see the respective git history who added and modified the files). Unfortunately I'm not sure what the "Major modifications/additions to third-party should be dealt with on a case-by-case basis by the PMC." process is. How do we handle the license headers in this situation? Regarding #17329 (comment): In that example I added small modifications to the third-party work and was happy to re-license it under the 3rd-party license after becoming aware of the ASF policy. For the examples in question here:
|
Thanks for your inputs and help to ping the original author @leezu! Regarding mx2onnx stuff, the following python/license files and claim in top level license file were added in the very first submit #11213 by @Roshrini . I'm wondering if it's ok to leave the following files (includes multiple license header) as is now as they're claimed in the top level license file. Any comments? @szha @TaoLv
|
Hi @zhreshold , @hzfan , can you help to have a check on the license header of the following files? Thanks.
|
@ciyongch The origin of modulated_deformable ops is from https://github.com/msracver/Deformable-ConvNets/blob/master/DCNv2_op/modulated_deformable_convolution-inl.h |
Thanks @zhreshold for the link.
So the above two files matches the term of Ping @hzfan to help clarify this:
|
@ciyongch The two files originate from https://github.com/numpy/numpy/blob/master/numpy/core/einsumfunc.py . I translated them from python to cpp. The original files are subject to the the following license: https://github.com/numpy/numpy/blob/master/LICENSE.txt |
Thanks @hzfan for the update :) Based on the inputs from @hzfan and @zhreshold , the following files are not minor modifications but major modification/addition compared to the origin version. Any suggestions for these files or just leave them as it is? @leezu @roywei @szha @TaoLv , thanks!
|
@ciyongch what are the requirements regarding modification from the original licenses of these source code? |
Hi @szha, for the two
Please check below details: MIT License NumPy Developers Copyright So the current multiple license header seems valid, what do you think? Thanks! |
relicensing them would require approval from copyright owners. Both the MIT license and the BSD 3-clause for numpy are in category A which we can include, so there shouldn't be a requirement for relicensing them. https://www.apache.org/legal/resolved.html#category-a |
I request a recommendation of the MXNet ASF Mentors for handling the "2 license headers" issue. According to the ASF policy, there should not be two license headers. But maybe it's fine in this case. Please see https://lists.apache.org/thread.html/r6d8f62b1ad34f6dbe109a01e715723e8996cd478a01a08498aa02a2e%40%3Cdev.mxnet.apache.org%3E |
what's the conclusion for this issue? |
Hi @szha, the way of handling dual license header was passed with lazy consensus, and I updated the related files based on the following conclusion.
For more details, please see https://lists.apache.org/thread.html/r6d8f62b1ad34f6dbe109a01e715723e8996cd478a01a08498aa02a2e%40%3Cdev.mxnet.apache.org%3E |
Thanks. I think most of the license issues have been addressed, and the open issue on pybind11 license is already tracked separately. Thanks for the efforts! |
Following are the license issue found by mentors during 1.6.0.rc1 vote @ general.
https://lists.apache.org/thread.html/rb83ff64bdac464df2f0cf2fe8fb4c6b9d3b8fa62b645763dc606045f%40%3Cgeneral.incubator.apache.org%3E
I'm compiling this list of issues so the community can help fix them.
How to fix them
Here is the guideline from Apache: https://www.apache.org/legal/src-headers.html
Note the copy right and license header requirements are different for 3rdparty files and mxnet source files.
More references on license issues:
https://www.apache.org/legal/resolved.html
The text was updated successfully, but these errors were encountered: