Dear MXNet community,

as per recent mail on gene...@incubator.apache.org [1] there are a number of
licensing issues in MXNet 1.6rc1. Based on anecdotal evidence I believe there
has been no release so far without any licensing issues, which is a blocker to
MXNet graduating from it's incubating status. One contributing factor is that we
bundle 3rdparty source code in our releases [2].

One key factor is that 3rdparty projects don't always enforce licensing best
practice in the way we do. For example, 3rdparty/ps-lite doesn't enforce license
headers in the source files and there has been confusion about the license of
recent contributions by ByteDance (See [1]).

To avoid such licensing issues in MXNet releases a simple solution is to stop
distributing the 3rdparty code in our source releases. Instead, we can adapt our
buildsystem to download 3rdparty code as part of the build configuration
process. CMake makes this very easy with the FetchContent module [3].

For development purpose involving changes to the 3rdparty source or build
systems that can't access the internet, there are easy means for specifying the
location of local sources (instead of downloading), via the
FETCHCONTENT_SOURCE_DIR_<someName> variable [4].

Would there be any concerns about such approach? Obviously it can only be fully
implemented as soon as the CMake build system is feature complete and the
Makefile build can be dropped. (Note that the Makefile build is being deprecated
and removed as part of MXNet 2 roadmap [5])

Best regards
Leonard

[1]: 
https://lists.apache.org/thread.html/rb83ff64bdac464df2f0cf2fe8fb4c6b9d3b8fa62b645763dc606045f%40%3Cgeneral.incubator.apache.org%3E
[2]: See the .tar.gz files at https://incubator.apache.org/clutch/mxnet.html
[3]: https://cmake.org/cmake/help/latest/module/FetchContent.html
[4]: https://cmake.org/pipermail/cmake/2019-June/069709.html
[5]: https://github.com/apache/incubator-mxnet/issues/16167

Reply via email to