Release Retrospective to correct Apache MXNet source licenses in post MXNet 1.0 release.
Table of Contents |
---|
Problem Description
Links to email threads and github issues that record the existing issues during various voting periods -
- https://github.com/apache/incubator-mxnet/issues/8913
- Email from Henri Yandell
- Email from Justin McClean
- Results of Apache RAT have been attached to this wiki (These will be available via the Jenkins CI soon!)
Apache Licensing Policies
...
- PR to fix License headers in specific files
- PR to fix the top level LICENSE file
- PR to update the license_header.py file and add apache licenses where missing
Open Issues/Questions/Doubts/Concerns (Help Requested!)
- What all can be excluded from RAT checks? Currently the following -
these file types - *.xml ; *.css ; *.txt; *.md ; \..* ; *.ipynb ; *.html ; *.js ; *.json ; *.svg; *.config
Submodules - 3rdparty/* ; dmlc-core/* ; mshadow/* ; dmlc-core/* ; dlpack/* ; nnvm/* ; ps-lite/*
R-package since it is not released - R-package/*
src/operator/mkl/*
Ignore all Dockerfiles - docker/*; Dockerfile* ; docker_multiarch/*
perl-package/*
contrib/*
docs/*
- There are still 67 files with unknown licenses as per Apache RAT
No | Category | Problem | Source Files | Suggested by | Leads | Comments |
---|---|---|---|---|---|---|
1. | Source tree | * Move the various git submodules into third-party/ or similar so it's simpler to see what is Apache original source when we review a release. | submodules | Henri Yandell | Haibin Lin | |
2. |
|
|
|
| ||
3. |
|
|
| Henri Yandell | Meghna Baijal | PR Merged |
4. | Comments | * Comment added to CODEOWNERS to explain the file so we don't cause community problems | CODEOWNERS | Henri Yandell | Steffen Rochel | |
5. | LICENSE | * There was a suggestion to simplify the LICENSE to not explicitly list which packages are under each license. Something to consider. | LICENSE | Henri Yandell | Meghna Baijal | If this is done, it would resolve points 8-11 and 13-19 of this wiki |
LICENSE | * Update the Paths to license files once submodules are moved | LICENSE | Meghna Baijal | Haibin Lin | ||
Automated Check | * Update the license_header.py script instead of manual exclusions | tools/license_header.py | Meghna Baijal | Meghna Baijal | makefiles, | |
ISSUES IN SPECIFIC FILES | ||||||
6. | Specific Files | * Resolve License Header - if you follow the URL mentioned in the file it is unclear if the code came form that site or was written for the project by the author of that site. | example/image-classification/predict-cpp/image-classification-predict.cc | Justin McClean | ||
7. | Specific Files |
|
|
| Meghna Baijal | Possibly RAT got confused by the matching string. Does not need a fix. |
8. | Specific Files |
|
|
| Meghna Baijal | Submodule, not to be fixed as part of MXNet release |
9. | Specific Files | Justin McClean | Meghna Baijal | Removed details from LICENSE. Correctly added MIT license header and in LICENSE file in directory | ||
10. | Specific Files | Justin McClean | Meghna Baijal | Removed details from LICENSE. Correctly added MIT license header and in LICENSE file in directory | ||
11. | Specific Files | Justin McClean | Meghna Baijal | Removed details from LICENSE. Correctly added MIT license header and in LICENSE file in directory | ||
12. | Specific Files | * Missing License Header - is it Apache License? | perl-package/AI-NNVMCAPI/Makefile.PL | Justin McClean | ||
13. | Specific Files |
|
| Justin McClean | Add BSD to license. Packages not named in LICENSE anymore | |
14. | Specific Files |
|
| Justin McClean | Add BSD to license. Packages not named in LICENSE anymore | |
15. | Specific Files |
|
| Justin McClean | Meghna Baijal | |
16. | Specific Files | * Add to LICENSE - BSD license | example/ssd/dataset/pycocotools/coco.py | Justin McClean | ||
17. | Specific Files | * Add to LICENSE - 6 files are BSD licensed | example/rcnn/rcnn/pycocotools | Justin McClean | ||
18. | Specific Files | * Add to LICENSE - BSD license | dmlc-core/cmake/Modules/FindCrypto.cmake | Justin McClean | ||
19. | Specific Files | * Add to LICENSE - BSD license | cub/experimental/spmv_compare.cu | Justin McClean | Cub is added to LICENSE but is that a BSD license? | |
20. | Specific Files | * Incorrect License Header - Has ASF header but is it BSD | prepare_mkl.sh | Justin McClean | Does not say BSD, add? | |
21. | Specific Files | * Incorrect License Header - Has ASF header but is it BSD | src/operator/nn/im2col.h | Justin McClean | Created PR, in review | |
22. |
| * Incorrect License Header - Has ASF header but is it BSD |
| Justin McClean | First was fixed for 1.0.0 here - https://github.com/apache/incubator-mxnet/pull/9170 | |
23. | Specific Files | * Incorrect License Header - Has ASF header but is it BSD | src/operator/contrib/ctc_include/contrib/moderngpu/include/mgpuenums.h | Justin McClean | License seems to be correct. No ASF header. | |
24. | Specific Files | * Incorrect License Header - Has ASF header but is it BSD | example/ssd/dataset/pycocotools/coco.py | Justin McClean | Removed ASF header in PR | |
25. | Specific Files | * Incorrect License Header - Has ASF header but is it MIT | example/rcnn/rcnn/cython/setup.py | Justin McClean | Removed ASF Header in PR | |
26. | Specific Files | * Incorrect License Header - Has ASF header but is it MIT | example/rcnn/rcnn/cython/nms_kernel.cu | Justin McClean | Removed ASF Header in PR | |
27. |
|
|
| Justin McClean | Repeat | |
APACHE RAT CHECK FAILURES | ||||||
28. | RAT Failure | * Fix Submodules - RAT detected almost 2000 files with unknown licenses in submodules | Submodules (nnvm, dlpack, 3rdparty, ps-lite, mshadow) and R-package | Decision needed on how to handle submodule licenses | ||
29. | RAT Failure | * Check Docs - RAT detected almost 200 files with unknown licenses in the Docs directory | /docs | |||
30. | RAT Failure | * Fix dockerfiles without license headers | /docker | Meghna Baijal | ||
31. | RAT Failure | * Fix docker_multiarch - unknown license header | /docker_multiarch | |||
32. | RAT Failure | * Fix scala-package - unknown license | /scala-package | |||
33. | RAT Failure | * Fix tools | /tools | |||
34. | RAT Failure | * Fix tests | /tests | |||
35. | RAT Failure | * Fix examples | /examples | |||
36. | RAT Failure | * Check file types that can be ignored - .txt; .js, .md, .json, .yml, .*, | / | Meghna Baijal | ||
37. | RAT Failure | * Fix ctc_include | src/operator/contrib/ctc_include | |||