You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 71 Next »

Release Retrospective to correct Apache MXNet source licenses in post MXNet 1.0 release.

A. Problem Description 

Links to email threads and github issues that record the existing issues during various voting periods - 

B. Apache Licensing Policies

C. Open Pull Requests to fix these Issues (Review help requested!)

D. Open Issues/Questions/Doubts/Concerns (Help Requested!)

Question 1: What all can be excluded from RAT checks? Currently the following are being excluded from the RAT checks. Is this ok ?

 

 Name of File/Folder Excluded from RAT CheckReason for IgnoringConcerns
1

These File Types: *.xml ; *.css ; *.txt; *.md ; \..* ; *.ipynb ; *.html ; *.js ; *.json ; *.svg; *.config; *.names; *.csv

  
2

Submodules - 3rdparty/* ; dmlc-core/* ; mshadow/* ; dmlc-core/* ; dlpack/* ; nnvm/* ; ps-lite/*

 None
3
R-package
Not a part of MXNet ReleaseNone
4

Ignore all Dockerfiles - docker/*; Dockerfile* ; docker_multiarch/*

Dockerfiles cant have license 
5
perl-package/*
 I am not entirely sure about licensing here. (Also see issue 12 in the last table below)I think I can add ASF header.  
6 contrib/* I am not entirely sure about licensing here. Is ASF header ok?
7 __init__.py files These files contain no text None
8 docs/* A header might affect website. Can someone verify its ok to add ASF without impacting the website
9 This file - src/operator/nn/pool.hIt was decided that this file should not have an Apache License and it was removed here - PR 9170None. But can be verified again.
10This file - src/operator/special_functions-inl.hIt was decided that this file should not have an Apache License and it was removed here - PR 9170None. But can be verified again.
11example/rcnn/rcnn/cython/*This is licensed under MIT but RAT doesnt pick that. ASF should not be addedShould MIT license text be added explicitly?
12This Dataset - example/gluon/tree_lstm/dataset.cPickleThis is a datasetNone. But can be verified again.
13This file - tools/coreml/pip_package/README.rstThis is a READMENone. But can be verified again.


Question 2: There are still 7 files with unknown licenses as per Apache RAT - SEE TABLE BELOW for this LIst

    1. This list assumes all 7 PRs listed above are approved and merged 
    2. This list assumes above excluded folders and formats are acceptable. 

      S.NoFile NameComments
      1. CODEOWNERS 
      2.appveyor.yml 
      3.readthedocs.yml 
      4.snap.python 
      5.snapcraft.yaml 
      6.python/mxnet/cython/base.pyi 
      7.tests/ci_build/pylintrc 

Question 3: Issue 6 in table below

This file has had some conflict - example/image-classification/predict-cpp/image-classification-predict.cc

(and one more)

Question 4: Issue 23 and Issue 37 in table below

This Folder needs to be reviewed - src/operator/contrib/ctc_include

Question 5: is it ok to include a necessary jar?

There exists one jar in the src code which is not easy to remove. is this ok to include? - tools/caffe_translator/gradle/wrapper/gradle-wrapper.jar 

 

E. More Details about the Issues & their Status

NoCategoryProblemSource FilesSuggested byLeadsComments
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.

Copyright

* Deal with the Copyright statements in perl-package (copyright holder has approved doing this)

perl-package

Henri Yandell

Henri YandellFixed by Henri in this PR -
https://github.com/apache/incubator-mxnet/pull/9191
3.

Formatting

* Lots of whitespace on end of NOTICE

NOTICE

Henri Yandell

Meghna Baijal
PR Merged
https://github.com/apache/incubator-mxnet/pull/9459
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
PR - https://github.com/apache/incubator-mxnet/pull/9484
 
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 BaijalMeghna Baijalmakefiles,
       
  
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

* Resolve License Header - This file has two license headers

tools/license_header.py

Justin McClean
Meghna Baijal
Possibly RAT got confused 
by the matching string. Does not need a fix.
8.
Specific 
Files

* Check LICENSE - Listed as Apache License in the LICENSE but is it MIT license?

nnvm/tvm/HalideIR/LICENSE

Justin McClean
Meghna BaijalSubmodule, not to be fixed as part of MXNet release
9.
Specific 
Files
* Check LICENSE - Listed as Apache License in the LICENSE but is it MIT license?example/rcnn/rcnn/cython/gpu_nms.pyx
Justin McClean
Meghna BaijalRemoved details from LICENSE. Correctly added MIT license header and in LICENSE file in directory
10.
Specific 
Files
* Check LICENSE - Listed as Apache License in the LICENSE but is it MIT license?example/rcnn/rcnn/cython/gpu_nms.pyx
Justin McClean
Meghna BaijalRemoved details from LICENSE. Correctly added MIT license header and in LICENSE file in directory
11.
Specific 
Files
* Check LICENSE - Listed as Apache License in the LICENSE but is it MIT license?example/rcnn/rcnn/cython/cpu_nms.pyx
Justin McClean
Meghna BaijalRemoved 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

* Add to LICENSE - BSD license

src/operator/contrib/ctc_include/contrib/moderngpu/include/mgpudevice.cuh

Justin McClean
 Add BSD to license. Packages not named in LICENSE anymore
14.
Specific 
Files

* Add to LICENSE - A dozen files here are BSD

src/operator/contrib/ctc_include/contrib/moderngpu/include/device/

Justin McClean
 Add BSD to license. Packages not named in LICENSE anymore
15.
Specific 
Files

* Add to LICENSE - BSD license

nnvm/tvm/dmlc-core/cmake/Modules/FindCrypto.cmake

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
 

Submodule, no edits

Packages not named in LICENSE anymore

19.
Specific 
Files

* Add to LICENSE - BSD license

cub/experimental/spmv_compare.cu

Justin McClean
 
Submodule, no edits

Packages not named in LICENSE anymore

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
src/operator/nn/im2col.cuh

Justin McClean
 
Created PR, in review 
https://github.com/apache/incubator-mxnet/pull/9462
22.

Specific

Files

* Incorrect License Header - Has ASF header but is it BSD

src/operator/contrib/nn/deformable_im2col.h
src/operator/contrib/nn/deformable_im2col.cuh

Justin McClean
 
First was fixed for 1.0.0 here - https://github.com/apache/incubator-mxnet/pull/9170
Second in PR review - https://github.com/apache/incubator-mxnet/pull/9462
 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
ADD BSD License text??

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
Add MIT license Text?

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
Add MIT license Text?
27.

Specific

Files

* Incorrect License Header - Has ASF header but is it MIT

example/rcnn/rcnn/cython/setup.py

Justin McClean
 
 Repeat
 Specific Files

Resolve License: should this file get an apache license? (RAT thinks so but why does the script skip it?)

src/operator/special_functions-inl.h

   
       
  
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
  Excluded for now
30.

RAT Failure

* Fix dockerfiles without license headers

/docker

 
Meghna Baijal
Added a top level License.md to this folder
31.

RAT Failure

* Fix docker_multiarch - unknown license header

/docker_multiarch

 Meghna BaijalAdded a top level License.md to this folder
32.

RAT Failure

* Fix scala-package - unknown license

/scala-package

   Added apache license
33.

RAT Failure

* Fix tools

/tools

   
34.

RAT Failure

* Fix tests

/tests

  All fixed except one `tests/ci_build/pylintrc`
35.

RAT Failure

* Fix examples

/examples

   
37.
RAT Failure
* Fix ctc_include
src/operator/contrib/ctc_include
   
  
 
    
 
 
 
    
       
       
       

 

 

  • No labels